主管理员 1 month ago
parent
commit
c3a3a300d7
12 changed files with 183 additions and 24 deletions
  1. +10
    -0
      jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/vo/AppletUser.java
  2. +4
    -3
      jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/controller/AppletApiLoginController.java
  3. +9
    -0
      jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/controller/AppletApiSubscribeController.java
  4. +2
    -0
      jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/AppletApiSubscribeService.java
  5. +10
    -3
      jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiLoginService.java
  6. +49
    -1
      jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiOrderServiceImpl.java
  7. +24
    -2
      jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiPromotionServiceImpl.java
  8. +36
    -0
      jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiSubscribeServiceImpl.java
  9. +8
    -0
      jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletProduct/entity/AppletProduct.java
  10. +7
    -0
      jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletSubscribeDetection/entity/AppletSubscribeDetection.java
  11. +9
    -4
      jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletWater/entity/AppletWater.java
  12. +15
    -11
      jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletproductspectype/controller/AppletproductspectypeController.java

+ 10
- 0
jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/vo/AppletUser.java View File

@ -83,6 +83,16 @@ public class AppletUser implements Serializable {
@Schema(description = "是否实名认证") @Schema(description = "是否实名认证")
private java.lang.String isCard; private java.lang.String isCard;
@Schema(description = "一级邀请人")
private String inviterOne;
@Schema(description = "二级邀请人")
private String inviterTwo;
@Schema(description = "当前佣金")
private BigDecimal commission;
@Schema(description = "总佣金")
private BigDecimal commissionTotal;
@TableField(exist = false) @TableField(exist = false)
@Schema(description = "姓名") @Schema(description = "姓名")


+ 4
- 3
jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/controller/AppletApiLoginController.java View File

@ -39,15 +39,16 @@ public class AppletApiLoginController {
@Operation(summary = "微信小程序登录", description = "通过微信code进行小程序登录") @Operation(summary = "微信小程序登录", description = "通过微信code进行小程序登录")
@IgnoreAuth @IgnoreAuth
public Result<Map<String, Object>> wxLogin( public Result<Map<String, Object>> wxLogin(
@Parameter(description = "微信登录code", required = true)
String code) {
@Parameter(description = "微信登录code", required = true) String code,
@Parameter(description = "微信登录code", required = true) String inviter
) {
if (StringUtils.isBlank(code)) { if (StringUtils.isBlank(code)) {
return Result.error("微信登录code不能为空"); return Result.error("微信登录code不能为空");
} }
log.info("收到小程序登录请求,code: {}", code); log.info("收到小程序登录请求,code: {}", code);
return appletApiLoginService.login(code);
return appletApiLoginService.login(code, inviter);
} }
/** /**


+ 9
- 0
jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/controller/AppletApiSubscribeController.java View File

@ -102,4 +102,13 @@ public class AppletApiSubscribeController {
appletApiSubscribeService.logistics(id, logisticsNo); appletApiSubscribeService.logistics(id, logisticsNo);
return Result.OK(); return Result.OK();
} }
/**
* 获取进度条以及进度
*/
@Operation(summary = "获取进度条以及进度", description = "获取进度条以及进度")
@GetMapping(value = "/progress")
public Result<List<Object>> progress(){
return Result.OK(appletApiSubscribeService.progress());
}
} }

+ 2
- 0
jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/AppletApiSubscribeService.java View File

@ -21,4 +21,6 @@ public interface AppletApiSubscribeService {
void cancel(String id); void cancel(String id);
void logistics(String id, String logisticsNo); void logistics(String id, String logisticsNo);
List<Object> progress();
} }

+ 10
- 3
jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiLoginService.java View File

