From 61b5f9863f14ab4fc9da504ca2b553a778eb2e2c Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期三, 24 一月 2024 15:10:32 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/HongRuiTang --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java | 101 ++++++++++++++++++++++++++++---------------------- 1 files changed, 57 insertions(+), 44 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 df34a6f..eb7cee9 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 @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.uuid.IdUtils; @@ -27,9 +28,11 @@ import com.ruoyi.system.api.domain.poji.goods.GoodsFile; import com.ruoyi.system.api.domain.poji.goods.ShopGoods; import com.ruoyi.system.api.domain.poji.member.Member; +import com.ruoyi.system.api.domain.poji.shop.Shop; import com.ruoyi.system.api.service.RemoteGoodsService; import com.ruoyi.system.api.service.RemoteMemberService; import com.ruoyi.system.api.service.RemoteShopService; +import io.seata.spring.annotation.GlobalTransactional; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -59,13 +62,16 @@ private RemoteMemberService remoteMemberService; @Resource - private RemoteShopService remoteShopService; - - @Resource private RemoteGoodsService remoteGoodsService; @Resource private ServiceRecordDetailService serviceRecordDetailService; + + @Resource + private RemoteShopService remoteShopService; + + + /** * 获取用户服务 @@ -111,16 +117,17 @@ ConsumerGoods consumerGoods; Integer serviceCount = 0; Integer cycleService = 0; - Integer cyclePerson = 0; + //Integer cyclePerson = 0; Integer serviceService = 0; - Integer servicePerson = 0; + //Integer servicePerson = 0; Integer experienceService = 0; - Integer experiencePerson = 0; + //Integer experiencePerson = 0; Goods goods; GoodsFile goodsFile; String consumerGoodsId; List<ConsumerGoods> consumerGoodsList = new ArrayList<>(); - MerMemberConsumerGoodsTotalVo memberConsumerGoodsTotalVo = this.getMemberConsumerGoodsTotalVo(merSureConsumerGoodsDto.getUserId(), merSureConsumerGoodsDto.getShopId()); + //获取用户各类型订单数 + //MerMemberConsumerGoodsTotalVo memberConsumerGoodsTotalVo = this.getMemberConsumerGoodsTotalVo(merSureConsumerGoodsDto.getUserId(), merSureConsumerGoodsDto.getShopId()); int sureNum = 0; for(MerSureConsumerGoodsListDto merSureConsumerGoodsListDto : merSureConsumerGoodsListDtoList){ goods = remoteGoodsService.getGoods(merSureConsumerGoodsListDto.getGoodsId()).getData(); @@ -167,6 +174,7 @@ } } } + //判断商品确认次数 if(sureNum>oldConsumerGoods.getSureNum()){ throw new ServiceException(AppErrorConstant.GOODS_SURE_FAILED); }else{ @@ -180,7 +188,7 @@ } this.saveBatch(consumerGoodsList); //判断是否加人 - if (cycleService > 0 && memberConsumerGoodsTotalVo.getCycleOrder() == 0) { + /*if (cycleService > 0 && memberConsumerGoodsTotalVo.getCycleOrder() == 0) { cyclePerson = 1; } if (serviceService > 0 && memberConsumerGoodsTotalVo.getServiceOrder() == 0) { @@ -188,7 +196,7 @@ } if (experienceService > 0 && memberConsumerGoodsTotalVo.getExperienceOrder() == 0) { experiencePerson = 1; - } + }*/ serviceCount = cycleService + serviceService + experienceService; //更新商户和会员服务统计 MemberTotalChangeDto memberTotalChangeDto = new MemberTotalChangeDto(); @@ -217,6 +225,7 @@ */ @Override @Transactional + @GlobalTransactional(rollbackFor = Exception.class) public void useMerConsumerGoods(MerSureConsumerGoodsDto merSureConsumerGoodsDto){ List<MerSureConsumerGoodsListDto> goodsList = merSureConsumerGoodsDto.getMerSureConsumerGoodsListDtoList(); if (goodsList != null && !goodsList.isEmpty()) { @@ -232,16 +241,16 @@ Integer serviceType = 1; Integer serviceCount = 0; Integer cycleService = 0; - Integer cyclePerson = 0; + //Integer cyclePerson = 0; Integer serviceService = 0; - Integer servicePerson = 0; + //Integer servicePerson = 0; Integer experienceService = 0; - Integer experiencePerson = 0; + //Integer experiencePerson = 0; //获取会员商品总数 List<ServiceRecordDetail> serviceRecordDetailList = new ArrayList<>(); ServiceRecordDetail serviceRecordDetail; - MerMemberConsumerGoodsTotalVo memberGoodsTotal = this.getMemberConsumerGoodsTotalVo(merSureConsumerGoodsDto.getMemberUserId(), merSureConsumerGoodsDto.getShopId()); List<String> consumerGoodsList = new ArrayList<>(); + List<Map<String, Object>> sendData = new ArrayList<>(); for (MerSureConsumerGoodsListDto goodsDto : goodsList) { consumerGoods = this.getById(goodsDto.getConsumerGoodsId()); serviceRecordDetail = new ServiceRecordDetail(); @@ -261,6 +270,15 @@ consumerGoods.setCompleteTime(new Date()); } this.saveOrUpdate(consumerGoods); + + int number = consumerGoods.getServiceNum() - consumerGoods.getUsedNum(); + if(number < 3){ + Map<String, Object> map = new HashMap<>(); + map.put("product", consumerGoods.getGoodsName()); + map.put("number", number); + sendData.add(map); + } + shopId = consumerGoods.getShopId(); userId = consumerGoods.getUserId(); serviceType = consumerGoods.getGoodsType(); @@ -300,17 +318,6 @@ } serviceRecordDetailList.add(serviceRecordDetail); } - - //判断是否减人 - if (cycleService > 0 && memberGoodsTotal.getCycleOrder() - cycleService < 1) { - cyclePerson = 1; - } - if (serviceService > 0 && memberGoodsTotal.getServiceOrder() - serviceService < 1) { - servicePerson = 1; - } - if (experienceService > 0 && memberGoodsTotal.getExperienceOrder() - experienceService < 1) { - experiencePerson = 1; - } serviceCount = cycleService + serviceService + experienceService; UserServiceRecord serviceRecord = new UserServiceRecord(); serviceRecord.setCreateTime(new Date()); @@ -321,6 +328,7 @@ serviceRecord.setConsumerGoodsIds(goodsIds); serviceRecord.setConsumerGoodsNames(goodsNames); userServiceRecordService.saveOrUpdate(serviceRecord); + //服务记录详情 for(ServiceRecordDetail serviceRecordDetail1 : serviceRecordDetailList){ serviceRecordDetail1.setRecordId(serviceRecord.getId()); } @@ -331,22 +339,27 @@ memberTotalChange.setTypeService(2); memberTotalChange.setServiceCount(serviceCount); remoteMemberService.changeMemberTotal(memberTotalChange); - /*ShopTotalChangeDto shopTotalChange = new ShopTotalChangeDto(); - shopTotalChange.setShopId(merSureConsumerGoodsDto.getShopId()); - shopTotalChange.setTypeCycleService(2); - shopTotalChange.setCycleService(cycleService); - shopTotalChange.setCyclePerson(cyclePerson); - shopTotalChange.setTypeServiceService(2); - shopTotalChange.setServiceService(serviceService); - shopTotalChange.setServicePerson(servicePerson); - shopTotalChange.setTypeExperienceService(2); - shopTotalChange.setExperienceService(experienceService); - shopTotalChange.setExperiencePerson(experiencePerson); - remoteShopService.changeShopTotal(shopTotalChange);*/ - if(!consumerGoodsList.isEmpty()){ + if(!sendData.isEmpty()){ Member member = remoteMemberService.getMember(userId).getData(); + R<Shop> r = remoteShopService.getShop(shopId); + if(r.getCode() != 200){ + throw new ServiceException(r.getMsg()); + } + Shop shop = r.getData(); try { - MsgUtils.sendMsg(member.getMobile(),null,null); + for (Map<String, Object> sendDatum : sendData) { + String product = sendDatum.get("product").toString(); + Integer number = Integer.valueOf(sendDatum.get("number").toString()); + String msg = "{\"name\":\"" + (StringUtils.isEmpty(member.getRealName()) ? member.getNickName() : member.getRealName()) + "\"," + + "\"store\":\"" + shop.getShopName() + "\",\"product\":\"" + product + "\"}"; + if(number == 2){ + MsgUtils.sendMsg(member.getMobile(),"SMS_464376210",msg); + } + if(number == 0){ + MsgUtils.sendMsg(member.getMobile(),"SMS_464321234",msg); + } + } + } catch (Exception e) { throw new RuntimeException(e); } @@ -463,14 +476,14 @@ public boolean saveBatchConsumerGoods(List<ConsumerGoods> consumerGoodsList){ Integer serviceCount = 0; Integer cycleService = 0; - Integer cyclePerson = 0; + //Integer cyclePerson = 0; Integer serviceService = 0; - Integer servicePerson = 0; + //Integer servicePerson = 0; Integer experienceService = 0; - Integer experiencePerson = 0; + //Integer experiencePerson = 0; Long shopId = consumerGoodsList.get(0).getShopId(); Long userId = consumerGoodsList.get(0).getUserId(); - MerMemberConsumerGoodsTotalVo memberConsumerGoodsTotalVo = this.getMemberConsumerGoodsTotalVo(userId, shopId); + //MerMemberConsumerGoodsTotalVo memberConsumerGoodsTotalVo = this.getMemberConsumerGoodsTotalVo(userId, shopId); for(ConsumerGoods consumerGoods : consumerGoodsList){ //处理商品服务次数 switch (consumerGoods.getGoodsType()) { @@ -494,7 +507,7 @@ } } //判断是否加人 - if (cycleService > 0 && memberConsumerGoodsTotalVo.getCycleOrder() == 0) { + /*if (cycleService > 0 && memberConsumerGoodsTotalVo.getCycleOrder() == 0) { cyclePerson = 1; } if (serviceService > 0 && memberConsumerGoodsTotalVo.getServiceOrder() == 0) { @@ -502,7 +515,7 @@ } if (experienceService > 0 && memberConsumerGoodsTotalVo.getExperienceOrder() == 0) { experiencePerson = 1; - } + }*/ serviceCount = cycleService + serviceService + experienceService; //更新商户和会员服务统计 MemberTotalChangeDto memberTotalChangeDto = new MemberTotalChangeDto(); -- Gitblit v1.7.1