From 80d88f15a2222ec2dbe33f5d1d2b2296a890f41b Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期二, 03 三月 2026 16:22:04 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java |   70 +++++++++++++++++++++--------------
 1 files changed, 42 insertions(+), 28 deletions(-)

diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index a2fe488..339d3aa 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -55,6 +55,7 @@
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
 import org.apache.shiro.SecurityUtils;
+import org.checkerframework.checker.units.qual.N;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
@@ -91,6 +92,8 @@
     private ShopMapper shopMapper;
     @Autowired
     private UserActionMapper userActionMapper;
+    @Autowired
+    private NoticeMapper noticeMapper;
 
 
     @Autowired
@@ -253,13 +256,13 @@
                  .or().like(Member::getName,pageWrap.getModel().getNickname())
                 .or().like(Member::getPhone,pageWrap.getModel().getNickname())
         );
-        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getShopName()),Shop::getStatus,pageWrap.getModel().getShopName());
+        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getShopName()),Shop::getName,pageWrap.getModel().getShopName());
         queryWrapper.eq(pageWrap.getModel().getStatus()!=null,Member::getStatus,pageWrap.getModel().getStatus());
         queryWrapper.eq(Member::getIsdeleted,Constants.ZERO);
         queryWrapper.ge(pageWrap.getModel().getStarttime()!=null, Member::getCreateDate,pageWrap.getModel().getStarttime());
         queryWrapper.le(pageWrap.getModel().getEndtime()!=null,Member::getCreateDate, pageWrap.getModel().getEndtime());
 
-        queryWrapper.orderByDesc(Member::getCreateDate);
+        queryWrapper.orderByDesc(Member::getId);
 
         IPage<Member> result = memberJoinMapper.selectJoinPage(page, Member.class, queryWrapper);
 
@@ -269,6 +272,10 @@
             for(Member model:result.getRecords()){
                 if(StringUtils.isNotBlank(model.getImgurl())){
                     model.setImgFullUrl(path);
+                }
+                model.setTotalReduceIntegral(Constants.formatBigdecimal(model.getTotalIntegral()).subtract(Constants.formatBigdecimal(model.getIntegral())));
+                if(model.getTotalReduceIntegral().compareTo(new BigDecimal(0)) <=0){
+                    model.setTotalReduceIntegral(new BigDecimal(0));
                 }
             }
         }
@@ -317,11 +324,8 @@
             AccountResponse accountResponse = new AccountResponse();
             if(Objects.nonNull(member)){
                 memberMapper.updateById(member);
-                member.setImgFullUrl(systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+
-                        systemDictDataBiz.queryByCode(Constants.OSS,Constants.MEMBER_FILE).getCode()+member.getImgurl());
-                //鍒涘缓token
-//                JwtPayLoad payLoad = new JwtPayLoad(Constants.MEMBER_PREFIX+member.getId());
-//                String token = JwtTokenUtil.generateToken(payLoad);
+                member.setImgFullUrl(StringUtils.isNotBlank(member.getImgurl())?systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+
+                        systemDictDataBiz.queryByCode(Constants.OSS,Constants.MEMBER_FILE).getCode()+member.getImgurl():null);
                 String token = JwtTokenUtil.generateTokenForRedis(member.getId(), Constants.ZERO, JSONObject.toJSONString(member), redisTemplate);
                 accountResponse.setToken(token);
                 accountResponse.setOpenid(openId);
@@ -337,18 +341,19 @@
     }
 
 
-//    @Override
-//    public AccountResponse wxLoginTest( Integer memberId){
-//        //鍒涘缓token
-////        JwtPayLoad payLoad = new JwtPayLoad(Constants.MEMBER_PREFIX+memberId);
-////        String token = JwtTokenUtil.generateToken(payLoad);
-//        String token = JwtTokenUtil.generateTokenForRedis(memberId, Constants.ZERO, JSONObject.toJSONString(null), redisTemplate);
-//        AccountResponse accountResponse = new AccountResponse();
-//        accountResponse.setToken(token);
-//        return accountResponse;
-//    }
+    @Override
+    public AccountResponse wxLoginTest(Integer memberId){
+        Member member = memberMapper.selectById(memberId);
+        AccountResponse accountResponse = new AccountResponse();
+        String token = JwtTokenUtil.generateTokenForRedis(member.getId(), Constants.ZERO, JSONObject.toJSONString(member), redisTemplate);
+        accountResponse.setToken(token);
+        accountResponse.setMember(member);
+        return accountResponse;
+    }
+
 
     @Override
