From b1dbef13075c3a6fea62e41db4cdcd7334e1e92b Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期一, 02 三月 2026 13:42:55 +0800
Subject: [PATCH] 小程序 接口开发
---
server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java | 75 ++++++++++++++++++++++++++++++++-----
1 files changed, 64 insertions(+), 11 deletions(-)
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
index dd78f76..057ce21 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
@@ -507,6 +507,9 @@
queryWrapper.le(pageWrap.getModel().getEndtime()!=null,Goodsorder::getCreateDate, pageWrap.getModel().getEndtime());
queryWrapper.eq(pageWrap.getModel().getReceiveType()!=null,Goodsorder::getReceiveType,pageWrap.getModel().getReceiveType());
queryWrapper.eq(pageWrap.getModel().getPayOrderId()!=null,Goodsorder::getPayOrderId,pageWrap.getModel().getPayOrderId());
+ if (StringUtils.isNotBlank(pageWrap.getModel().getGoodsName())) {
+ queryWrapper.exists("select gs.id from goodsorder_detail gs where gs.order_id=t.id and gs.isdeleted=0 and gs.NAME like '%"+pageWrap.getModel().getGoodsName()+"%' ");
+ }
}
@@ -586,6 +589,7 @@
Utils.MP.blankToNull(pageWrap.getModel());
queryWrapper.selectAll(Goodsorder.class)
+ .eq(pageWrap.getModel().getReceiveType()!=null,Goodsorder::getReceiveType,pageWrap.getModel().getReceiveType())
.eq(pageWrap.getModel().getDistributionShopId()!=null,Goodsorder::getDistributionShopId,pageWrap.getModel().getDistributionShopId())
.eq(pageWrap.getModel().getStatus()!=null,Goodsorder::getStatus,pageWrap.getModel().getStatus())
.eq(pageWrap.getModel().getCode()!=null,Goodsorder::getCode,pageWrap.getModel().getCode())
@@ -766,6 +770,8 @@
}
goodsorder.setPickUpShopId(shop.getId());
goodsorder.setDistributionShopId(shop.getId());
+ goodsorder.setLinkname(member.getName());
+ goodsorder.setLinkphone(member.getPhone());
if(Objects.isNull(member.getBindShopId())){
member.setBindShopId(shop.getId());
member.setBindShopDate(new Date());
@@ -905,7 +911,7 @@
dealIntegralRequest.setObjId(goodsorder.getId());
dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.MEMBER_ORDER);
- integralService.dealIntegral(dealIntegralRequest);
+ integralService.dealIntegral(dealIntegralRequest,null);
}
if(goodsorder.getPrice().compareTo(orderPayRequest.getTitlePrice())!=Constants.ZERO){
@@ -1191,7 +1197,7 @@
dealIntegralRequest.setObjId(goodsorder.getId());
dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.MEMBER_ORDER_CANCEL);
- integralService.dealIntegral(dealIntegralRequest);
+ integralService.dealIntegral(dealIntegralRequest,null);
}
//璁㈠崟淇℃伅鍙栨秷
goodsorder.setStatus(Constants.OrderStatus.CLOSE.getKey());
@@ -1199,6 +1205,10 @@
goodsorder.setCancelInfo(cancelInfo);
goodsorder.setCancelUser(optUserId);
goodsorderMapper.updateById(goodsorder);
+ if(Constants.equalsInteger(goodsorder.getReceiveType(),Constants.ONE)){
+ //閲婃斁鏍搁攢鐮�
+ this.releaseExchangeCode(goodsorder.getExchangeCode());
+ }
String goodsName = "";
List<GoodsorderDetail> goodsorderDetailList = goodsorderDetailMapper.selectList(new QueryWrapper<GoodsorderDetail>().eq("ORDER_ID",goodsorder.getId()));
if(!Objects.isNull(goodsorderDetailList)&&goodsorderDetailList.size()>Constants.ZERO){
@@ -1268,7 +1278,7 @@
dealIntegralRequest.setObjId(goodsorder.getId());
dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.MEMBER_ORDER_CANCEL);
- integralService.dealIntegral(dealIntegralRequest);
+ integralService.dealIntegral(dealIntegralRequest,null);
}
//璁㈠崟淇℃伅鍙栨秷
goodsorder.setStatus(Constants.OrderStatus.CLOSE.getKey());
@@ -1276,6 +1286,10 @@
goodsorder.setCancelInfo(StringUtils.isBlank(cancelInfo)?"鐢ㄦ埛涓诲姩鍙栨秷":cancelInfo);
goodsorder.setCancelUser(optUserId);
goodsorderMapper.updateById(goodsorder);
+ if(Constants.equalsInteger(goodsorder.getReceiveType(),Constants.ONE)){
+ //閲婃斁鏍搁攢鐮�
+ this.releaseExchangeCode(goodsorder.getExchangeCode());
+ }
String goodsName = "";
List<GoodsorderDetail> goodsorderDetailList = goodsorderDetailMapper.selectList(new QueryWrapper<GoodsorderDetail>().eq("ORDER_ID",goodsorder.getId()));
if(!Objects.isNull(goodsorderDetailList)&&goodsorderDetailList.size()>Constants.ZERO){
@@ -1305,8 +1319,6 @@
memberCouponMapper.updateById(memberCoupon);
}
}
-
-
}
public BigDecimal getDeductAmount(List<PayDetailRequest> requestList){
@@ -1653,7 +1665,7 @@
this.orderAddShopIntegral(goodsorder);
//涓嬪崟瀹屾垚 鏍规嵁淇℃伅纭鏄惁闇�瑕佽禒閫侀個璇疯�呬紭鎯犲埜
this.orderDoneRewardInviteCoupon(goodsorder);
- //娑堣垂鑰呯‘璁ゆ敹璐�
+ //璧犻�佹秷璐硅�呬笅鍗曠Н鍒�
this.orderAddMemberIntegral(goodsorder);
//缁忛攢鍟� 缁撶畻閲戦
this.orderAddShopCash(goodsorder);
@@ -1695,6 +1707,9 @@
List<MemberCoupon> memberCouponList = new ArrayList<>();
List<CouponNoticeRequest> requestList = new ArrayList<>();
for (JSONObject jsonObject:shareCouponRewardList) {
+ if(!jsonObject.containsKey("couponId")||!jsonObject.containsKey("num")){
+ continue;
+ }
Integer couponId = jsonObject.getInteger("couponId");
Integer num = jsonObject.getInteger("num");
Coupon coupon = couponMapper.selectById(couponId);
@@ -1703,11 +1718,14 @@
}
MemberCoupon memberCoupon = MemberCoupon.couponToBean(coupon,inviteMember,new Date(),Constants.ONE,null);
for (int i = 0; i < num; i++) {
+ //婊″噺鍗蜂笉浼氱敓鎴恗axPrice 闇�瑕佹牴鎹紭鎯犲埜鍑忓皯閲戦璁剧疆
+ if(Constants.equalsInteger(coupon.getCouponType(),Constants.ZERO)){
+ memberCoupon.setMaxPrice(coupon.getPrice());
+ }
memberCouponList.add(memberCoupon);
}
couponIds = couponIds + (StringUtils.isBlank(couponIds)? ",":"" )+ couponId ;
couponNames = couponNames + (StringUtils.isBlank(couponNames)? ",":"" )+ coupon.getName() ;
-
CouponNoticeRequest couponNoticeRequest = new CouponNoticeRequest();
couponNoticeRequest.setMemberCoupon(memberCoupon);
@@ -1765,6 +1783,8 @@
goodsorder.setStatus(Constants.OrderStatus.DONE.getKey());
goodsorder.setDoneDate(new Date());
goodsorderMapper.updateById(goodsorder);
+ //閲婃斁鏍搁攢鐮�
+ this.releaseExchangeCode(goodsorder.getExchangeCode());
//瀛樺湪鐜伴噾鏀粯 璧犻�� 绉垎
if(Constants.equalsInteger(goodsorder.getPayMethod(),Constants.ZERO)){
//璧犻�佹秷璐硅�呯Н鍒�
@@ -1801,7 +1821,7 @@
if(Objects.nonNull(member)){
dealIntegralRequest.setParam1(member.getNickname());
}
- integralService.dealShopIntegral(dealIntegralRequest);
+ integralService.dealShopIntegral(dealIntegralRequest,null);
}
}
@@ -1846,7 +1866,7 @@
dealIntegralRequest.setObjId(goodsorder.getId());
dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.ORDER_DONATE);
- integralService.dealIntegral(dealIntegralRequest);
+ integralService.dealIntegral(dealIntegralRequest,null);
}
}
@@ -1899,8 +1919,6 @@
if(!goodsorder.getStatus().equals(Constants.OrderStatus.DONE.getKey())){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鎿嶄綔澶辫触锛氳鍗曟湭瀹屾垚锛屾棤娉曢��娆撅紒");
}
-
-
}
@@ -2210,4 +2228,39 @@
+ @Override
+ public String createExchangeCode(){
+ List<Goodsorder> goodsorderList = goodsorderMapper.selectList(new QueryWrapper<Goodsorder>().lambda()
+ .eq(Goodsorder::getIsdeleted,Constants.ZERO)
+ .eq(Goodsorder::getReceiveType,Constants.ONE)
+ .in(Goodsorder::getStatus,Constants.OrderStatus.WAIT_RECEIVE.getKey(),
+ Constants.OrderStatus.WAIT_PAY.getKey(),
+ Constants.OrderStatus.PAY_DONE.getKey())
+ );
+ String exchangeCode = UniqueVerificationCodeGenerator.generateNumericCode();
+ if(CollectionUtils.isNotEmpty(goodsorderList)){
+ Boolean flag = true;
+ while (flag){
+ String finalExchangeCode = exchangeCode;
+ flag = goodsorderList.stream().filter(i->i.getExchangeCode().equals(finalExchangeCode)).count()>0L?true:false;
+ if(flag){
+ exchangeCode = UniqueVerificationCodeGenerator.generateNumericCode();
+ }
+ }
+ }
+ RedisUtil.addObject(redisTemplate,Constants.RedisKeys.EXCHANGE_KEY+exchangeCode,exchangeCode);
+ return exchangeCode;
+ }
+
+
+ /**
+ * 閲婃斁鏍搁攢鐮�
+ * @param code
+ */
+ public void releaseExchangeCode(String code){
+ if(StringUtils.isNotBlank(code)){
+ RedisUtil.deleteObject(redisTemplate,Constants.RedisKeys.EXCHANGE_KEY+code);
+ }
+ }
+
}
--
Gitblit v1.9.3