From 800c109fbc380dcd2cc42570a46b4329c4840366 Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Thu, 25 Jan 2024 21:24:45 +0800
Subject: [PATCH] fix

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java |   76 ++++++++++++++++++++++++++++++++++---
 1 files changed, 69 insertions(+), 7 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 1be19b6..53f5611 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
@@ -1,10 +1,7 @@
 package cc.mrbird.febs.mall.service.impl;
 
 import cc.mrbird.febs.common.entity.FebsResponse;
-import cc.mrbird.febs.common.enumerates.AgentLevelEnum;
-import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
-import cc.mrbird.febs.common.enumerates.FlowTypeEnum;
-import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum;
+import cc.mrbird.febs.common.enumerates.*;
 import cc.mrbird.febs.common.exception.FebsException;
 import cc.mrbird.febs.common.properties.XcxProperties;
 import cc.mrbird.febs.common.utils.*;
@@ -17,6 +14,8 @@
 import cc.mrbird.febs.mall.vo.*;
 import cc.mrbird.febs.pay.model.BrandWCPayRequestData;
 import cc.mrbird.febs.pay.service.IXcxPayService;
+import cc.mrbird.febs.vip.entity.MallVipConfig;
+import cc.mrbird.febs.vip.mapper.MallVipConfigMapper;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DateUtil;
@@ -76,6 +75,8 @@
     private final MallGoodsCouponMapper mallGoodsCouponMapper;
     private final MallMemberCouponMapper mallMemberCouponMapper;
     private final MallGoodsMapper mallGoodsMapper;
+
+    private final MallVipConfigMapper mallVipConfigMapper;
 
 
     @Value("${spring.profiles.active}")
@@ -285,9 +286,13 @@
         mallMemberVo.setChildCnt(CollUtil.isNotEmpty(mallMembers) ? mallMembers.size() : 0);
 
         MallMemberWallet wallet = mallMemberWalletMapper.selectWalletByMemberId(mallMemberVo.getId());
+
+        MallVipConfig mallVipConfig = mallVipConfigMapper.selectVipConfigByCode(mallMember.getLevel());
+
+        mallMemberVo.setVipInfo(mallVipConfig);
         mallMemberVo.setBalance(wallet.getBalance());
 //        mallMemberVo.setScore(wallet.getScore());
-//        mallMemberVo.setPrizeScore(wallet.getPrizeScore());
+        mallMemberVo.setPrizeScore(wallet.getPrizeScore());
 //        mallMemberVo.setTotalCost(mallOrderInfoMapper.selectTotalAmount(id));
         return new FebsResponse().success().data(mallMemberVo);
     }
@@ -304,7 +309,7 @@
             }
         }
 
-        List<MallShoppingCart> carts = mallShoppingCartMapper.selectCartGoodsList(id);
+        List<MallShoppingCart> carts = mallShoppingCartMapper.selectCartGoodsList(id, 1);
         Map<String, Object> result = new HashMap<>();
         result.put("order", orderCnt);
         result.put("carts", carts.size());
@@ -377,6 +382,12 @@
         Long id = LoginUserUtil.getLoginUser().getId();
         moneyFlowDto.setMemberId(id);
         IPage<MoneyFlowVo> pages = mallMoneyFlowMapper.selectApiMoneyFlowInPage(page, moneyFlowDto);
+
+//        if (moneyFlowDto.getFlowType() == 3) {
+//            pages.getRecords().forEach(item -> {
+//                item.setDescription(ScoreFlowTypeEnum.getDescByValue(item.getType()));
+//            });
+//        }
         return new FebsResponse().success().data(pages);
     }
 
@@ -703,7 +714,15 @@
         if(StrUtil.isNotEmpty(avatarUrl)){
             mallMember.setAvatar(avatarUrl);
         }
-//        mallMember.setSex(1 == apiXcxSaveInfoDto.getGender() ? "女" : "男");
+
+        if (StrUtil.isNotBlank(apiXcxSaveInfoDto.getRealName())) {
+            mallMember.setRealName(apiXcxSaveInfoDto.getRealName());
+        }
+
+        if (apiXcxSaveInfoDto.getBirthday() != null) {
+            mallMember.setBirthday(apiXcxSaveInfoDto.getBirthday());
+        }
+        mallMember.setSex(1 == apiXcxSaveInfoDto.getGender() ? "女" : "男");
         this.baseMapper.updateById(mallMember);
         return new FebsResponse().success();
     }
