From 4a8aacc59c7a3f972ede1cd1f375977dc3ba23aa Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期三, 20 五月 2026 23:10:10 +0800
Subject: [PATCH] 代码生成

---
 server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java |   58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 55 insertions(+), 3 deletions(-)

diff --git a/server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index f990099..6b196d9 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -356,6 +356,8 @@
                 member.setAutoReceiveStatus(Constants.ONE);
                 member.setUserType(Constants.ZERO);
                 memberMapper.insert(member);
+                // 娉ㄥ唽璧犻�佷紭鎯犲埜
+                giftRegisterCoupons(member);
             }
             String token = JwtTokenUtil.generateTokenForRedis(member.getId(), Constants.ZERO, JSONObject.toJSONString(member), redisTemplate);
             AccountResponse accountResponse = new AccountResponse();
@@ -408,9 +410,9 @@
             }
         }
         // 鏍规嵁openid鏌ヨ褰撳墠缁戝畾鐨勯棬搴�
-        if (StringUtils.isNotBlank(member.getOpenid())) {
+        if (Objects.nonNull(member.getLoginShopId())) {
             ShopInfo bindShop = shopInfoMapper.selectOne(new QueryWrapper<ShopInfo>().lambda()
-                    .eq(ShopInfo::getOpenid, member.getOpenid())
+                    .eq(ShopInfo::getId, member.getLoginShopId())
                     .eq(ShopInfo::getDeleted, Constants.ZERO)
                     .last("limit 1"));
             if (bindShop != null) {
@@ -426,6 +428,7 @@
             || ( StringUtils.isBlank(member.getCoverImage())
                 && StringUtils.isBlank(member.getName())
                 && StringUtils.isBlank(member.getNickName())
+                && StringUtils.isBlank(member.getEmail())
                 && Objects.isNull(member.getAutoReceiveStatus()) )){
             throw new BusinessException(ResponseStatus.BAD_REQUEST);
         }
@@ -433,6 +436,7 @@
                 .set(StringUtils.isNotBlank(member.getNickName()),Member::getNickName,member.getNickName())
                 .set(StringUtils.isNotBlank(member.getName()),Member::getName,member.getName())
                 .set(StringUtils.isNotBlank(member.getCoverImage()),Member::getCoverImage,member.getCoverImage())
+                .set(StringUtils.isNotBlank(member.getEmail()),Member::getEmail,member.getEmail())
                 .set(Objects.nonNull(member.getAutoReceiveStatus()),Member::getAutoReceiveStatus,member.getAutoReceiveStatus())
                         .set(Member::getUpdateTime,new Date())
                 .eq(Member::getId,member.getId()));
@@ -452,6 +456,7 @@
         userCenterVO.setTelephone(member.getTelephone());
         userCenterVO.setCoverImage(member.getCoverImage());
         userCenterVO.setOpenid(member.getOpenid());
+        userCenterVO.setEmail(member.getEmail());
         if(StringUtils.isNotBlank(member.getCoverImage())){
             String path  = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()
                     +systemDictDataBiz.queryByCode(Constants.OSS,Constants.MEMBER_FILES).getCode();
@@ -720,6 +725,12 @@
         );
     }
 
+    /**
+     * 娉ㄥ唽婊骞磋禒閫佷紭鎯犲埜锛堝畾鏃朵换鍔¤皟鐢級
+     * 瑙勫垯锛氭牴鎹繍钀ラ厤缃� registerCouponYears锛堟弧鍑犲勾璧犻�侊級銆乺egisterCouponGiftCount锛堣嚦澶氳禒閫佹鏁帮級銆乺egisterCouponId锛堣禒閫佷紭鎯犲埜ID鍒楄〃锛夛紝
+     * 閬嶅巻鎵�鏈夋櫘閫氫細鍛橈紝璁$畻娉ㄥ唽骞撮檺锛屾瘡婊¢厤缃勾鏁拌禒閫佷竴娆★紝绱璧犻�佹鏁颁笉瓒呰繃閰嶇疆涓婇檺銆�
+     * 渚嬪锛氶厤缃弧2骞磋禒閫併�佽嚦澶�3娆★紝鍒欐敞鍐岀2/4/6骞村悇璧犻�佷竴娆★紝鍏�3娆°��
+     */
     @Override
     public void giftRegisterCoupon() {
         // 1. 璇诲彇閰嶇疆
@@ -748,11 +759,17 @@
             return;
         }
 
-        // 3. 鏌ヨ鎵�鏈夋櫘閫氫細鍛�
+        // 3. 鏁版嵁搴撳眰闈㈣繃婊わ細娉ㄥ唽婊onfigYears涓旀湭璧犳弧鐨勬櫘閫氫細鍛�
+        Calendar cal = Calendar.getInstance();
+        cal.add(Calendar.YEAR, -configYears);
+        Date minRegisterDate = cal.getTime();
+
         List<Member> members = memberMapper.selectList(new QueryWrapper<Member>().lambda()
                 .eq(Member::getDeleted, Constants.ZERO)
                 .eq(Member::getStatus, Constants.ZERO)
                 .eq(Member::getUserType, Constants.ZERO)
+                .le(Member::getCreateTime, minRegisterDate)
+                .lt(Member::getRegisterCouponGiftCount, maxGiftCount)
                 .isNotNull(Member::getCreateTime));
 
         Date now = new Date();
@@ -803,4 +820,39 @@
         log.info("娉ㄥ唽婊″勾璧犻�佷紭鎯犲埜瀹屾垚锛屽叡澶勭悊{}鍚嶄細鍛�", giftedMemberCount);
     }
 
+    private void giftRegisterCoupons(Member member) {
+        String couponIdsStr = operationConfigBiz.getConfig().getRegisterGiftCouponIds();
+        if (StringUtils.isBlank(couponIdsStr)) {
+            return;
+        }
+        String[] idArr = couponIdsStr.split(",");
+        Date now = new Date();
+        for (String idStr : idArr) {
+            String trimmed = idStr.trim();
+            if (StringUtils.isBlank(trimmed)) continue;
+            Coupon coupon = couponMapper.selectById(Integer.valueOf(trimmed));
+            if (coupon == null || Constants.equalsInteger(coupon.getIsdeleted(), Constants.ONE)) continue;
+            MemberCoupon mc = new MemberCoupon();
+            mc.setCouponId(coupon.getId());
+            mc.setMemberId(member.getId());
+            mc.setStatus(Constants.CouponStatus.waitClaim.getKey());
+            Calendar validCal = Calendar.getInstance();
+            validCal.add(Calendar.DAY_OF_MONTH, coupon.getPushDays() != null ? coupon.getPushDays() : 7);
+            mc.setValidDate(validCal.getTime());
+            mc.setName(coupon.getName());
+            mc.setInfo(coupon.getInfo());
+            mc.setType(coupon.getType());
+            mc.setLimitPrice(coupon.getLimitPrice());
+            mc.setPrice(coupon.getPrice());
+            mc.setGetMethod(coupon.getGetMethod());
+            mc.setCouponType(coupon.getCouponType());
+            mc.setPushDays(coupon.getPushDays());
+            mc.setValidDays(coupon.getValidDays());
+            mc.setIsdeleted(Constants.ZERO);
+            mc.setCreateDate(now);
+            mc.setEditDate(now);
+            memberCouponMapper.insert(mc);
+        }
+    }
+
 }

--
Gitblit v1.9.3