From 58cbb73b0d2fc2ca47ae8901462725870725b3b5 Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Fri, 21 Apr 2023 16:12:10 +0800
Subject: [PATCH] 添加皮肤接口

---
 src/main/java/cc/mrbird/febs/mall/entity/MallMember.java                     |    2 +
 src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java    |   12 ++++++
 src/main/java/cc/mrbird/febs/common/utils/AppContants.java                   |    2 +
 src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java         |    9 ++--
 src/main/java/cc/mrbird/febs/mall/vo/SkinTypeVo.java                         |   15 +++++++
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java |   24 ++++++++++++
 6 files changed, 60 insertions(+), 4 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/common/utils/AppContants.java b/src/main/java/cc/mrbird/febs/common/utils/AppContants.java
index f33ff3d..45d1bf6 100644
--- a/src/main/java/cc/mrbird/febs/common/utils/AppContants.java
+++ b/src/main/java/cc/mrbird/febs/common/utils/AppContants.java
@@ -71,4 +71,6 @@
     public static final String MEMBER_WITHDRAW_VOUCHER = "凭证提现";
     public static final String MEMBER_WITHDRAW_VOUCHER_AMOUNT = "凭证现金提现";
 
+    public static final String SKIN_TYPE_LIST = "SKIP_TYPE_LIST";
+
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
index 987f855..ed2d05f 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
@@ -15,6 +15,7 @@
 import io.swagger.annotations.ApiResponses;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.checkerframework.checker.units.qual.A;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
@@ -215,6 +216,17 @@
         return memberService.delMemberBank(id);
     }
 
+    @ApiOperation(value = "皮肤列表")
+    @GetMapping(value = "/findSkinList")
+    public FebsResponse findSkinList() {
+        return new FebsResponse().success().data(memberService.findSkinList());
+    }
 
+    @ApiOperation(value = "使用皮肤")
+    @PostMapping(value = "/useSkin/{code}")
+    public FebsResponse useSkin(@PathVariable("code") String code) {
+        memberService.useSkin(code);
+        return new FebsResponse().success().message("设置成功");
+    }
 
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java b/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java
index b0ae952..731c1a4 100644
--- a/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java
@@ -172,4 +172,6 @@
      * 伞下数量
      */
     private Integer childNodeCnt;
+
+    private String skin;
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java b/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
index d9653e6..c217e2a 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
@@ -5,10 +5,7 @@
 import cc.mrbird.febs.mall.entity.MallMember;
 import cc.mrbird.febs.mall.entity.MallMemberPayment;
 import cc.mrbird.febs.mall.entity.MallShopApply;
-import cc.mrbird.febs.mall.vo.CashOutSettingVo;
-import cc.mrbird.febs.mall.vo.MyCommissionVo;
-import cc.mrbird.febs.mall.vo.MyTeamVo;
-import cc.mrbird.febs.mall.vo.ShopListVo;
+import cc.mrbird.febs.mall.vo.*;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 import java.math.BigDecimal;
@@ -74,4 +71,8 @@
     FebsResponse updateMemberBank(UpdateMemberBankDto updateMemberBankDto);
 
     FebsResponse delMemberBank(Long id);
+
+    List<SkinTypeVo> findSkinList();
+
+    void useSkin(String code);
 }
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 00321df..9bad28a 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
@@ -36,6 +36,7 @@
 
 import java.math.BigDecimal;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @author wzy
@@ -114,6 +115,7 @@
         mallMember.setLevel(AgentLevelEnum.ZERO_LEVEL.getCode());
         mallMember.setSex(registerDto.getSex());
         mallMember.setBindPhone(registerDto.getAccount());
+        mallMember.setSkin("default");
 
         this.baseMapper.insert(mallMember);
 
@@ -639,4 +641,26 @@
         mallMemberBankMapper.deleteById(id);
         return new FebsResponse().success();
     }
+
+    @Override
+    public List<SkinTypeVo> findSkinList() {
+        MallMember loginUser = LoginUserUtil.getLoginUser();
+        DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(AppContants.SKIN_TYPE_LIST, loginUser.getLevel());
+        if (dic == null || StrUtil.isBlank(dic.getValue())) {
+            throw new FebsException("请检查皮肤配置");
+        }
+
+        List<String> skipStrList = StrUtil.split(dic.getValue(), ',');
+        return skipStrList.stream().map(item -> JSONObject.parseObject(item, SkinTypeVo.class)).collect(Collectors.toList());
+    }
+
+    @Override
+    public void useSkin(String code) {
+        MallMember loginUser = LoginUserUtil.getLoginUser();
+
+        MallMember update = new MallMember();
+        update.setId(loginUser.getId());
+        update.setSkin(code);
+        this.baseMapper.updateById(update);
+    }
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/SkinTypeVo.java b/src/main/java/cc/mrbird/febs/mall/vo/SkinTypeVo.java
new file mode 100644
index 0000000..f7f3f0b
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/SkinTypeVo.java
@@ -0,0 +1,15 @@
+package cc.mrbird.febs.mall.vo;
+
+import lombok.Data;
+
+/**
+ * @author wzy
+ * @date 2023-04-21
+ **/
+@Data
+public class SkinTypeVo {
+
+    private String code;
+
+    private String name;
+}

--
Gitblit v1.9.1