@@ -935,6 +954,35 @@
     }
 
     @Override
+    public FebsResponse scanCoupon(GetCouponDto getCouponDto) {
+        Long memberId = LoginUserUtil.getLoginUser().getId();
+        String couponUUID = IdUtil.simpleUUID();
+        //通过邀请人信息,获取能领取的优惠卷信息
+        MallMember mallMember = this.baseMapper.selectInfoByInviteId(getCouponDto.getInviteId());
+        if(ObjectUtil.isNotEmpty(mallMember)){
+            SalemanCoupon salemanCoupon = salemanCouponMapper.selectByMemberId(mallMember.getId());
+            if(ObjectUtil.isNotEmpty(salemanCoupon)){
+                Long couponId = salemanCoupon.getCouponId();
+                List<MallMemberCoupon> mallMemberCoupons = mallMemberCouponMapper.selectListByMemberIdCouponIdWithOutInviteId(memberId, couponId);
+                if(CollUtil.isEmpty(mallMemberCoupons)){
+                    //商品优惠卷如果绑定了,那么当前登陆者获取一张卷
+                    MallGoodsCoupon mallGoodsCoupon = mallGoodsCouponMapper.selectById(couponId);
+                    MallMemberCoupon mallMemberCoupon = new MallMemberCoupon();
+                    mallMemberCoupon.setCouponId(couponId);
+                    mallMemberCoupon.setCouponName(mallGoodsCoupon.getName());
+                    mallMemberCoupon.setMemberId(memberId);
+                    mallMemberCoupon.setCouponUuid(couponUUID);
+                    mallMemberCoupon.setInviteId(mallMember.getInviteId());
+                    mallMemberCoupon.setState(1);
+                    mallMemberCoupon.setExpireTime(DateUtil.offsetDay(DateUtil.date(),mallGoodsCoupon.getExpireDay()));
+                    mallMemberCouponMapper.insert(mallMemberCoupon);
+                }
+            }
+        }
+        return new FebsResponse().success();
+    }
+
+    @Override
     public FebsResponse memberCoupon(MallMemberCouponDto mallMemberCouponDto) {
         Long memberId = LoginUserUtil.getLoginUser().getId();
         IPage<MallMemberCouponVo> page = new Page<>(mallMemberCouponDto.getPageNum(), mallMemberCouponDto.getPageSize());
@@ -942,6 +990,19 @@
         mallMemberCouponDto.setExpireTime(DateUtil.date());
         IPage<MallMemberCouponVo> pages = mallMemberCouponMapper.selectListInPage(page, mallMemberCouponDto);
         return new FebsResponse().success().data(pages);
+    }
+
+    @Override
+    public FebsResponse memberPayCoupon(MallMemberCouponDto mallMemberCouponDto) {
+        Long memberId = LoginUserUtil.getLoginUser().getId();
+        mallMemberCouponDto.setMemberId(memberId);
+        mallMemberCouponDto.setExpireTime(DateUtil.date());
+        List<Long> couponIds = couponGoodsMapper.selectByGoodId(mallMemberCouponDto.getGoodsId());
+        List<MallMemberCouponVo> mallMemberCouponVos = new ArrayList<>();
+        if(CollUtil.isNotEmpty(couponIds)){
+            mallMemberCouponVos = mallMemberCouponMapper.selectListCreateInPage(mallMemberCouponDto,couponIds);
+        }
+        return new FebsResponse().success().data(mallMemberCouponVos);
     }
 
     @Override
@@ -953,6 +1014,7 @@
         MallGoodsCoupon mallGoodsCoupon = mallGoodsCouponMapper.selectById(mallMemberCoupon.getCouponId());
         mallMemberCouponVo.setCostAmount(mallGoodsCoupon.getCostAmount());
         mallMemberCouponVo.setRealAmount(mallGoodsCoupon.getRealAmount());
+        mallMemberCouponVo.setType(mallGoodsCoupon.getType());
         return new FebsResponse().success().data(mallMemberCouponVo);
     }
 

--
Gitblit v1.9.1