From beeda8df0023376dbb2021148a021731dc4aedb0 Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期日, 06 八月 2023 11:29:10 +0800 Subject: [PATCH] Merge branch 'master' of ssh://sinata.cn:20202/java/HongRuiTang into master --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java | 56 ++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 38 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..c6c6203 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; /** * 获取用户服务 @@ -137,6 +142,7 @@ consumerGoods.setUsedNum(0); consumerGoods.setCreateTime(new Date()); consumerGoods.setGoodsType(goods.getGoodsType()); + consumerGoods.setGoodsTag(goods.getGoodsTags()); consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction()); consumerGoods.setGoodsPicture(goodsFile.getFileUrl()); consumerGoods.setGoodsNurses(goods.getGoodsNurses()); @@ -213,7 +219,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 +237,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 +288,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 +315,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()); @@ -402,6 +421,7 @@ consumerGoods.setUsedNum(0); consumerGoods.setCreateTime(new Date()); consumerGoods.setGoodsType(goods.getGoodsType()); + consumerGoods.setGoodsTag(goods.getGoodsTags()); consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction()); consumerGoods.setGoodsPicture(goodsFile.getFileUrl()); consumerGoods.setGoodsNurses(goods.getGoodsNurses()); -- Gitblit v1.7.1