From bb58e108a9da48d84b84d30b73c01106dd642550 Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期三, 02 八月 2023 19:58:49 +0800 Subject: [PATCH] bug --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java | 54 ++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 36 insertions(+), 18 deletions(-) diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java index 40e2f7e..58c6aa5 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java @@ -8,6 +8,7 @@ import com.ruoyi.common.core.utils.uuid.IdUtils; import com.ruoyi.order.domain.dto.*; import com.ruoyi.order.domain.pojo.order.ConsumerGoods; +import com.ruoyi.order.domain.pojo.order.ServiceRecordDetail; import com.ruoyi.order.domain.pojo.order.UserServiceRecord; import com.ruoyi.order.domain.vo.AppConsumerPageVo; import com.ruoyi.order.domain.vo.MerConsumerGoodsListVo; @@ -15,6 +16,7 @@ import com.ruoyi.order.domain.vo.MerMemberConsumerGoodsTotalVo; import com.ruoyi.order.mapper.order.ConsumerGoodsMapper; import com.ruoyi.order.service.order.ConsumerGoodsService; +import com.ruoyi.order.service.order.ServiceRecordDetailService; import com.ruoyi.order.service.order.UserServiceRecordService; import com.ruoyi.system.api.constant.AppErrorConstant; import com.ruoyi.system.api.domain.dto.AppShopGoodsGetDto; @@ -60,6 +62,9 @@ @Resource private RemoteGoodsService remoteGoodsService; + + @Resource + private ServiceRecordDetailService serviceRecordDetailService; /** * 获取用户服务 @@ -213,7 +218,7 @@ public void useMerConsumerGoods(MerSureConsumerGoodsDto merSureConsumerGoodsDto){ List<MerSureConsumerGoodsListDto> goodsList = merSureConsumerGoodsDto.getMerSureConsumerGoodsListDtoList(); if (goodsList != null && !goodsList.isEmpty()) { - ConsumerGoods goods; + ConsumerGoods consumerGoods; Integer serviceNum; Integer usedNum; Integer useNum; @@ -231,42 +236,45 @@ Integer experienceService = 0; Integer experiencePerson = 0; //获取会员商品总数 + List<ServiceRecordDetail> serviceRecordDetailList = new ArrayList<>(); + ServiceRecordDetail serviceRecordDetail; MerMemberConsumerGoodsTotalVo memberGoodsTotal = this.getMemberConsumerGoodsTotalVo(merSureConsumerGoodsDto.getMemberUserId(), merSureConsumerGoodsDto.getShopId()); for (MerSureConsumerGoodsListDto goodsDto : goodsList) { - goods = this.getById(goodsDto.getConsumerGoodsId()); - serviceNum = goods.getServiceNum(); - usedNum = goods.getUsedNum(); + consumerGoods = this.getById(goodsDto.getConsumerGoodsId()); + serviceRecordDetail = new ServiceRecordDetail(); + serviceNum = consumerGoods.getServiceNum(); + usedNum = consumerGoods.getUsedNum(); surplusNum = serviceNum - usedNum; useNum = goodsDto.getServiceNum(); //判断使用数量是否超过剩余数量 if (useNum > surplusNum) { throw new ServiceException(AppErrorConstant.BEYOND_SURP_NUM); } - goods.setUsedNum(usedNum + useNum); - goods.setUseTime(new Date()); + consumerGoods.setUsedNum(usedNum + useNum); + consumerGoods.setUseTime(new Date()); //判断商品是否已使用完 - if (goods.getUsedNum().equals(serviceNum)) { - goods.setServiceStatus(2); - goods.setCompleteTime(new Date()); + if (consumerGoods.getUsedNum().equals(serviceNum)) { + consumerGoods.setServiceStatus(2); + consumerGoods.setCompleteTime(new Date()); } - this.saveOrUpdate(goods); - shopId = goods.getShopId(); - userId = goods.getUserId(); - serviceType = goods.getGoodsType(); + this.saveOrUpdate(consumerGoods); + shopId = consumerGoods.getShopId(); + userId = consumerGoods.getUserId(); + serviceType = consumerGoods.getGoodsType(); //拼接商品ID if (StringUtils.isBlank(goodsIds)) { - goodsIds = goods.getConsumerGoodsId(); + goodsIds = consumerGoods.getConsumerGoodsId(); } else { - goodsIds = goodsIds + "," + goods.getConsumerGoodsId(); + goodsIds = goodsIds + "," + consumerGoods.getConsumerGoodsId(); } //拼接商品名称 if (StringUtils.isBlank(goodsNames)) { - goodsNames = goods.getGoodsName(); + goodsNames = consumerGoods.getGoodsName(); } else { - goodsNames = goodsNames + "、" + goods.getGoodsName(); + goodsNames = goodsNames + "、" + consumerGoods.getGoodsName(); } //处理商品服务次数 - switch (goods.getGoodsType()) { + switch (consumerGoods.getGoodsType()) { case 1: cycleService = cycleService + useNum; break; @@ -279,6 +287,12 @@ default: break; } + serviceRecordDetail.setDelFlag(0); + serviceRecordDetail.setConsumerGoodsId(consumerGoods.getConsumerGoodsId()); + serviceRecordDetail.setConsumerGoodsName(consumerGoods.getGoodsName()); + serviceRecordDetail.setServiceNum(consumerGoods.getServiceNum()); + serviceRecordDetail.setSurpNum(consumerGoods.getServiceNum()-consumerGoods.getUsedNum()); + serviceRecordDetailList.add(serviceRecordDetail); } //判断是否减人 if (cycleService > 0 && memberGoodsTotal.getCycleOrder() - cycleService < 1) { @@ -300,6 +314,10 @@ serviceRecord.setConsumerGoodsIds(goodsIds); serviceRecord.setConsumerGoodsNames(goodsNames); userServiceRecordService.saveOrUpdate(serviceRecord); + for(ServiceRecordDetail serviceRecordDetail1 : serviceRecordDetailList){ + serviceRecordDetail1.setRecordId(serviceRecord.getId()); + } + serviceRecordDetailService.saveBatch(serviceRecordDetailList); //更新商户和会员服务统计 MemberTotalChangeDto memberTotalChange = new MemberTotalChangeDto(); memberTotalChange.setUserId(merSureConsumerGoodsDto.getMemberUserId()); -- Gitblit v1.7.1