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/OrderServiceImpl.java | 343 ++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 252 insertions(+), 91 deletions(-)
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
index dd6bab7..15fa0a9 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -18,12 +18,10 @@
import com.ruoyi.order.domain.pojo.order.ConsumerGoods;
import com.ruoyi.order.domain.pojo.order.Order;
import com.ruoyi.order.domain.pojo.order.OrderGoods;
+import com.ruoyi.order.domain.pojo.order.PayRecord;
import com.ruoyi.order.domain.vo.*;
import com.ruoyi.order.mapper.order.OrderMapper;
-import com.ruoyi.order.service.order.ConsumerGoodsService;
-import com.ruoyi.order.service.order.OrderGoodsService;
-import com.ruoyi.order.service.order.OrderService;
-import com.ruoyi.order.service.order.UserServiceRecordService;
+import com.ruoyi.order.service.order.*;
import com.ruoyi.system.api.constant.AppErrorConstant;
import com.ruoyi.system.api.constant.DelayTaskEnum;
import com.ruoyi.system.api.constant.SecurityConstant;
@@ -106,9 +104,8 @@
@Resource
private RedisService redisService;
- //@Resource
- //@Qualifier("profitsSharingServiceImpl")
- //private ProfitsSharingService profitsSharingService;
+ @Resource
+ private PayRecordService payRecordService;
@Autowired
private RedissonClient redissonClient;
@@ -245,8 +242,8 @@
}
} else if (couponType == 2 && appMemberCouponVo.getDiscountPercent() != null) {
discountPercent = appMemberCouponVo.getDiscountPercent();
- goodsRealPrice = goodsTotalPrice.multiply(discountPercent).divide(BigDecimal.TEN).setScale(2, BigDecimal.ROUND_HALF_UP);
- discountMoney = goodsRealPrice.subtract(goodsTotalPrice);
+ goodsRealPrice = goodsTotalPrice.multiply(discountPercent).divide(BigDecimal.TEN,2,BigDecimal.ROUND_HALF_UP);
+ discountMoney = goodsTotalPrice.subtract(goodsRealPrice);
useCoupon = 1;
userCouponIdSet.add(memberCouponId);
appSureOrderGoodsVo.setMemberCouponId(memberCouponId);
@@ -418,8 +415,12 @@
if (activityGoodsGetVo.getActivityStatus() == 2) {
throw new ServiceException(AppErrorConstant.ACTIVITY_END);
}
- if (activityGoodsGetVo.getAvailableBuyNum() < 1) {
+ Integer surpNum = redisService.getCacheObject(SecurityConstant.ACTIVITY_GOODS+"-"+activityId+"-"+goodsId);
+ if(surpNum==null||surpNum<1){
throw new ServiceException(AppErrorConstant.ACTIVITY_GOODS_NULL);
+ }
+ if (activityGoodsGetVo.getAvailableBuyNum() < 1) {
+ throw new ServiceException(AppErrorConstant.ACTIVITY_GOODS_BEYOND);
}
if (activityGoodsGetVo.getAvailableBuyNum() < buyNum) {
throw new ServiceException(AppErrorConstant.ACTIVITY_GOODS_BEYOND);
@@ -428,6 +429,7 @@
if(goods.getGoodsStatus()!=1){
throw new ServiceException(AppErrorConstant.GOODS_DOWN);
}
+ appPanicBuyVo.setActivityId(activityId);
appPanicBuyVo.setGoodsId(goodsId);
appPanicBuyVo.setGoodsName(goods.getGoodsName());
appPanicBuyVo.setGoodsIntroduction(goods.getGoodsIntroduction());
@@ -594,8 +596,8 @@
}
} else if (couponType == 2 && appMemberCouponVo.getDiscountPercent() != null) {
discountPercent = appMemberCouponVo.getDiscountPercent();
- goodsRealPrice = goodsTotalPrice.multiply(discountPercent).divide(BigDecimal.TEN).setScale(2, BigDecimal.ROUND_HALF_UP);
- discountMoney = goodsRealPrice.subtract(goodsTotalPrice);
+ goodsRealPrice = goodsTotalPrice.multiply(discountPercent).divide(BigDecimal.TEN,2, BigDecimal.ROUND_HALF_UP);
+ discountMoney = goodsTotalPrice.subtract(goodsRealPrice);
useCoupon = 1;
} else if (couponType == 3 && appMemberCouponVo.getDiscountMoney() != null) {
discountMoney = appMemberCouponVo.getDiscountMoney();
@@ -646,6 +648,7 @@
orderGoods.setServiceNum(serviceNum);
orderGoods.setGoodsType(goods.getGoodsType());
orderGoods.setGoodsName(goods.getGoodsName());
+ orderGoods.setGoodsIntroduction(goods.getGoodsIntroduction());
orderGoods.setGoodsPicture(goodsFile.getFileUrl());
// 保存订单商品
orderGoodsService.save(orderGoods);
@@ -898,6 +901,7 @@
orderGoods.setServiceNum(serviceNum);
orderGoods.setGoodsType(goods.getGoodsType());
orderGoods.setGoodsName(goods.getGoodsName());
+ orderGoods.setGoodsIntroduction(goods.getGoodsIntroduction());
orderGoods.setGoodsPicture(goodsFile.getFileUrl());
// 保存订单商品
orderGoodsService.save(orderGoods);
@@ -938,6 +942,8 @@
order.setReceivableMoney(orderPayMoney);
order.setReceivableDeposit(orderPayDeposit);
order.setChangeReceivableMoney(orderPayMoney);
+ order.setActivityId(activityId);
+ order.setActivityName(activityGoodsGetVo.getActivityName());
// 根据支付类型设置订单支付金额,在线支付金额,订单支付金额,未支付金额,关闭标志
if (appPlaceActivityDto.getPayType() == 1) {
order.setPayMoney(orderPayMoney);
@@ -1106,6 +1112,7 @@
appUserOrderGetVo.setCouponDiscount(order.getCouponMoney());
appUserOrderGetVo.setReceivableDeposit(order.getReceivableDeposit());
appUserOrderGetVo.setReceivableMoney(order.getReceivableMoney());
+ appUserOrderGetVo.setUnpaidMoney(order.getReceivableMoney().subtract(order.getOnlinePayMoney()));
appUserOrderGetVo.setPayType(order.getPayType());
appUserOrderGetVo.setPayMoney(order.getPayMoney());
appUserOrderGetVo.setOrderRemark(order.getOrderRemark());
@@ -1119,6 +1126,12 @@
appUserOrderGetVo.setShopName(shop.getShopName());
appUserOrderGetVo.setAppUserOrderGoodsPageVoList(appUserOrderGoodsPageVoList);
appUserOrderGetVo.setVerifyCode("1-" + orderId);
+ //生成自动取消订单延时任务
+ Integer delayTime = 30;
+ if(redisService.hasKey(SecurityConstant.AUTO_CANCEL_ORDER_TIME)){
+ delayTime = redisService.getCacheObject(SecurityConstant.AUTO_CANCEL_ORDER_TIME);
+ }
+ appUserOrderGetVo.setEndTime(DateUtils.addMinutes(order.getCreateTime(),delayTime));
return appUserOrderGetVo;
}
@@ -1130,7 +1143,9 @@
@Override
public void cancelOrder(String orderId) {
Order order = this.getById(orderId);
- if (order.getOrderStatus() == 1) {
+ if (order.getOrderStatus() == 0) {
+ throw new ServiceException(AppErrorConstant.CANCEL_CANCEL_ORDER);
+ }else if (order.getOrderStatus() == 1) {
this.autoCancelOrder(orderId);
}else if(order.getOrderStatus() == 2){
this.refundOrder(orderId);
@@ -1247,8 +1262,12 @@
order.setOfflinePayMoney(relPayMoney);
order.setOffPayTime(nowTime);
order.setPayMoney(order.getPayMoney().add(relPayMoney));
- order.setCloseFlag(1);
order.setChangeReceivableMoney(relReceiveMoney);
+ if(order.getPayMoney().compareTo(order.getChangeReceivableMoney())>=0){
+ order.setCloseFlag(1);
+ }else{
+ order.setCloseFlag(0);
+ }
this.saveOrUpdate(order);
//创建服务商品
List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList = orderGoodsService.listAppVoByOrderId(orderId);
@@ -1265,28 +1284,57 @@
Goods goods;
List<ConsumerGoods> consumerGoodsList = new ArrayList<>();
for (AppUserOrderGoodsPageVo appUserOrderGoodsPageVo : appUserOrderGoodsPageVoList) {
- consumerGoods = new ConsumerGoods();
- goods = goodsMap.get(appUserOrderGoodsPageVo.getGoodsId());
- consumerGoodsId = IdUtils.simpleUUID();
- consumerGoods.setConsumerGoodsId(consumerGoodsId);
- consumerGoods.setDelFlag(0);
- consumerGoods.setServiceStatus(1);
- consumerGoods.setShopId(order.getShopId());
- consumerGoods.setUserId(order.getUserId());
- consumerGoods.setOrderId(orderId);
- consumerGoods.setOrderGoodsId(appUserOrderGoodsPageVo.getOrderGoodsId());
- consumerGoods.setGoodsId(appUserOrderGoodsPageVo.getGoodsId());
- consumerGoods.setGoodsName(appUserOrderGoodsPageVo.getGoodsName());
- consumerGoods.setCycleNumFlag(appUserOrderGoodsPageVo.getCycleNumFlag());
- consumerGoods.setServiceNum(appUserOrderGoodsPageVo.getServiceNum());
- consumerGoods.setUsedNum(0);
- consumerGoods.setGoodsType(appUserOrderGoodsPageVo.getGoodsType());
- consumerGoods.setCreateTime(nowTime);
- consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction());
- consumerGoods.setGoodsPicture(appUserOrderGoodsPageVo.getGoodsPicture());
- consumerGoods.setGoodsNurses(goods.getGoodsNurses());
- consumerGoods.setSourceFrom(1);
- consumerGoodsList.add(consumerGoods);
+ Integer buyNum = appUserOrderGoodsPageVo.getBuyNum();
+ if(appUserOrderGoodsPageVo.getCycleNumFlag()==0){
+ consumerGoods = new ConsumerGoods();
+ goods = goodsMap.get(appUserOrderGoodsPageVo.getGoodsId());
+ consumerGoodsId = IdUtils.simpleUUID();
+ consumerGoods.setConsumerGoodsId(consumerGoodsId);
+ consumerGoods.setDelFlag(0);
+ consumerGoods.setServiceStatus(1);
+ consumerGoods.setShopId(order.getShopId());
+ consumerGoods.setUserId(order.getUserId());
+ consumerGoods.setOrderId(orderId);
+ consumerGoods.setOrderGoodsId(appUserOrderGoodsPageVo.getOrderGoodsId());
+ consumerGoods.setGoodsId(appUserOrderGoodsPageVo.getGoodsId());
+ consumerGoods.setGoodsName(appUserOrderGoodsPageVo.getGoodsName());
+ consumerGoods.setCycleNumFlag(appUserOrderGoodsPageVo.getCycleNumFlag());
+ consumerGoods.setServiceNum(appUserOrderGoodsPageVo.getServiceNum());
+ consumerGoods.setUsedNum(0);
+ consumerGoods.setGoodsType(appUserOrderGoodsPageVo.getGoodsType());
+ consumerGoods.setCreateTime(nowTime);
+ consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction());
+ consumerGoods.setGoodsPicture(appUserOrderGoodsPageVo.getGoodsPicture());
+ consumerGoods.setGoodsNurses(goods.getGoodsNurses());
+ consumerGoods.setSourceFrom(1);
+ consumerGoods.setSureNum(buyNum);
+ consumerGoodsList.add(consumerGoods);
+ }else{
+ for(int i=0;i<buyNum;i++){
+ consumerGoods = new ConsumerGoods();
+ goods = goodsMap.get(appUserOrderGoodsPageVo.getGoodsId());
+ consumerGoodsId = IdUtils.simpleUUID();
+ consumerGoods.setConsumerGoodsId(consumerGoodsId);
+ consumerGoods.setDelFlag(0);
+ consumerGoods.setServiceStatus(1);
+ consumerGoods.setShopId(order.getShopId());
+ consumerGoods.setUserId(order.getUserId());
+ consumerGoods.setOrderId(orderId);
+ consumerGoods.setOrderGoodsId(appUserOrderGoodsPageVo.getOrderGoodsId());
+ consumerGoods.setGoodsId(appUserOrderGoodsPageVo.getGoodsId());
+ consumerGoods.setGoodsName(appUserOrderGoodsPageVo.getGoodsName());
+ consumerGoods.setCycleNumFlag(appUserOrderGoodsPageVo.getCycleNumFlag());
+ consumerGoods.setServiceNum(appUserOrderGoodsPageVo.getServiceNum());
+ consumerGoods.setUsedNum(0);
+ consumerGoods.setGoodsType(appUserOrderGoodsPageVo.getGoodsType());
+ consumerGoods.setCreateTime(nowTime);
+ consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction());
+ consumerGoods.setGoodsPicture(appUserOrderGoodsPageVo.getGoodsPicture());
+ consumerGoods.setGoodsNurses(goods.getGoodsNurses());
+ consumerGoods.setSourceFrom(1);
+ consumerGoodsList.add(consumerGoods);
+ }
+ }
}
consumerGoodsService.saveBatchConsumerGoods(consumerGoodsList);
//生成返回
@@ -1314,6 +1362,15 @@
//profitsSharingService.applyProfitSharing();
}
+
+ //创建支付记录
+ PayRecord payRecord = new PayRecord();
+ payRecord.setDelFlag(0);
+ payRecord.setOrderId(order.getOrderId());
+ payRecord.setPayMoney(merVerifyOrderDto.getRelPayMoney());
+ payRecord.setPayTime(new Date());
+ payRecord.setPayType(2);
+ payRecordService.save(payRecord);
return merVerifyOrderVo;
}
@@ -1536,11 +1593,23 @@
@Override
public void merCloseOrder(MerCloseOrderDto merCloseOrderDto) {
Order order = this.getById(merCloseOrderDto.getOrderId());
- order.setOfflinePayMoney(merCloseOrderDto.getPayMoney());
+ order.setOfflinePayMoney(order.getOfflinePayMoney().add(merCloseOrderDto.getPayMoney()));
order.setOffPayTime(new Date());
order.setPayMoney(order.getPayMoney().add(merCloseOrderDto.getPayMoney()));
- order.setCloseFlag(1);
+ if(order.getPayMoney().compareTo(order.getChangeReceivableMoney())>=0){
+ order.setCloseFlag(0);
+ }else{
+ order.setCloseFlag(1);
+ }
this.saveOrUpdate(order);
+ //创建支付记录
+ PayRecord payRecord = new PayRecord();
+ payRecord.setDelFlag(0);
+ payRecord.setOrderId(order.getOrderId());
+ payRecord.setPayMoney(merCloseOrderDto.getPayMoney());
+ payRecord.setPayTime(new Date());
+ payRecord.setPayType(2);
+ payRecordService.save(payRecord);
}
/**
@@ -1660,7 +1729,7 @@
}
} else if (couponType == 2 && appMemberCouponVo.getDiscountPercent() != null) {
discountPercent = appMemberCouponVo.getDiscountPercent();
- goodsRealPrice = goodsTotalPrice.multiply(discountPercent).divide(BigDecimal.TEN).setScale(2, BigDecimal.ROUND_HALF_UP);
+ goodsRealPrice = goodsTotalPrice.multiply(discountPercent).divide(BigDecimal.TEN,2, BigDecimal.ROUND_HALF_UP);
discountMoney = goodsRealPrice.subtract(goodsTotalPrice);
} else if (couponType == 3 && appMemberCouponVo.getDiscountMoney() != null) {
discountMoney = appMemberCouponVo.getDiscountMoney();
@@ -1698,6 +1767,7 @@
orderGoods.setServiceNum(serviceNum);
orderGoods.setGoodsType(goods.getGoodsType());
orderGoods.setGoodsName(goods.getGoodsName());
+ orderGoods.setGoodsIntroduction(goods.getGoodsIntroduction());
orderGoods.setGoodsPicture(goodsFile.getFileUrl());
orderGoodsService.save(orderGoods);
switch (orderGoods.getGoodsType()) {
@@ -1740,7 +1810,6 @@
order.setPayMoney(orderPayMoney);
order.setOnlinePayMoney(new BigDecimal("0.00"));
order.setOfflinePayMoney(orderPayMoney);
- order.setCloseFlag(1);
order.setOrderRemark(merNewOrderDto.getOrderRemark());
order.setGoodsNum(goodsNum);
order.setCreateTime(nowTime);
@@ -1752,35 +1821,71 @@
order.setOfflinePayMoney(merNewOrderDto.getPayMoney());
order.setOffPayTime(nowTime);
order.setPayType(1);
- order.setCloseFlag(1);
+ if(order.getPayMoney().compareTo(order.getChangeReceivableMoney())>=0){
+ order.setCloseFlag(0);
+ }else{
+ order.setCloseFlag(1);
+ }
this.save(order);
//创建服务
List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList = orderGoodsService.listAppVoByOrderId(orderId);
ConsumerGoods consumerGoods;
String consumerGoodsId;
+ List<ConsumerGoods> consumerGoodsList = new ArrayList<>();
for (AppUserOrderGoodsPageVo appUserOrderGoodsPageVo : appUserOrderGoodsPageVoList) {
- consumerGoods = new ConsumerGoods();
- goods = remoteGoodsService.getGoods(appUserOrderGoodsPageVo.getGoodsId()).getData();
- consumerGoodsId = IdUtils.simpleUUID();
- consumerGoods.setConsumerGoodsId(consumerGoodsId);
- consumerGoods.setDelFlag(0);
- consumerGoods.setServiceStatus(1);
- consumerGoods.setShopId(order.getShopId());
- consumerGoods.setUserId(order.getUserId());
- consumerGoods.setOrderId(orderId);
- consumerGoods.setOrderGoodsId(appUserOrderGoodsPageVo.getOrderGoodsId());
- consumerGoods.setGoodsId(appUserOrderGoodsPageVo.getGoodsId());
- consumerGoods.setGoodsName(appUserOrderGoodsPageVo.getGoodsName());
- consumerGoods.setCycleNumFlag(appUserOrderGoodsPageVo.getCycleNumFlag());
- consumerGoods.setServiceNum(appUserOrderGoodsPageVo.getServiceNum());
- consumerGoods.setUsedNum(0);
- consumerGoods.setGoodsType(appUserOrderGoodsPageVo.getGoodsType());
- consumerGoods.setCreateTime(nowTime);
- consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction());
- consumerGoods.setGoodsPicture(appUserOrderGoodsPageVo.getGoodsPicture());
- consumerGoods.setGoodsNurses(goods.getGoodsNurses());
- consumerGoodsService.save(consumerGoods);
+ Integer buyGoodsNum = appUserOrderGoodsPageVo.getBuyNum();
+ if(appUserOrderGoodsPageVo.getCycleNumFlag()==0){
+ consumerGoods = new ConsumerGoods();
+ goods = remoteGoodsService.getGoods(appUserOrderGoodsPageVo.getGoodsId()).getData();
+ consumerGoodsId = IdUtils.simpleUUID();
+ consumerGoods.setConsumerGoodsId(consumerGoodsId);
+ consumerGoods.setDelFlag(0);
+ consumerGoods.setServiceStatus(1);
+ consumerGoods.setShopId(order.getShopId());
+ consumerGoods.setUserId(order.getUserId());
+ consumerGoods.setOrderId(orderId);
+ consumerGoods.setOrderGoodsId(appUserOrderGoodsPageVo.getOrderGoodsId());
+ consumerGoods.setGoodsId(appUserOrderGoodsPageVo.getGoodsId());
+ consumerGoods.setGoodsName(appUserOrderGoodsPageVo.getGoodsName());
+ consumerGoods.setCycleNumFlag(appUserOrderGoodsPageVo.getCycleNumFlag());
+ consumerGoods.setServiceNum(appUserOrderGoodsPageVo.getServiceNum());
+ consumerGoods.setUsedNum(0);
+ consumerGoods.setGoodsType(appUserOrderGoodsPageVo.getGoodsType());
+ consumerGoods.setCreateTime(nowTime);
+ consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction());
+ consumerGoods.setGoodsPicture(appUserOrderGoodsPageVo.getGoodsPicture());
+ consumerGoods.setGoodsNurses(goods.getGoodsNurses());
+ consumerGoods.setSourceFrom(1);
+ consumerGoods.setSureNum(buyGoodsNum);
+ consumerGoodsList.add(consumerGoods);
+ }else{
+ for(int i=0;i<buyGoodsNum;i++) {
+ consumerGoods = new ConsumerGoods();
+ goods = remoteGoodsService.getGoods(appUserOrderGoodsPageVo.getGoodsId()).getData();
+ consumerGoodsId = IdUtils.simpleUUID();
+ consumerGoods.setConsumerGoodsId(consumerGoodsId);
+ consumerGoods.setDelFlag(0);
+ consumerGoods.setServiceStatus(1);
+ consumerGoods.setShopId(order.getShopId());
+ consumerGoods.setUserId(order.getUserId());
+ consumerGoods.setOrderId(orderId);
+ consumerGoods.setOrderGoodsId(appUserOrderGoodsPageVo.getOrderGoodsId());
+ consumerGoods.setGoodsId(appUserOrderGoodsPageVo.getGoodsId());
+ consumerGoods.setGoodsName(appUserOrderGoodsPageVo.getGoodsName());
+ consumerGoods.setCycleNumFlag(appUserOrderGoodsPageVo.getCycleNumFlag());
+ consumerGoods.setServiceNum(appUserOrderGoodsPageVo.getServiceNum());
+ consumerGoods.setUsedNum(0);
+ consumerGoods.setGoodsType(appUserOrderGoodsPageVo.getGoodsType());
+ consumerGoods.setCreateTime(nowTime);
+ consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction());
+ consumerGoods.setGoodsPicture(appUserOrderGoodsPageVo.getGoodsPicture());
+ consumerGoods.setGoodsNurses(goods.getGoodsNurses());
+ consumerGoods.setSourceFrom(1);
+ consumerGoodsList.add(consumerGoods);
+ }
+ }
}
+ consumerGoodsService.saveBatchConsumerGoods(consumerGoodsList);
Member member = remoteMemberService.getMember(userId).getData();
if (member != null && member.getBindingFlag() != 1) {
//绑定商户
@@ -1799,6 +1904,14 @@
shopTotalChangeDto.setExperienceMoney(experienceMoney);
shopTotalChangeDto.setGoodsMoney(goodsMoney);
remoteShopService.changeShopTotal(shopTotalChangeDto);
+ //创建支付记录
+ PayRecord payRecord = new PayRecord();
+ payRecord.setDelFlag(0);
+ payRecord.setOrderId(orderId);
+ payRecord.setPayMoney(order.getPayMoney());
+ payRecord.setPayTime(order.getPayTime());
+ payRecord.setPayType(2);
+ payRecordService.save(payRecord);
}
@@ -1808,6 +1921,18 @@
*/
@Override
public List<MerOrderPageVo> pageMerOrder(Page page, MerOrderPageDto merOrderPageDto) {
+ if(StringUtils.isNotBlank(merOrderPageDto.getKeyword())){
+ MgtUserIdByKeywordDto userIdByKeywordDto = new MgtUserIdByKeywordDto();
+ userIdByKeywordDto.setKeyword(merOrderPageDto.getKeyword());
+ MgtUserIdByKeywordVo userIdByKeywordVo = remoteMemberService.getUserIdByKeyword(userIdByKeywordDto).getData();
+ if(StringUtils.isNotBlank(userIdByKeywordVo.getUserIds())){
+ List<Long> userIdList = Arrays.stream(userIdByKeywordVo.getUserIds().split(","))
+ .map(Long::parseLong)
+ .collect(Collectors.toList());
+ merOrderPageDto.setMemberUserIdList(userIdList);
+ merOrderPageDto.setMemberUserId(null);
+ }
+ }
List<MerOrderPageVo> merOrderPageVoList = orderMapper.pageMerOrder(page, merOrderPageDto);
if (merOrderPageVoList != null && !merOrderPageVoList.isEmpty()) {
Long userId;
@@ -1830,7 +1955,7 @@
orderFromDesc = "商城订单";
}
merOrderPageVo.setOrderFromDesc(orderFromDesc);
- merOrderPageVo.setUnPaidMoney(merOrderPageVo.getReceivableMoney().subtract(merOrderPageVo.getPayMoney()));
+ merOrderPageVo.setUnPaidMoney(merOrderPageVo.getPayMoney().subtract(merOrderPageVo.getReceiveMoney()));
if (merOrderPageVo.getUnPaidMoney() == null) {
merOrderPageVo.setUnPaidMoney(zeroBig);
}
@@ -1841,8 +1966,13 @@
Map<Long, MgtSimpleMemberVo> userMap = simpleMemberVoList.stream()
.collect(Collectors.toMap(MgtSimpleMemberVo::getUserId, Function.identity()));
for (MerOrderPageVo merOrderPageVo : merOrderPageVoList) {
- merOrderPageVo.setUserName(userMap.get(merOrderPageVo.getUserId()).getNickName());
- merOrderPageVo.setUserMobile(userMap.get(merOrderPageVo.getUserId()).getUserMobile());
+ if(merOrderPageVo.getUserId()!=null&&userMap.get(merOrderPageVo.getUserId())!=null){
+ merOrderPageVo.setUserName(userMap.get(merOrderPageVo.getUserId()).getRealName());
+ merOrderPageVo.setNickName(userMap.get(merOrderPageVo.getUserId()).getNickName());
+ merOrderPageVo.setUserMobile(userMap.get(merOrderPageVo.getUserId()).getUserMobile());
+ }else{
+ log.debug("订单merOrderPageVo"+merOrderPageVo.getOrderId()+"缺少用户");
+ }
}
}
return merOrderPageVoList;
@@ -1895,6 +2025,7 @@
if (mgtMemberOrderPageVoList != null && !mgtMemberOrderPageVoList.isEmpty()) {
Long shopId;
HashSet<String> set = new HashSet<>();
+ BigDecimal zeroBig = new BigDecimal("0.00");
// 遍历MgtMemberOrderPageVoList,获取shopId并添加到set中
for (MgtMemberOrderPageVo mgtMemberOrderPageVo : mgtMemberOrderPageVoList) {
shopId = mgtMemberOrderPageVo.getShopId();
@@ -1913,6 +2044,8 @@
for (MgtMemberOrderPageVo mgtMemberOrderPageVo : mgtMemberOrderPageVoList) {
shopId = mgtMemberOrderPageVo.getShopId();
mgtMemberOrderPageVo.setShopName(map.get(shopId).getShopName());
+ BigDecimal unPaidMoney = mgtMemberOrderPageVo.getReceivableMoney().subtract(mgtMemberOrderPageVo.getPayMoney());
+ mgtMemberOrderPageVo.setUnPaidMoney(unPaidMoney == null ? zeroBig : unPaidMoney);
}
}
// 返回MgtMemberOrderPageVoList
@@ -1980,7 +2113,9 @@
for (MgtActivityOrderPageVo mgtActivityOrderPageVo : activityOrderPageVoList) {
mgtActivityOrderPageVo.setShopName(shopMap.get(mgtActivityOrderPageVo.getShopId()).getShopName());
if (userMap.get(mgtActivityOrderPageVo.getUserId()) != null) {
- mgtActivityOrderPageVo.setUserName(userMap.get(mgtActivityOrderPageVo.getUserId()).getNickName());
+ mgtActivityOrderPageVo.setNickName(userMap.get(mgtActivityOrderPageVo.getUserId()).getNickName());
+ mgtActivityOrderPageVo.setUserName(userMap.get(mgtActivityOrderPageVo.getUserId()).getRealName());
+ mgtActivityOrderPageVo.setUserMobile(userMap.get(mgtActivityOrderPageVo.getUserId()).getUserMobile());
}
BigDecimal unPaidMoney = mgtActivityOrderPageVo.getReceivableMoney().subtract(mgtActivityOrderPageVo.getPayMoney());
mgtActivityOrderPageVo.setUnPaidMoney(unPaidMoney == null ? zeroBig : unPaidMoney);
@@ -2104,7 +2239,9 @@
}
if (userMap != null && !userMap.isEmpty()) {
if (userMap.get(mgtShopOrderPageVo.getUserId()) != null) {
- mgtShopOrderPageVo.setUserName(userMap.get(mgtShopOrderPageVo.getUserId()).getNickName());
+ mgtShopOrderPageVo.setNickName(userMap.get(mgtShopOrderPageVo.getUserId()).getNickName());
+ mgtShopOrderPageVo.setUserName(userMap.get(mgtShopOrderPageVo.getUserId()).getRealName());
+ mgtShopOrderPageVo.setUserMobile(userMap.get(mgtShopOrderPageVo.getUserId()).getUserMobile());
}
}
BigDecimal unPaidMoney = mgtShopOrderPageVo.getReceivableMoney().subtract(mgtShopOrderPageVo.getPayMoney());
@@ -2201,8 +2338,15 @@
mgtOrderDetailVo.setCancelTime(order.getCancelTime());
mgtOrderDetailVo.setOrderRemark(order.getOrderRemark());
mgtOrderDetailVo.setShopId(order.getShopId());
- mgtOrderDetailVo.setShopName(shop.getShopName());
+ if(shop!=null){
+ mgtOrderDetailVo.setShopName(shop.getShopName());
+ }else{
+ mgtOrderDetailVo.setShopName("商户已被删除");
+ }
mgtOrderDetailVo.setVerifyTime(order.getUseTime());
+ //获取支付记录
+ List<MgtOrderPayListVo> orderPayListVoList = payRecordService.listMgtOrderPayVo(orderId);
+ mgtOrderDetailVo.setOrderPayListVoList(orderPayListVoList);
return mgtOrderDetailVo;
}
@@ -2783,11 +2927,15 @@
throw new ServiceException(AppErrorConstant.COUPON_EXPIRED);
} else if (couponStatus == 2) {
throw new ServiceException(AppErrorConstant.COUPON_USED);
- } else if (couponStatus != 0) {
+ } else if (couponStatus != 1) {
throw new ServiceException(AppErrorConstant.COUPON_NO_FIND);
}
- if (!memberCoupon.getShopId().equals(shopId)) {
+ if (memberCoupon.getCouponFrom()==2&&!memberCoupon.getShopId().equals(shopId)) {
throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR);
+ }
+ //如果是平台优惠券
+ if(memberCoupon.getCouponFrom()==1&&memberCoupon.getShopId()==null){
+ memberCoupon.setShopId(shopId);
}
List<Goods> goodsList = verifyCouponGetVo.getGoodsList();
Long userId = verifyCouponGetVo.getUserId();
@@ -2947,9 +3095,9 @@
}
MerOrderDistributionTotalVo orderDistributionTotalVo = new MerOrderDistributionTotalVo();
// 获取订单年龄用户列表
- List<MerOrderAgeUserVo> orderAgeUserVoList = remoteMemberService.listOrderAgeUser(merTotalDto).getData();
+ //List<MerOrderAgeUserVo> orderAgeUserVoList = remoteMemberService.listOrderAgeUser(merTotalDto).getData();
// 如果订单年龄用户列表不为空
- if (orderAgeUserVoList != null && !orderAgeUserVoList.isEmpty()) {
+ /*if (orderAgeUserVoList != null && !orderAgeUserVoList.isEmpty()) {
// 定义变量
Integer ageType;
List<Long> userIdList;
@@ -2990,12 +3138,23 @@
orderTotalValue[i] = 0;
orderMoneyValue[i] = BigDecimal.ZERO;
}
+ }*/
+ List<MgtMapTotalPlusVo> mgtMapTotalPlusVoList = orderMapper.listMerOrderDistributionTotal(merTotalDto);
+ if(mgtMapTotalPlusVoList!=null&&!mgtMapTotalPlusVoList.isEmpty()) {
+ String[] orderTotalKey = new String[mgtMapTotalPlusVoList.size()];
+ Integer[] orderTotalValue = new Integer[mgtMapTotalPlusVoList.size()];
+ BigDecimal[] orderMoneyValue = new BigDecimal[mgtMapTotalPlusVoList.size()];
+ MgtMapTotalPlusVo mgtMapTotalPlusVo;
+ for (int i = 0; i < mgtMapTotalPlusVoList.size(); i++) {
+ mgtMapTotalPlusVo = mgtMapTotalPlusVoList.get(i);
+ orderTotalKey[i] = mgtMapTotalPlusVo.getMapKey();
+ orderTotalValue[i] = mgtMapTotalPlusVo.getMapValueFirst();
+ orderMoneyValue[i] = mgtMapTotalPlusVo.getMapValueSecond();
+ }
+ orderDistributionTotalVo.setOrderTotalKey(orderTotalKey);
+ orderDistributionTotalVo.setOrderTotalValue(orderTotalValue);
+ orderDistributionTotalVo.setOrderMoneyValue(orderMoneyValue);
}
- // 设置订单分布总数对象的属性值
- orderDistributionTotalVo.setOrderTotalKey(orderTotalKey);
- orderDistributionTotalVo.setOrderTotalValue(orderTotalValue);
- orderDistributionTotalVo.setOrderMoneyValue(orderMoneyValue);
- }
// 返回订单分布总数对象
return orderDistributionTotalVo;
}
@@ -3100,16 +3259,16 @@
}
/**
- * @param merBaseDto
- * @return MerTotalOrderVo
- * @description 商户端订单管理统计
- * @author jqs
- * @date 2023/7/4 16:27
+ * @description 商户端订单管理统计
+ * @author jqs
+ * @date 2023/7/31 10:53
+ * @param merOrderPageDto
+ * @return MerTotalOrderVo
*/
@Override
- public MerTotalOrderVo totalMerOrder(MerBaseDto merBaseDto) {
+ public MerTotalOrderVo totalMerOrder(MerOrderPageDto merOrderPageDto) {
MerTotalOrderVo merTotalOrderVo = new MerTotalOrderVo();
- merTotalOrderVo = orderMapper.totalMerOrder(merBaseDto.getShopId());
+ merTotalOrderVo = orderMapper.totalMerOrder(merOrderPageDto);
return merTotalOrderVo;
}
@@ -3366,11 +3525,13 @@
}
//生成支付记录
OrderPayment orderPayment = new OrderPayment();
-
-
-
-
-
+ PayRecord payRecord = new PayRecord();
+ payRecord.setDelFlag(0);
+ payRecord.setOrderId(orderId);
+ payRecord.setPayMoney(order.getPayMoney());
+ payRecord.setPayTime(order.getPayTime());
+ payRecord.setPayType(1);
+ payRecordService.save(payRecord);
}
/**
@@ -3780,14 +3941,14 @@
delayTime = redisService.getCacheObject(SecurityConstant.AUTO_CANCEL_ORDER_TIME);
}
delayTime = delayTime + 5;
- Date checkTime = DateUtils.addMinutes(new Date(),delayTime);
+ Date checkTime = DateUtils.addMinutes(new Date(),-delayTime);
LambdaQueryWrapper<Order> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(Order::getDelFlag,0);
queryWrapper.lt(Order::getCreateTime,checkTime);
queryWrapper.eq(Order::getOrderStatus,1);
List<Order> orderList = this.list(queryWrapper);
if(orderList!=null&&!orderList.isEmpty()){
- for(Order order: orderList){
+ for(Order order: orderList){
autoTimeCancelOrder(order);
}
}
--
Gitblit v1.7.1