From 99dac23df67b49972724dfe53c7902da9f47e052 Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Mon, 29 Jan 2024 23:45:54 +0800
Subject: [PATCH] fix

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java |   33 +++++++++++++++++++++++++--------
 1 files changed, 25 insertions(+), 8 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
index 1279ee7..059ea38 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -385,11 +385,11 @@
         moneyFlowDto.setMemberId(id);
         IPage<MoneyFlowVo> pages = mallMoneyFlowMapper.selectApiMoneyFlowInPage(page, moneyFlowDto);
 
-//        if (moneyFlowDto.getFlowType() == 3) {
-//            pages.getRecords().forEach(item -> {
-//                item.setDescription(ScoreFlowTypeEnum.getDescByValue(item.getType()));
-//            });
-//        }
+        if (moneyFlowDto.getFlowType() == 3) {
+            pages.getRecords().forEach(item -> {
+                item.setDescription(ScoreFlowTypeEnum.getDescByValue(item.getType()));
+            });
+        }
         return new FebsResponse().success().data(pages);
     }
 
@@ -622,7 +622,6 @@
                     mallMember = new MallMember();
                     mallMember.setAccountStatus(MallMember.ACCOUNT_STATUS_ENABLE);
                     mallMember.setAccountType(MallMember.ACCOUNT_TYPE_NORMAL);
-                    mallMember.setLevel(AgentLevelEnum.ZERO_LEVEL.name());
                     mallMember.setOpenId(openId);
                     mallMember.setSessionKey(sessionKey);
 
@@ -726,7 +725,7 @@
         }
 
         List<MallVipConfig> configs = mallVipConfigMapper.selectVipConfigList();
-        if (CollUtil.isNotEmpty(configs)) {
+        if (StrUtil.isBlank(mallMember.getLevel()) && CollUtil.isNotEmpty(configs)) {
             MallVipConfig mallVipConfig = configs.get(0);
             mallMember.setLevel(mallVipConfig.getCode());
         }
@@ -751,7 +750,6 @@
                     mallMember.setPhone(phone);
                     mallMember.setAccountStatus(MallMember.ACCOUNT_STATUS_ENABLE);
                     mallMember.setAccountType(MallMember.ACCOUNT_TYPE_NORMAL);
-                    mallMember.setLevel(AgentLevelEnum.ZERO_LEVEL.name());
                     this.baseMapper.insert(mallMember);
 
                     String inviteId = ShareCodeUtil.toSerialCode(mallMember.getId());
@@ -1118,6 +1116,24 @@
                 .eq(MallGoodsCoupon::getState, 2);
         List<MallGoodsCoupon> coupons = mallGoodsCouponMapper.selectList(query);
 
+        LambdaQueryWrapper<MallMemberCoupon> memberCouponQuery = new LambdaQueryWrapper<>();
+        memberCouponQuery.in(MallMemberCoupon::getCouponId, couponIds)
+                        .eq(MallMemberCoupon::getMemberId, member.getId())
+                        .eq(MallMemberCoupon::getFromType, 3)
+                        .ge(MallMemberCoupon::getCreatedTime, DateUtil.beginOfDay(new Date()))
+                        .le(MallMemberCoupon::getCreatedTime, DateUtil.endOfDay(new Date()));
+        List<MallMemberCoupon> mallMemberCoupons = mallMemberCouponMapper.selectList(memberCouponQuery);
+        if (CollUtil.isNotEmpty(mallMemberCoupons)) {
+            Map<Long, MallMemberCoupon> map = mallMemberCoupons.stream().collect(Collectors.toMap(MallMemberCoupon::getCouponId, MallMemberCoupon -> MallMemberCoupon));
+            coupons = coupons.stream().filter(item -> {
+                return map.get(item.getId()) == null;
+            }).collect(Collectors.toList());
+        }
+
+        if (CollUtil.isEmpty(coupons)) {
+            return new HashMap<>();
+        }
+
         coupons.forEach(item -> {
             MallMemberCoupon memberCoupon = new MallMemberCoupon();
             memberCoupon.setCouponId(item.getId());
@@ -1125,6 +1141,7 @@
             memberCoupon.setInviteId(member.getInviteId());
             memberCoupon.setCouponUuid(IdUtil.simpleUUID());
             memberCoupon.setState(1);
+            memberCoupon.setFromType(3);
             memberCoupon.setExpireTime(DateUtil.offsetDay(DateUtil.date(), item.getExpireDay()));
             memberCoupon.setMemberId(member.getId());
             mallMemberCouponMapper.insert(memberCoupon);

--
Gitblit v1.9.1