@ -4,6 +4,7 @@ import com.alibaba.druid.sql.visitor.functions.Nil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.One; import org.apache.ibatis.annotations.One;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.constant.CommonConstant;
@ -54,7 +55,7 @@ public class AppletApiLoginService {
* @param code 微信登录code * @param code 微信登录code
* @return 登录结果 * @return 登录结果
*/ */
public Result<Map<String, Object>> login(String code) {
public Result<Map<String, Object>> login(String code, String inviter) {
try { try {
log.info("开始小程序登录,code: {}", code); log.info("开始小程序登录,code: {}", code);
@ -82,7 +83,7 @@ public class AppletApiLoginService {
log.info("微信登录成功,openid: {}", openid); log.info("微信登录成功,openid: {}", openid);
// 查找或创建用户 // 查找或创建用户
AppletUser appletUser = findOrCreateUser(openid, unionid);
AppletUser appletUser = findOrCreateUser(openid, unionid, inviter);
// 生成JWT token // 生成JWT token
String token = JwtUtil.sign(appletUser.getOpenid(), appletUser.getId()); String token = JwtUtil.sign(appletUser.getOpenid(), appletUser.getId());
@ -182,7 +183,7 @@ public class AppletApiLoginService {
* @param unionid 微信unionid * @param unionid 微信unionid
* @return 用户信息 * @return 用户信息
*/ */
private AppletUser findOrCreateUser(String openid, String unionid) {
private AppletUser findOrCreateUser(String openid, String unionid, String inviter) {
try { try {
// 根据openid查找用户 // 根据openid查找用户
AppletUser user = appletUserService.getByOpenid(openid); AppletUser user = appletUserService.getByOpenid(openid);
@ -194,6 +195,12 @@ public class AppletApiLoginService {
// user.setName("微信用户" + openid.substring(0, 8)); // user.setName("微信用户" + openid.substring(0, 8));
user.setCreateTime(new Date()); user.setCreateTime(new Date());
user.setCreateBy("system"); user.setCreateBy("system");
AppletUser byId = appletUserService.getById(inviter);
if (StringUtils.isNotEmpty(inviter) && byId != null){
user.setInviterOne(inviter);
user.setInviterTwo(byId.getInviterOne());
}
// TODO: 如果需要unionid字段需要在AppletUser实体类中添加该字段 // TODO: 如果需要unionid字段需要在AppletUser实体类中添加该字段
// user.setUnionid(unionid); // user.setUnionid(unionid);


+ 49
- 1
jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiOrderServiceImpl.java View File

@ -13,10 +13,12 @@ import org.jeecg.common.api.IAppletUserService;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.jeecg.common.exception.JeecgBootException; import org.jeecg.common.exception.JeecgBootException;
import org.jeecg.common.system.util.AppletUserUtil; import org.jeecg.common.system.util.AppletUserUtil;
import org.jeecg.common.system.vo.AppletUser;
import org.jeecg.modules.applet.bo.CreateOrderBo; import org.jeecg.modules.applet.bo.CreateOrderBo;
import org.jeecg.modules.applet.bo.CreateOrderItemBo; import org.jeecg.modules.applet.bo.CreateOrderItemBo;
import org.jeecg.modules.applet.service.AppletApiOrderService; import org.jeecg.modules.applet.service.AppletApiOrderService;
import org.jeecg.modules.demo.appletCar.service.IAppletCarService; import org.jeecg.modules.demo.appletCar.service.IAppletCarService;
import org.jeecg.modules.demo.appletConfig.service.IAppletConfigService;
import org.jeecg.modules.demo.appletOrder.entity.AppletOrder; import org.jeecg.modules.demo.appletOrder.entity.AppletOrder;
import org.jeecg.modules.demo.appletOrder.entity.AppletOrderProduct; import org.jeecg.modules.demo.appletOrder.entity.AppletOrderProduct;
import org.jeecg.modules.demo.appletOrder.service.IAppletOrderProductService; import org.jeecg.modules.demo.appletOrder.service.IAppletOrderProductService;
@ -35,6 +37,8 @@ import org.jeecg.modules.demo.appletShippingAddress.entity.AppletShippingAddress
import org.jeecg.modules.demo.appletShippingAddress.service.IAppletShippingAddressService; import org.jeecg.modules.demo.appletShippingAddress.service.IAppletShippingAddressService;
import org.jeecg.modules.demo.appletSubscribeDetection.entity.AppletSubscribeDetection; import org.jeecg.modules.demo.appletSubscribeDetection.entity.AppletSubscribeDetection;
import org.jeecg.modules.demo.appletSubscribeDetection.service.IAppletSubscribeDetectionService; import org.jeecg.modules.demo.appletSubscribeDetection.service.IAppletSubscribeDetectionService;
import org.jeecg.modules.demo.appletWater.entity.AppletWater;
import org.jeecg.modules.demo.appletWater.service.IAppletWaterService;
import org.jeecg.modules.pay.MpWxPayService; import org.jeecg.modules.pay.MpWxPayService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -86,6 +90,12 @@ public class AppletApiOrderServiceImpl implements AppletApiOrderService {
@Autowired @Autowired
private IAppletUserService appletUserService; private IAppletUserService appletUserService;
@Autowired
private IAppletConfigService appletConfigService;
@Autowired
private IAppletWaterService appletWaterService;
/** /**
* 订单列表查询 * 订单列表查询
* *
@ -366,6 +376,9 @@ public class AppletApiOrderServiceImpl implements AppletApiOrderService {
handleSpecialProducts(order.getId(), order); handleSpecialProducts(order.getId(), order);
// 处理分销
handleDistribution(order);
log.info("订单支付成功,订单ID: {}, payId: {}", order.getId(), outTradeNo); log.info("订单支付成功,订单ID: {}, payId: {}", order.getId(), outTradeNo);
} else { } else {
log.warn("订单状态异常,当前状态: {}, 订单ID: {}", order.getOrderStatus(), order.getId()); log.warn("订单状态异常,当前状态: {}, 订单ID: {}", order.getOrderStatus(), order.getId());
@ -425,6 +438,42 @@ public class AppletApiOrderServiceImpl implements AppletApiOrderService {
} }
} }
public void handleDistribution(AppletOrder order){
AppletUser user = appletUserService.getById(order.getUserId());//下单的用户
AppletUser inviterOne = appletUserService.getById(user.getInviterOne());//一级邀请人
AppletUser inviterTwo = appletUserService.getById(user.getInviterTwo());//二级邀请人
handleDistributionGiven(inviterOne, order.getOrderAmount(), order, "commission_one");
handleDistributionGiven(inviterTwo, order.getOrderAmount(), order, "commission_two");
}
public void handleDistributionGiven(AppletUser inviter, BigDecimal orderAmount, AppletOrder order, String code){
String content = appletConfigService.getContentByCode(code);
if (StringUtils.isEmpty(content)) {
return;
}
BigDecimal decimal = new BigDecimal(content);
orderAmount = orderAmount.multiply(decimal);
if (inviter != null) {
BigDecimal commission = inviter.getCommission() == null ? BigDecimal.ZERO : inviter.getCommission();
inviter.setCommission(commission.add(orderAmount));
appletUserService.updateById(inviter);
AppletWater water = new AppletWater();
water.setUserId(inviter.getId());
water.setFromId(order.getUserId());
water.setPrice(orderAmount);
water.setOrderId(order.getId());
water.setType("1");
water.setCreateTime(new Date());
water.setOldMoney(commission);
water.setTitle("佣金");
appletWaterService.save(water);
}
}
/** /**
* 生成订单号 * 生成订单号
* @return 订单号 * @return 订单号
@ -587,7 +636,6 @@ public class AppletApiOrderServiceImpl implements AppletApiOrderService {
.orderByDesc(AppletOrderEvaluate::getCreateTime) .orderByDesc(AppletOrderEvaluate::getCreateTime)
.page(page); .page(page);
for (AppletOrderEvaluate evaluate : list.getRecords()) { for (AppletOrderEvaluate evaluate : list.getRecords()) {
evaluate.setUser(appletUserService.getById(evaluate.getUserId())); evaluate.setUser(appletUserService.getById(evaluate.getUserId()));
} }


+ 24
- 2
jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiPromotionServiceImpl.java View File

@ -4,6 +4,8 @@ import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.common.api.IAppletUserService;
import org.jeecg.common.system.util.AppletUserUtil; import org.jeecg.common.system.util.AppletUserUtil;
import org.jeecg.common.system.vo.AppletUser; import org.jeecg.common.system.vo.AppletUser;
import org.jeecg.common.util.oss.OssBootUtil; import org.jeecg.common.util.oss.OssBootUtil;
@ -11,6 +13,7 @@ import org.jeecg.modules.applet.service.AppletApiPromotionService;
import org.jeecg.modules.common.wxUtils.WxHttpUtils; import org.jeecg.modules.common.wxUtils.WxHttpUtils;
import org.jeecg.modules.demo.appletConfig.service.IAppletConfigService; import org.jeecg.modules.demo.appletConfig.service.IAppletConfigService;
import org.jeecg.modules.demo.appletWater.entity.AppletWater; import org.jeecg.modules.demo.appletWater.entity.AppletWater;
import org.jeecg.modules.demo.appletWater.service.IAppletWaterService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity; import org.springframework.http.HttpEntity;
import org.springframework.http.HttpMethod; import org.springframework.http.HttpMethod;
@ -42,6 +45,10 @@ public class AppletApiPromotionServiceImpl implements AppletApiPromotionService
@Autowired @Autowired
private IAppletConfigService appletConfigService; private IAppletConfigService appletConfigService;
@Autowired
private IAppletUserService appletUserService;
@Autowired
private IAppletWaterService appletWaterService;
@Autowired @Autowired
private WxHttpUtils wxHttpUtils; private WxHttpUtils wxHttpUtils;
@ -138,12 +145,27 @@ public class AppletApiPromotionServiceImpl implements AppletApiPromotionService
@Override @Override
public IPage<AppletUser> getTeam(Page<AppletUser> page, String name) { public IPage<AppletUser> getTeam(Page<AppletUser> page, String name) {
return null;
AppletUser user = AppletUserUtil.getCurrentAppletUser();
return appletUserService.lambdaQuery()
.and(e -> {
e.eq(AppletUser::getInviterOne, user.getId())
.or()
.eq(AppletUser::getPhone, user.getId());
})
.like(StringUtils.isNotEmpty(name), AppletUser::getName, name)
.page(page);
} }
@Override @Override
public IPage<AppletWater> getWater(Page<AppletWater> waterPage) { public IPage<AppletWater> getWater(Page<AppletWater> waterPage) {
return null;
AppletUser user = AppletUserUtil.getCurrentAppletUser();
Page<AppletWater> page = appletWaterService.lambdaQuery()
.eq(AppletWater::getUserId, user.getId())
.eq(AppletWater::getType, "1")
.page(waterPage);
return page;
} }
/** /**


+ 36
- 0
jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiSubscribeServiceImpl.java View File

@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.jeecg.common.exception.JeecgBootException; import org.jeecg.common.exception.JeecgBootException;
import org.jeecg.common.system.util.AppletUserUtil;
import org.jeecg.modules.applet.service.AppletApiSubscribeService; import org.jeecg.modules.applet.service.AppletApiSubscribeService;
import org.jeecg.modules.demo.appletConfig.service.IAppletConfigService;
import org.jeecg.modules.demo.appletHospital.entity.AppletHospital; import org.jeecg.modules.demo.appletHospital.entity.AppletHospital;
import org.jeecg.modules.demo.appletHospital.service.IAppletHospitalService; import org.jeecg.modules.demo.appletHospital.service.IAppletHospitalService;
import org.jeecg.modules.demo.appletOrder.service.IAppletOrderProductService; import org.jeecg.modules.demo.appletOrder.service.IAppletOrderProductService;
@ -15,6 +17,9 @@ import org.jeecg.modules.demo.appletSubscribeDetection.service.IAppletSubscribeD
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List; import java.util.List;
@Service @Service
@ -32,6 +37,9 @@ public class AppletApiSubscribeServiceImpl implements AppletApiSubscribeService
@Autowired @Autowired
private IAppletOrderProductService appletOrderProductService; private IAppletOrderProductService appletOrderProductService;
@Autowired
private IAppletConfigService appletConfigService;
@Override @Override
public IPage<AppletSubscribeDetection> getAppletSubscribeDetection(Integer pageNo, Integer pageSize, String type) { public IPage<AppletSubscribeDetection> getAppletSubscribeDetection(Integer pageNo, Integer pageSize, String type) {
@ -117,5 +125,33 @@ public class AppletApiSubscribeServiceImpl implements AppletApiSubscribeService
appletSubscribeDetectionService.updateById(detection); appletSubscribeDetectionService.updateById(detection);
} }
@Override
public List<Object> progress() {
String userId = AppletUserUtil.getCurrentAppletUserId();
ArrayList<Object> list = new ArrayList<>();
AppletSubscribeDetection one = appletSubscribeDetectionService
.lambdaQuery()
.eq(AppletSubscribeDetection::getUserId, userId)
.orderByDesc(AppletSubscribeDetection::getCreateTime)
.select(AppletSubscribeDetection::getStatus,
AppletSubscribeDetection::getCreateTime,
AppletSubscribeDetection::getUpdateTime,
AppletSubscribeDetection::getId)
.last("limit 1")
.one();
if (one != null){
String contentByCode = appletConfigService.getContentByCode("applet_subscribe_detection_progress");
if (StringUtils.isNotEmpty(contentByCode)){
one.setProgress(Arrays.asList(contentByCode.split(",")));
}
list.add(one);
}
return list;
}
} }

+ 8
- 0
jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletProduct/entity/AppletProduct.java View File

@ -115,6 +115,14 @@ public class AppletProduct implements Serializable {
@Excel(name = "服务", width = 15) @Excel(name = "服务", width = 15)
@Schema(description = "服务") @Schema(description = "服务")
private java.lang.String service; private java.lang.String service;
/**品类*/
@Excel(name = "品类", width = 15)
@Schema(description = "品类")
private java.lang.String category;
/**推荐图片*/
@Excel(name = "推荐图片", width = 15)
@Schema(description = "推荐图片")
private java.lang.String recommendedAnswersImage;
/**合作医院*/ /**合作医院*/
@Excel(name = "合作医院", width = 15, dictTable = "applet_hospital", dicText = "name", dicCode = "id") @Excel(name = "合作医院", width = 15, dictTable = "applet_hospital", dicText = "name", dicCode = "id")
@Dict(dictTable = "applet_hospital", dicText = "name", dicCode = "id") @Dict(dictTable = "applet_hospital", dicText = "name", dicCode = "id")


+ 7
- 0
jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletSubscribeDetection/entity/AppletSubscribeDetection.java View File

@ -4,10 +4,12 @@ import java.io.Serializable;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.util.Date; import java.util.Date;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import lombok.*; import lombok.*;
import org.jeecg.common.constant.ProvinceCityArea; import org.jeecg.common.constant.ProvinceCityArea;
import org.jeecg.common.system.vo.DictModel;
import org.jeecg.common.util.SpringContextUtils; import org.jeecg.common.util.SpringContextUtils;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import org.jeecg.modules.demo.appletOrder.entity.AppletOrderProduct; import org.jeecg.modules.demo.appletOrder.entity.AppletOrderProduct;
@ -145,6 +147,11 @@ public class AppletSubscribeDetection implements Serializable {
@Schema(description = "回寄物流单号") @Schema(description = "回寄物流单号")
private java.lang.String logisticsNo; private java.lang.String logisticsNo;
@Schema(description = "检查报告PDF")
private String inspectionReport;
@TableField(exist = false) @TableField(exist = false)
private AppletOrderProduct orderProduct; private AppletOrderProduct orderProduct;
private List<String> progress;
} }

+ 9
- 4
jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletWater/entity/AppletWater.java View File

@ -72,12 +72,17 @@ public class AppletWater implements Serializable {
@Excel(name = "原钱包金额", width = 15) @Excel(name = "原钱包金额", width = 15)
@Schema(description = "原钱包金额") @Schema(description = "原钱包金额")
private java.math.BigDecimal oldMoney; private java.math.BigDecimal oldMoney;
/**来源用户*/ /**来源用户*/
@Excel(name = "来源用户", width = 15) @Excel(name = "来源用户", width = 15)
@Schema(description = "来源用户") @Schema(description = "来源用户")
private java.lang.String fromId; private java.lang.String fromId;
/**佣金*/
@Excel(name = "佣金", width = 15,replace = {"是_Y","否_N"} )
@Schema(description = "佣金")
private java.lang.String isCommission;
@Excel(name = "类型")
@Schema(description = "类型 0购物 1佣金 2提现")
private java.lang.String type;
@Excel(name = "标题")
@Schema(description = "标题")
private java.lang.String title;
} }

+ 15
- 11
jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletproductspectype/controller/AppletproductspectypeController.java View File

@ -94,7 +94,7 @@ public class AppletproductspectypeController extends JeecgController<Appletprodu
@Operation(summary="小程序产品规格类型-添加") @Operation(summary="小程序产品规格类型-添加")
// @RequiresPermissions("appletproductspectype:appletproductspectype:add") // @RequiresPermissions("appletproductspectype:appletproductspectype:add")
@PostMapping(value = "/add") @PostMapping(value = "/add")
public Result<String> add(@RequestBody Appletproductspectype appletproductspectype) {
public Result<String> add(Appletproductspectype appletproductspectype) {
// 参数校验产品ID类型必填并约束二级分类的父子关系 // 参数校验产品ID类型必填并约束二级分类的父子关系
if (oConvertUtils.isEmpty(appletproductspectype.getProductId()) || oConvertUtils.isEmpty(appletproductspectype.getType())) { if (oConvertUtils.isEmpty(appletproductspectype.getProductId()) || oConvertUtils.isEmpty(appletproductspectype.getType())) {
return Result.error("缺少产品ID或类型"); return Result.error("缺少产品ID或类型");
@ -112,7 +112,9 @@ public class AppletproductspectypeController extends JeecgController<Appletprodu
return Result.error("规格项必须关联父规格类型"); return Result.error("规格项必须关联父规格类型");
} }
QueryWrapper<Appletproductspectype> parentQuery = new QueryWrapper<>(); QueryWrapper<Appletproductspectype> parentQuery = new QueryWrapper<>();
parentQuery.eq("id", pid).eq("product_id", appletproductspectype.getProductId()).eq("type", "0");
parentQuery.lambda().eq(Appletproductspectype::getId, pid)
.eq(Appletproductspectype::getProductId, appletproductspectype.getProductId())
.eq(Appletproductspectype::getType, "0");
Appletproductspectype parentType = appletproductspectypeService.getOne(parentQuery); Appletproductspectype parentType = appletproductspectypeService.getOne(parentQuery);
if (parentType == null) { if (parentType == null) {
return Result.error("父规格类型不存在或不匹配该产品"); return Result.error("父规格类型不存在或不匹配该产品");
@ -133,7 +135,7 @@ public class AppletproductspectypeController extends JeecgController<Appletprodu
@Operation(summary="小程序产品规格类型-编辑") @Operation(summary="小程序产品规格类型-编辑")
// @RequiresPermissions("appletproductspectype:appletproductspectype:edit") // @RequiresPermissions("appletproductspectype:appletproductspectype:edit")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> edit(@RequestBody Appletproductspectype appletproductspectype) {
public Result<String> edit(Appletproductspectype appletproductspectype) {
if (oConvertUtils.isEmpty(appletproductspectype.getId())) { if (oConvertUtils.isEmpty(appletproductspectype.getId())) {
return Result.error("缺少ID"); return Result.error("缺少ID");
} }
@ -163,7 +165,9 @@ public class AppletproductspectypeController extends JeecgController<Appletprodu
return Result.error("规格项必须关联父规格类型"); return Result.error("规格项必须关联父规格类型");
} }
QueryWrapper<Appletproductspectype> parentQuery = new QueryWrapper<>(); QueryWrapper<Appletproductspectype> parentQuery = new QueryWrapper<>();
parentQuery.eq("id", pid).eq("product_id", appletproductspectype.getProductId()).eq("type", "0");
parentQuery.lambda().eq(Appletproductspectype::getId, pid)
.eq(Appletproductspectype::getProductId, appletproductspectype.getProductId())
.eq(Appletproductspectype::getType, "0");
Appletproductspectype parentType = appletproductspectypeService.getOne(parentQuery); Appletproductspectype parentType = appletproductspectypeService.getOne(parentQuery);
if (parentType == null) { if (parentType == null) {
return Result.error("父规格类型不存在或不匹配该产品"); return Result.error("父规格类型不存在或不匹配该产品");
@ -201,7 +205,7 @@ public class AppletproductspectypeController extends JeecgController<Appletprodu
if ("0".equals(entity.getType())) { if ("0".equals(entity.getType())) {
// 如果是规格类型需要检查其下的所有规格项 // 如果是规格类型需要检查其下的所有规格项
QueryWrapper<Appletproductspectype> childQuery = new QueryWrapper<>(); QueryWrapper<Appletproductspectype> childQuery = new QueryWrapper<>();
childQuery.eq("pid", id);
childQuery.lambda().eq(Appletproductspectype::getPid, id);
List<Appletproductspectype> childItems = appletproductspectypeService.list(childQuery); List<Appletproductspectype> childItems = appletproductspectypeService.list(childQuery);
for (Appletproductspectype item : childItems) { for (Appletproductspectype item : childItems) {
if (appletProductSpecService.hasOnShelfAssociatedSpecs(productId, item.getTitle())) { if (appletProductSpecService.hasOnShelfAssociatedSpecs(productId, item.getTitle())) {
@ -232,7 +236,7 @@ public class AppletproductspectypeController extends JeecgController<Appletprodu
Appletproductspectype entity = appletproductspectypeService.getById(id); Appletproductspectype entity = appletproductspectypeService.getById(id);
if (entity != null && "0".equals(entity.getType())) { if (entity != null && "0".equals(entity.getType())) {
QueryWrapper<Appletproductspectype> childQuery = new QueryWrapper<>(); QueryWrapper<Appletproductspectype> childQuery = new QueryWrapper<>();
childQuery.eq("pid", id);
childQuery.lambda().eq(Appletproductspectype::getPid, id);
appletproductspectypeService.remove(childQuery); appletproductspectypeService.remove(childQuery);
} }
} }
@ -268,8 +272,8 @@ public class AppletproductspectypeController extends JeecgController<Appletprodu
public Result<Map<String, Object>> queryByProductId(@RequestParam(name="productId",required=true) String productId) { public Result<Map<String, Object>> queryByProductId(@RequestParam(name="productId",required=true) String productId) {
try { try {
QueryWrapper<Appletproductspectype> queryWrapper = new QueryWrapper<>(); QueryWrapper<Appletproductspectype> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("product_id", productId);
queryWrapper.orderByAsc("type", "create_time");
queryWrapper.lambda().eq(Appletproductspectype::getProductId, productId)
.orderByAsc(Appletproductspectype::getType, Appletproductspectype::getCreateTime);
List<Appletproductspectype> allSpecs = appletproductspectypeService.list(queryWrapper); List<Appletproductspectype> allSpecs = appletproductspectypeService.list(queryWrapper);
@ -305,8 +309,8 @@ public class AppletproductspectypeController extends JeecgController<Appletprodu
try { try {
// 查询该产品的所有规格类型和规格项 // 查询该产品的所有规格类型和规格项
QueryWrapper<Appletproductspectype> queryWrapper = new QueryWrapper<>(); QueryWrapper<Appletproductspectype> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("product_id", productId);
queryWrapper.orderByAsc("type", "create_time");
queryWrapper.lambda().eq(Appletproductspectype::getProductId, productId)
.orderByAsc(Appletproductspectype::getType, Appletproductspectype::getCreateTime);
List<Appletproductspectype> allSpecs = appletproductspectypeService.list(queryWrapper); List<Appletproductspectype> allSpecs = appletproductspectypeService.list(queryWrapper);
@ -316,7 +320,7 @@ public class AppletproductspectypeController extends JeecgController<Appletprodu
// 获取所有已存在的规格实体用于后续清理 // 获取所有已存在的规格实体用于后续清理
QueryWrapper<AppletProductSpec> allExistingSpecsQuery = new QueryWrapper<>(); QueryWrapper<AppletProductSpec> allExistingSpecsQuery = new QueryWrapper<>();
allExistingSpecsQuery.eq("product_id", productId);
allExistingSpecsQuery.lambda().eq(AppletProductSpec::getProductId, productId);
List<AppletProductSpec> allExistingSpecs = appletProductSpecService.list(allExistingSpecsQuery); List<AppletProductSpec> allExistingSpecs = appletProductSpecService.list(allExistingSpecsQuery);
// 用于存储新生成的规格名称以便与现有规格进行比较 // 用于存储新生成的规格名称以便与现有规格进行比较


Loading…
Cancel
Save