+    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
     public AccountResponse wxPhone(WxPhoneRequest wxPhoneRequest){
         try {
             WxMaPhoneNumberInfo userPhoneInfo = WxMiniConfig.wxMaService.getUserService().getPhoneNumber(wxPhoneRequest.getCode());
@@ -369,25 +374,21 @@
                 if(!this.checkIsCreateInvite(phone)){
                     member.setRecId(wxPhoneRequest.getRecId());
                 }
-                member.setIntegral(BigDecimal.ZERO);
                 member.setPhone(phone);
+                member.setStatus(Constants.ZERO);
             }
             member.setOpenId(wxPhoneRequest.getOpenid());
             member.setEditDate(new Date());
-            member.setImgFullUrl(systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+
-                    systemDictDataBiz.queryByCode(Constants.OSS,Constants.MEMBER_FILE).getCode()+member.getImgurl());
+            member.setImgFullUrl(StringUtils.isNotBlank(member.getImgurl())?systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+
+                    systemDictDataBiz.queryByCode(Constants.OSS,Constants.MEMBER_FILE).getCode()+member.getImgurl():null);
             if(Objects.isNull(member.getId())){
                 memberMapper.insert(member);
                 PlatformConfigDTO platformConfigDTO = systemDictDataService.getPlatformConfigDTO();
                 this.createRegionReward(member,platformConfigDTO);
                 //鍒涘缓閭�璇疯褰�
                 this.createInviteRecord(member,platformConfigDTO);
-//                member.setSharingCode(this.createShareCode(member.getId()));
                 memberMapper.updateById(member);
             }else{
-//                if(StringUtils.isBlank(member.getSharingCode())){
-//                    member.setSharingCode(this.createShareCode(member.getId()));
-//                }
                 memberMapper.updateById(member);
             }
             if(Objects.nonNull(wxPhoneRequest.getShopId())){
@@ -425,7 +426,7 @@
             dealIntegralRequest.setDealType(Constants.ZERO);
             dealIntegralRequest.setMemberId(member.getId());
             dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.REGISTER);
-            integralService.dealIntegral(dealIntegralRequest);
+            integralService.dealIntegral(dealIntegralRequest,member);
         }
         //寮�鍚敞鍐岄�佷紭鎯犲埜
         if(Constants.equalsInteger(platformConfigDTO.getRegCouponRewardStatus(),Constants.ZERO)){
@@ -434,6 +435,9 @@
             if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(regCouponRewardList)){
                 List<MemberCoupon> memberCouponList = new ArrayList<>();
                 for (JSONObject jsonObject:regCouponRewardList) {
+                    if(!jsonObject.containsKey("couponId")||!jsonObject.containsKey("num")){
+                        continue;
+                    }
                     Integer couponId = jsonObject.getInteger("couponId");
                     Integer num = jsonObject.getInteger("num");
                     Coupon coupon =  couponMapper.selectById(couponId);
@@ -442,8 +446,16 @@
                     }
                     MemberCoupon memberCoupon = MemberCoupon.couponToBean(coupon,member,new Date(),Constants.ZERO,null);
                     for (int i = 0; i < num; i++) {
+                        //婊″噺鍗蜂笉浼氱敓鎴恗axPrice 闇�瑕佹牴鎹紭鎯犲埜鍑忓皯閲戦璁剧疆
+                        if(Constants.equalsInteger(coupon.getCouponType(),Constants.ZERO)){
+                            memberCoupon.setMaxPrice(coupon.getPrice());
+                        }
                         memberCouponList.add(memberCoupon);
                     }
+                    Notice notice = Notice.getNotice(Constants.NoticeType.COUPON,
+                            member.getId(),null);
+                    notice.setContent(notice.getContent().replace("{param}",Constants.getCouponInfo(memberCoupon,num)));
+                    noticeMapper.insert(notice);
                 }
                 if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(memberCouponList)){
                     memberCouponJoinMapper.insert(memberCouponList);
@@ -480,7 +492,9 @@
             dealIntegralRequest.setMemberId(member.getRecId());
             dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.INVITENEWUSER);
             dealIntegralRequest.setParam1(member.getNickname());
-            integralService.dealIntegral(dealIntegralRequest);
+            integralService.dealIntegral(dealIntegralRequest,member);
+            //娣诲姞娑堟伅璁板綍
+
         }
     }
 
@@ -735,7 +749,7 @@
                 dealIntegralRequest.setObjId(s.getId());
                 dealIntegralRequest.setOrderCode(null);
                 dealIntegralRequest.setDealType(memberRechargeDTO.getIntegralType());
-                integralService.dealIntegral(dealIntegralRequest);
+                integralService.dealIntegral(dealIntegralRequest,null);
             });
 //            integralService.dealIntegral()
         } catch (Exception e) {
@@ -769,7 +783,7 @@
         dealIntegralRequest.setObjId(memberRechargeDTO.getMemberId());
         dealIntegralRequest.setOrderCode(null);
         dealIntegralRequest.setDealType(memberRechargeDTO.getIntegralType());
-        Integer integer = integralService.dealIntegral(dealIntegralRequest);
+        Integer integer = integralService.dealIntegral(dealIntegralRequest,null);
         return integer;
     }
 

--
Gitblit v1.9.3