From 4f30734588eb34ea2d7c27856f72ce40da8ab365 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期六, 28 二月 2026 12:01:10 +0800
Subject: [PATCH] 小程序   接口开发

---
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberCouponServiceImpl.java |   43 +++++++++++++++++++++++++------------------
 1 files changed, 25 insertions(+), 18 deletions(-)

diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberCouponServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberCouponServiceImpl.java
index 2d94d81..64c3ff8 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberCouponServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberCouponServiceImpl.java
@@ -70,24 +70,29 @@
 
     @Override
     @Transactional(rollbackFor = {BusinessException.class,Exception.class})
-    public    String addBatch(MemberCouponAddDTO memberCoupon){
-        checkAddBatchParamValid(memberCoupon);
+    public    String addBatch(MemberCouponAddDTO memberCouponAddDTO){
+        checkAddBatchParamValid(memberCouponAddDTO);
 
-        List<Coupon> couponList = getCouponListByParam(memberCoupon);
-        List<Member> memberList = getMemberListByParam(memberCoupon);
+        List<Coupon> couponList = getCouponListByParam(memberCouponAddDTO);
+        List<Member> memberList = getMemberListByParam(memberCouponAddDTO);
         List<MemberCoupon>  addList = new ArrayList<>();
         int index =1;
         LoginUserInfo loginUserInfo = (LoginUserInfo)SecurityUtils.getSubject().getPrincipal();
         Date now = new Date();
-        for(Coupon param  : memberCoupon.getAddCouponList()){
+        for(Coupon param  : memberCouponAddDTO.getAddCouponList()){
             Coupon  coupon = getCouponFromListById(param.getId(),couponList);
             if(coupon == null){
                 throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗��"+index+"銆戜釜浼樻儬鍒告煡璇㈡棤鏁堬紝璇峰埛鏂伴〉闈㈤噸鏂帮紒");
             }
             for(Member member : memberList){
                 for (int i = 0; i < Constants.formatLongNum(param.getNum()); i++) {
+                    MemberCoupon memberCoupon = MemberCoupon.couponToBean(coupon,member,now,Constants.TWO,loginUserInfo);
+                    //婊″噺鍗蜂笉浼氱敓鎴恗axPrice 闇�瑕佹牴鎹紭鎯犲埜鍑忓皯閲戦璁剧疆
+                    if(Constants.equalsInteger(coupon.getCouponType(),Constants.ZERO)){
+                        memberCoupon.setMaxPrice(coupon.getPrice());
+                    }
                     //鎸ㄤ釜閫�
-                    addList.add(MemberCoupon.couponToBean(coupon,member,now,Constants.TWO,loginUserInfo));
+                    addList.add(memberCoupon);
                 }
             }
             index++;
@@ -97,7 +102,6 @@
             memberCouponMapper.insert(addList);
         }
         return "鎿嶄綔鎴愬姛,鎴愬姛浜哄憳鏁伴噺锛�"+memberList.size()+",鍏卞彂鏀句紭鎯犲埜鏁伴噺锛�"+addList.size();
-
     }
 /*
 
@@ -325,13 +329,16 @@
         queryWrapper.leftJoin(Goodsorder.class,Goodsorder::getId,MemberCoupon::getOrderId);
         queryWrapper.leftJoin(SystemUser.class,SystemUser::getId,MemberCoupon::getCreator);
         queryWrapper.eq(MemberCoupon::getIsdeleted, Constants.ZERO);
-        if(pageWrap.getModel().getStatus()!=null && pageWrap.getModel().getStatus()!=2){
-            queryWrapper.eq(pageWrap.getModel().getStatus()!=null,MemberCoupon::getStatus, pageWrap.getModel().getStatus());
-        } else if (pageWrap.getModel().getStatus()!=null && pageWrap.getModel().getStatus()==2) {
-            //鏌ヨ宸茶繃鏈�(鏈娇鐢紝鍒囧凡杩囦簡浣跨敤鏈熼檺锛�
-            queryWrapper.eq( MemberCoupon::getStatus, Constants.ZERO);
-            queryWrapper.lt( MemberCoupon::getEndDate, new Date());
+        if(Constants.equalsInteger(pageWrap.getModel().getStatus(),0)&&pageWrap.getModel().getIsexpire()!=null && pageWrap.getModel().getIsexpire()== 0){
+            queryWrapper.gt( MemberCoupon::getEndDate, new Date());
+        } else if (Constants.equalsInteger(pageWrap.getModel().getStatus(),0)&&pageWrap.getModel().getIsexpire()!=null && pageWrap.getModel().getIsexpire()== 1) {
+            queryWrapper.le( MemberCoupon::getEndDate, new Date());
         }
+        queryWrapper.in(pageWrap.getModel().getMethodList()!=null,MemberCoupon::getGetMethod, pageWrap.getModel().getMethodList());
+        queryWrapper.eq(pageWrap.getModel().getStatus()!=null,MemberCoupon::getStatus, pageWrap.getModel().getStatus());
+        queryWrapper.eq(pageWrap.getModel().getCouponType()!=null,MemberCoupon::getCouponType, pageWrap.getModel().getCouponType());
+        queryWrapper.eq(pageWrap.getModel().getCouponId()!=null,MemberCoupon::getCouponId, pageWrap.getModel().getCouponId());
+        queryWrapper.like(pageWrap.getModel().getName()!=null,MemberCoupon::getName, pageWrap.getModel().getName());
         queryWrapper.eq(pageWrap.getModel().getOrderCode()!=null,Goodsorder::getCode, pageWrap.getModel().getOrderCode());
         queryWrapper.eq(pageWrap.getModel().getGetMethod()!=null,MemberCoupon::getGetMethod, pageWrap.getModel().getGetMethod());
         queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getNikeName()),ms -> ms.like( Member::getNickname,  pageWrap.getModel().getNikeName()).
@@ -346,7 +353,9 @@
                         && model.getEndDate()!=null
                         && model.getEndDate().before(new Date())){
                     //宸茶繃鏈�
-                    model.setStatus(Constants.TWO);
+                    model.setIsexpire(Constants.ONE);
+                }else if(Constants.equalsInteger(model.getStatus(),Constants.ZERO)){
+                    model.setIsexpire(Constants.ZERO);
                 }
             }
         }
@@ -380,7 +389,7 @@
                 .apply(Objects.nonNull(status)&&Constants.equalsInteger(status,Constants.TWO),"m.STATUS = 0 and  m.END_DATE < now() " )
                 .eq("TYPE",couponType)
                 .apply(!Objects.isNull(price)," m.LIMIT_PRICE >= "+price+" ")
-                .apply("   now() between m.START_DATE and m.END_DATE ")
+//                .apply("   now() between m.START_DATE and m.END_DATE ")
                 .orderByDesc(" m.PRICE ")
         );
         return page;
@@ -520,10 +529,7 @@
         memberCoupon.setBackIntegral(BigDecimal.ZERO);
         memberCoupon.setName(coupon.getName());
         memberCouponMapper.insert(memberCoupon);
-        //TODO 娣诲姞绉垎鍙樺姩璁板綍
 
-        //鏇存柊鐢ㄦ埛绉垎
-        memberMapper.subtractIntegral(memberId,memberCoupon.getIntegral());
     }
 
 
@@ -544,6 +550,7 @@
         //鏌ヨ鍟嗗搧鍒楄〃
         List<Goods> goodsList = goodsMapper.selectJoinList(Goods.class,
                 new MPJLambdaWrapper<Goods>()
+                        .selectAll(Goods.class)
                         .selectAs(GoodsSku::getPrice,Goods::getSkuPrice)
                         .selectAs(GoodsSku::getId,Goods::getSkuId)
                         .leftJoin(GoodsSku.class,GoodsSku::getGoodsId,Goods::getId)

--
Gitblit v1.9.3