From 51527a6e817a6ba73b29b07e94a7e879a86f8eaf Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期三, 06 三月 2024 16:29:08 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java | 136 +++++++++++++++++---------------------------
1 files changed, 53 insertions(+), 83 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 c6c6203..24cbbef 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;
@@ -18,17 +19,20 @@
import com.ruoyi.order.service.order.ConsumerGoodsService;
import com.ruoyi.order.service.order.ServiceRecordDetailService;
import com.ruoyi.order.service.order.UserServiceRecordService;
+import com.ruoyi.order.util.MsgUtils;
import com.ruoyi.system.api.constant.AppErrorConstant;
import com.ruoyi.system.api.domain.dto.AppShopGoodsGetDto;
import com.ruoyi.system.api.domain.dto.BirthdayGiftSendDto;
import com.ruoyi.system.api.domain.dto.MemberTotalChangeDto;
-import com.ruoyi.system.api.domain.dto.ShopTotalChangeDto;
import com.ruoyi.system.api.domain.poji.goods.Goods;
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;
@@ -58,13 +62,16 @@
private RemoteMemberService remoteMemberService;
@Resource
- private RemoteShopService remoteShopService;
-
- @Resource
private RemoteGoodsService remoteGoodsService;
@Resource
private ServiceRecordDetailService serviceRecordDetailService;
+
+ @Resource
+ private RemoteShopService remoteShopService;
+
+
+
/**
* 获取用户服务
@@ -110,16 +117,12 @@
ConsumerGoods consumerGoods;
Integer serviceCount = 0;
Integer cycleService = 0;
- Integer cyclePerson = 0;
Integer serviceService = 0;
- Integer servicePerson = 0;
Integer experienceService = 0;
- Integer experiencePerson = 0;
Goods goods;
GoodsFile goodsFile;
String consumerGoodsId;
List<ConsumerGoods> consumerGoodsList = new ArrayList<>();
- MerMemberConsumerGoodsTotalVo memberConsumerGoodsTotalVo = this.getMemberConsumerGoodsTotalVo(merSureConsumerGoodsDto.getUserId(), merSureConsumerGoodsDto.getShopId());
int sureNum = 0;
for(MerSureConsumerGoodsListDto merSureConsumerGoodsListDto : merSureConsumerGoodsListDtoList){
goods = remoteGoodsService.getGoods(merSureConsumerGoodsListDto.getGoodsId()).getData();
@@ -166,6 +169,7 @@
}
}
}
+ //判断商品确认次数
if(sureNum>oldConsumerGoods.getSureNum()){
throw new ServiceException(AppErrorConstant.GOODS_SURE_FAILED);
}else{
@@ -178,16 +182,6 @@
this.saveOrUpdate(oldConsumerGoods);
}
this.saveBatch(consumerGoodsList);
- //判断是否加人
- if (cycleService > 0 && memberConsumerGoodsTotalVo.getCycleOrder() == 0) {
- cyclePerson = 1;
- }
- if (serviceService > 0 && memberConsumerGoodsTotalVo.getServiceOrder() == 0) {
- servicePerson = 1;
- }
- if (experienceService > 0 && memberConsumerGoodsTotalVo.getExperienceOrder() == 0) {
- experiencePerson = 1;
- }
serviceCount = cycleService + serviceService + experienceService;
//更新商户和会员服务统计
MemberTotalChangeDto memberTotalChangeDto = new MemberTotalChangeDto();
@@ -195,18 +189,6 @@
memberTotalChangeDto.setTypeService(1);
memberTotalChangeDto.setServiceCount(serviceCount);
remoteMemberService.changeMemberTotal(memberTotalChangeDto);
- ShopTotalChangeDto shopTotalChangeDto = new ShopTotalChangeDto();
- shopTotalChangeDto.setShopId(merSureConsumerGoodsDto.getShopId());
- shopTotalChangeDto.setTypeCycleService(1);
- shopTotalChangeDto.setCycleService(cycleService);
- shopTotalChangeDto.setCyclePerson(cyclePerson);
- shopTotalChangeDto.setTypeServiceService(1);
- shopTotalChangeDto.setServiceService(serviceService);
- shopTotalChangeDto.setServicePerson(servicePerson);
- shopTotalChangeDto.setTypeExperienceService(1);
- shopTotalChangeDto.setExperienceService(experienceService);
- shopTotalChangeDto.setExperiencePerson(experiencePerson);
- remoteShopService.changeShopTotal(shopTotalChangeDto);
}
}
@@ -216,6 +198,7 @@
*/
@Override
@Transactional
+ @GlobalTransactional(rollbackFor = Exception.class)
public void useMerConsumerGoods(MerSureConsumerGoodsDto merSureConsumerGoodsDto){
List<MerSureConsumerGoodsListDto> goodsList = merSureConsumerGoodsDto.getMerSureConsumerGoodsListDtoList();
if (goodsList != null && !goodsList.isEmpty()) {
@@ -231,15 +214,13 @@
Integer serviceType = 1;
Integer serviceCount = 0;
Integer cycleService = 0;
- Integer cyclePerson = 0;
Integer serviceService = 0;
- Integer servicePerson = 0;
Integer experienceService = 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();
@@ -259,6 +240,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();
@@ -293,17 +283,10 @@
serviceRecordDetail.setConsumerGoodsName(consumerGoods.getGoodsName());
serviceRecordDetail.setServiceNum(consumerGoods.getServiceNum());
serviceRecordDetail.setSurpNum(consumerGoods.getServiceNum()-consumerGoods.getUsedNum());
+ if(serviceRecordDetail.getSurpNum()==0){
+ consumerGoodsList.add(consumerGoods.getGoodsName());
+ }
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();
@@ -315,6 +298,7 @@
serviceRecord.setConsumerGoodsIds(goodsIds);
serviceRecord.setConsumerGoodsNames(goodsNames);
userServiceRecordService.saveOrUpdate(serviceRecord);
+ //服务记录详情
for(ServiceRecordDetail serviceRecordDetail1 : serviceRecordDetailList){
serviceRecordDetail1.setRecordId(serviceRecord.getId());
}
@@ -325,18 +309,31 @@
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(!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 {
+ 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);
+ }
+ }
}
}
@@ -449,14 +446,10 @@
public boolean saveBatchConsumerGoods(List<ConsumerGoods> consumerGoodsList){
Integer serviceCount = 0;
Integer cycleService = 0;
- Integer cyclePerson = 0;
Integer serviceService = 0;
- Integer servicePerson = 0;
Integer experienceService = 0;
- Integer experiencePerson = 0;
Long shopId = consumerGoodsList.get(0).getShopId();
Long userId = consumerGoodsList.get(0).getUserId();
- MerMemberConsumerGoodsTotalVo memberConsumerGoodsTotalVo = this.getMemberConsumerGoodsTotalVo(userId, shopId);
for(ConsumerGoods consumerGoods : consumerGoodsList){
//处理商品服务次数
switch (consumerGoods.getGoodsType()) {
@@ -479,16 +472,6 @@
break;
}
}
- //判断是否加人
- if (cycleService > 0 && memberConsumerGoodsTotalVo.getCycleOrder() == 0) {
- cyclePerson = 1;
- }
- if (serviceService > 0 && memberConsumerGoodsTotalVo.getServiceOrder() == 0) {
- servicePerson = 1;
- }
- if (experienceService > 0 && memberConsumerGoodsTotalVo.getExperienceOrder() == 0) {
- experiencePerson = 1;
- }
serviceCount = cycleService + serviceService + experienceService;
//更新商户和会员服务统计
MemberTotalChangeDto memberTotalChangeDto = new MemberTotalChangeDto();
@@ -496,19 +479,6 @@
memberTotalChangeDto.setTypeService(1);
memberTotalChangeDto.setServiceCount(serviceCount);
remoteMemberService.changeMemberTotal(memberTotalChangeDto);
- ShopTotalChangeDto shopTotalChangeDto = new ShopTotalChangeDto();
- shopTotalChangeDto.setShopId(shopId);
- shopTotalChangeDto.setOrderType(1);
- shopTotalChangeDto.setTypeCycleService(1);
- shopTotalChangeDto.setCycleService(cycleService);
- shopTotalChangeDto.setCyclePerson(cyclePerson);
- shopTotalChangeDto.setTypeServiceService(1);
- shopTotalChangeDto.setServiceService(serviceService);
- shopTotalChangeDto.setServicePerson(servicePerson);
- shopTotalChangeDto.setTypeExperienceService(1);
- shopTotalChangeDto.setExperienceService(experienceService);
- shopTotalChangeDto.setExperiencePerson(experiencePerson);
- remoteShopService.changeShopTotal(shopTotalChangeDto);
return this.saveBatch(consumerGoodsList);
}
}
--
Gitblit v1.7.1