From 667a99dbf880c05f0a01509189dcf6da1b333241 Mon Sep 17 00:00:00 2001
From: lisy <linlangsur163@163.com>
Date: 星期二, 04 七月 2023 20:11:42 +0800
Subject: [PATCH] account模块:使用福利-首页数据

---
 cloud-server-other/src/main/java/com/dsh/other/feignclient/model/UserBenefitImage.java                  |   22 +
 cloud-server-activity/src/main/java/com/dsh/activity/mapper/PointsMerchandiseMapper.java                |   16 +
 cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/AppUserDetailsVo.java     |   31 ++
 cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/BillingDetailsVo.java     |   32 ++
 cloud-server-activity/src/main/java/com/dsh/activity/service/PointsMerchandiseService.java              |   16 +
 cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java                |    2 
 cloud-server-activity/src/main/java/com/dsh/activity/web/PointsMerchandiseController.java               |   21 +
 cloud-server-account/src/main/resources/mapper/StudentHonorMapper.xml                                   |    0 
 cloud-server-activity/src/main/java/com/dsh/activity/controller/UserConponController.java               |    4 
 cloud-server-account/src/main/java/com/dsh/account/controller/ExploreWPController.java                  |    2 
 cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/UserBenefitImage.java        |   22 +
 cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java                |  104 ++++++++
 cloud-server-activity/src/main/java/com/dsh/activity/feignclient/MerChandiseClient.java                 |   17 +
 cloud-server-activity/src/main/java/com/dsh/activity/mapper/xml/PointsMerchandiseMapper.xml             |    6 
 cloud-server-other/src/main/java/com/dsh/other/feignclient/ImgConfigClient.java                         |    6 
 cloud-server-account/src/main/java/com/dsh/account/feignclient/other/ImgConfigClient.java               |    5 
 cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/IntegralCommodity.java    |   24 ++
 cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java            |   46 +++
 cloud-server-activity/src/main/java/com/dsh/activity/entity/PointsMerchandise.java                      |  135 +++++++++++
 cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/IntegralCommodity.java           |   24 ++
 cloud-server-other/src/main/java/com/dsh/other/controller/ImgConfigController.java                      |   34 ++
 /dev/null                                                                                               |   20 -
 cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/IndexOfUserBenefirVo.java |   34 ++
 cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java                |   31 ++
 cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/MerChandiseClient.java          |   17 +
 cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java                         |   20 +
 cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PointsMerchandiseServiceImpl.java     |   20 +
 27 files changed, 686 insertions(+), 25 deletions(-)

diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/ExploreWPController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/ExploreWPController.java
index 52ec93f..aee00e1 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/controller/ExploreWPController.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/controller/ExploreWPController.java
@@ -56,7 +56,7 @@
 
 
     @ResponseBody
-    @PostMapping("/api/exploreWP/noticeList")
+    @PostMapping("/base/exploreWP/noticeList")
     @ApiOperation(value = "联系客服-公告详情", tags = {"APP-探索玩湃"})
     public ResultUtil<SysNotice> queryNotice(@RequestBody Integer noId){
         try {
diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java
new file mode 100644
index 0000000..6e0c8ec
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java
@@ -0,0 +1,104 @@
+package com.dsh.account.controller;
+
+
+import com.dsh.account.entity.TAppUser;
+import com.dsh.account.model.vo.userBenefitDetail.AppUserDetailsVo;
+import com.dsh.account.model.vo.userBenefitDetail.BillingDetailsVo;
+import com.dsh.account.model.vo.userBenefitDetail.IndexOfUserBenefirVo;
+import com.dsh.account.service.TAppUserService;
+import com.dsh.account.util.ResultUtil;
+import com.dsh.account.util.TokenUtil;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.text.SimpleDateFormat;
+
+@RestController
+@RequestMapping("")
+public class UseBenefitsController {
+
+
+    @Autowired
+    private TAppUserService tauService;
+
+    @Autowired
+    private TokenUtil tokenUtil;
+
+    private final SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
+
+
+    @ResponseBody
+    @PostMapping("/api/useBenefit/indexOfAppUser")
+    @ApiOperation(value = "福利主页", tags = {"APP-使用福利"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
+    })
+    public ResultUtil<IndexOfUserBenefirVo> queryAppUserUser(){
+        try {
+            Integer appUserId = tokenUtil.getUserIdFormRedis();
+            if(null == appUserId){
+                return ResultUtil.tokenErr();
+            }
+            return ResultUtil.success(tauService.queryBenefitDetails(appUserId));
+        }catch (Exception e){
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    @ResponseBody
+    @PostMapping("/api/useBenefit/userDetails")
+    @ApiOperation(value = "用户个人信息", tags = {"APP-使用福利"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
+    })
+    public ResultUtil<AppUserDetailsVo> queryAppUserDetails(){
+        try {
+            AppUserDetailsVo detailsVo = new AppUserDetailsVo();
+            Integer appUserId = tokenUtil.getUserIdFormRedis();
+            if(null == appUserId){
+                return ResultUtil.tokenErr();
+            }
+            TAppUser tAppUser = tauService.getBaseMapper().selectById(appUserId);
+            if (null != tAppUser){
+                detailsVo.setUserImage(tAppUser.getHeadImg());
+                detailsVo.setUserName(tAppUser.getName());
+                detailsVo.setUserPhone(tAppUser.getPhone());
+                detailsVo.setSex(tAppUser.getGender() == 1 ? "男" : "女");
+                detailsVo.setBirthday(format1.format(tAppUser.getBirthday()));
+                detailsVo.setAddress(tAppUser.getProvince()+tAppUser.getCity());
+                detailsVo.setMemberLifespan(format1.format(tAppUser.getVipEndTime()));
+            }
+            return ResultUtil.success(detailsVo);
+        }catch (Exception e){
+            return ResultUtil.runErr();
+        }
+    }
+
+    @ResponseBody
+    @PostMapping("/api/useBenefit/userBilling")
+    @ApiOperation(value = "账单", tags = {"APP-使用福利"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
+            @ApiImplicitParam(value = "年月", name = "yearMonth", required = true, dataType = "string"),
+            @ApiImplicitParam(value = "记录id", name = "recordId", required = true, dataType = "int"),
+    })
+    public ResultUtil<BillingDetailsVo> getUserBillingDetails(@RequestBody String yearMonth,@RequestBody Integer recordId){
+        try {
+            Integer appUserId = tokenUtil.getUserIdFormRedis();
+            if(null == appUserId){
+                return ResultUtil.tokenErr();
+            }
+            return ResultUtil.success(tauService.queryUserBillingDetails(yearMonth,recordId));
+        }catch (Exception e){
+            return ResultUtil.runErr();
+        }
+    }
+
+
+
+
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/MerChandiseClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/MerChandiseClient.java
new file mode 100644
index 0000000..d77e5e2
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/MerChandiseClient.java
@@ -0,0 +1,17 @@
+package com.dsh.account.feignclient.activity;
+
+
+import com.dsh.account.feignclient.activity.model.IntegralCommodity;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+
+import java.util.List;
+
+@FeignClient(value = "mb-cloud-activity")
+public interface MerChandiseClient {
+
+    @PostMapping("/pointMerchars/convertGoods")
+    public List<IntegralCommodity> getConvertibleGoods();
+
+
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/IntegralCommodity.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/IntegralCommodity.java
new file mode 100644
index 0000000..4ca5b4f
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/IntegralCommodity.java
@@ -0,0 +1,24 @@
+package com.dsh.account.feignclient.activity.model;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+
+@Data
+public class IntegralCommodity {
+
+    @ApiModelProperty(value = "商品id")
+    private Integer commodityId;
+
+    @ApiModelProperty(value = "商品图片")
+    private String commodityImg;
+
+    @ApiModelProperty(value = "商品名称")
+    private String commodityName;
+
+    @ApiModelProperty(value = "商品价格")
+    private BigDecimal commodityPrice;
+
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/ImgConfigClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/ImgConfigClient.java
index c310ffd..1a400a0 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/ImgConfigClient.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/ImgConfigClient.java
@@ -1,6 +1,7 @@
 package com.dsh.account.feignclient.other;
 
 import com.dsh.account.feignclient.other.model.TImgConfig;
+import com.dsh.account.feignclient.other.model.UserBenefitImage;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
 
@@ -11,4 +12,8 @@
 
     @PostMapping("/imgConfig/getNoneStu")
     List<TImgConfig> getNoneStuImgs();
+
+
+    @PostMapping("/imgConfig/getBenefitImage")
+    public UserBenefitImage getImageConfig();
 }
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/UserBenefitImage.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/UserBenefitImage.java
new file mode 100644
index 0000000..7b5adc3
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/UserBenefitImage.java
@@ -0,0 +1,22 @@
+package com.dsh.account.feignclient.other.model;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class UserBenefitImage {
+
+    @ApiModelProperty(value = "我的券包pic")
+    private String myConpons;
+
+    @ApiModelProperty(value = "线上商城pic")
+    private String onlineShop;
+
+    @ApiModelProperty(value = "本周福利pic")
+    private String weeksBenefit;
+
+    @ApiModelProperty(value = "今日免费pic")
+    private String todayFree;
+
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/AppUserDetailsVo.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/AppUserDetailsVo.java
new file mode 100644
index 0000000..1b7c970
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/AppUserDetailsVo.java
@@ -0,0 +1,31 @@
+package com.dsh.account.model.vo.userBenefitDetail;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class AppUserDetailsVo {
+
+    @ApiModelProperty(value = "用户头像")
+    private String userImage;
+
+    @ApiModelProperty(value = "用户名称")
+    private String userName;
+
+    @ApiModelProperty(value = "用户手机号")
+    private String userPhone;
+
+    @ApiModelProperty(value = "用户性别")
+    private String sex;
+
+    @ApiModelProperty(value = "用户生日")
+    private String birthday;
+
+    @ApiModelProperty(value = "用户地址")
+    private String address;
+
+    @ApiModelProperty(value = "会员有效期")
+    private String memberLifespan;
+
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/BillingDetailsVo.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/BillingDetailsVo.java
new file mode 100644
index 0000000..3f590f4
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/BillingDetailsVo.java
@@ -0,0 +1,32 @@
+package com.dsh.account.model.vo.userBenefitDetail;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class BillingDetailsVo {
+
+    @ApiModelProperty(value = "记录列表")
+    List<ConsumeDetail> details;
+
+
+
+    @Data
+    public static class ConsumeDetail{
+
+        @ApiModelProperty(value = "名称")
+        private String consumeName;
+
+        @ApiModelProperty(value = "时间")
+        private String consumeTime;
+
+        @ApiModelProperty(value = "金额 例如 -90 ")
+        private String consumeAmount;
+
+    }
+
+
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/IndexOfUserBenefirVo.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/IndexOfUserBenefirVo.java
new file mode 100644
index 0000000..a766f2f
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/IndexOfUserBenefirVo.java
@@ -0,0 +1,34 @@
+package com.dsh.account.model.vo.userBenefitDetail;
+
+import com.dsh.account.feignclient.activity.model.IntegralCommodity;
+import com.dsh.account.feignclient.other.model.UserBenefitImage;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class IndexOfUserBenefirVo {
+
+    @ApiModelProperty(value = "用户头像")
+    private String userHeadImg;
+
+    @ApiModelProperty(value = "用户名称")
+    private String userName;
+
+    @ApiModelProperty(value = "是否年度会员")
+    private String isMember;
+
+    @ApiModelProperty(value = "玩湃币")
+    private double wpCoin;
+
+    @ApiModelProperty(value = "用户积分")
+    private Integer userIntegral;
+
+    @ApiModelProperty(value = "商品列表")
+    private List<IntegralCommodity>  commodities;
+
+    @ApiModelProperty(value = "banners")
+    private UserBenefitImage image;
+
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java b/cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java
index 58f08bf..22f4e1b 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java
@@ -1,13 +1,15 @@
 package com.dsh.account.service;
 
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.dsh.account.entity.TAppUser;
 import com.dsh.account.model.AddAppUserVo;
 import com.dsh.account.model.JoinPlayPaiVo;
 import com.dsh.account.model.LoginSMSCodeVo;
 import com.dsh.account.model.LoginWeChatVo;
 import com.dsh.account.model.vo.classDetails.classInsVo.ClassInfoVo;
+import com.dsh.account.model.vo.userBenefitDetail.BillingDetailsVo;
+import com.dsh.account.model.vo.userBenefitDetail.IndexOfUserBenefirVo;
 import com.dsh.account.util.ResultUtil;
-import com.baomidou.mybatisplus.extension.service.IService;
 
 /**
  * <p>
@@ -91,4 +93,20 @@
      * @throws Exception
      */
     JoinPlayPaiVo queryJoinPlayPai(Integer uid, String lon, String lat) throws Exception;
+
+    /**
+     * 获取使用福利首页数据
+     * @param appUserId
+     * @return
+     */
+    IndexOfUserBenefirVo queryBenefitDetails(Integer appUserId);
+
+    /**
+     * 获取用户账单列表
+     * @param yearMonth 年月
+     * @param recordId 记录id
+     * @return
+     */
+    BillingDetailsVo queryUserBillingDetails(String yearMonth, Integer recordId);
+
 }
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
index 0f0c56f..cc2833a 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.dsh.account.entity.TAppUser;
 import com.dsh.account.entity.TStudent;
+import com.dsh.account.feignclient.activity.MerChandiseClient;
 import com.dsh.account.feignclient.course.CoursePaymentClient;
 import com.dsh.account.feignclient.course.model.CourseOfStoreVo;
 import com.dsh.account.feignclient.course.model.QueryStoreList;
@@ -24,6 +25,8 @@
 import com.dsh.account.model.vo.classDetails.RegisteredCourse;
 import com.dsh.account.model.vo.classDetails.WeekedCourse;
 import com.dsh.account.model.vo.classDetails.classInsVo.ClassInfoVo;
+import com.dsh.account.model.vo.userBenefitDetail.BillingDetailsVo;
+import com.dsh.account.model.vo.userBenefitDetail.IndexOfUserBenefirVo;
 import com.dsh.account.service.TAppUserService;
 import com.dsh.account.util.*;
 import com.dsh.account.util.akeylogin.Md5Util;
@@ -74,8 +77,12 @@
     @Resource
     private StoreClient storeClient;
 
+    @Autowired
+    private MerChandiseClient mcClient;
 
 
+    @Autowired
+    private ImgConfigClient icfgClient;
 
     @Override
     public ClassInfoVo queryUserOfStus(Integer id,String latitude,String longitude) {
@@ -450,4 +457,28 @@
         }
         return joinPlayPaiVo;
     }
+
+    @Override
+    public IndexOfUserBenefirVo queryBenefitDetails(Integer appUserId) {
+        IndexOfUserBenefirVo benefirVo = new IndexOfUserBenefirVo();
+
+        TAppUser appUser = this.getById(appUserId);
+        benefirVo.setUserHeadImg(appUser.getHeadImg());
+        benefirVo.setUserName(appUser.getName());
+        if (appUser.getIsVip() == 1){
+            benefirVo.setIsMember("年度会员");
+        }else {
+            benefirVo.setIsMember("普通用户");
+        }
+        benefirVo.setCommodities(mcClient.getConvertibleGoods());
+        benefirVo.setImage(icfgClient.getImageConfig());
+        return benefirVo;
+    }
+
+    @Override
+    public BillingDetailsVo queryUserBillingDetails(String yearMonth, Integer recordId) {
+        System.out.println("账单传参:yearMonth"+yearMonth+"|"+"recordId"+recordId);
+        // TODO: 2023/7/4
+        return null;
+    }
 }
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java
index 5403d29..515f5bc 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java
@@ -165,7 +165,7 @@
         purchaseRecordVoList.addAll(purchaseRecordVos);
         List<TAppUser> tAppUsers = tauMapper.selectList(new QueryWrapper<TAppUser>()
                 .eq("referralUserId",appUserId )
-                .between("insertTime",timeRequest.getStartTime() ,timeRequest.getEndTime()));
+                .between("insertTime",startTime ,endTime));
         List<Integer> userIds = tAppUsers.stream().map(TAppUser::getId).collect(Collectors.toList());
         List<PurchaseRecordVo> purchaseRecordVos1 = idrClient.queryAppUsersofIntroduce(startTime, endTime, userIds);
         purchaseRecordVoList.addAll(purchaseRecordVos1);
diff --git a/cloud-server-account/src/main/java/com/dsh/account/mapper/xml/StudentHonorMapper.xml b/cloud-server-account/src/main/resources/mapper/StudentHonorMapper.xml
similarity index 100%
rename from cloud-server-account/src/main/java/com/dsh/account/mapper/xml/StudentHonorMapper.xml
rename to cloud-server-account/src/main/resources/mapper/StudentHonorMapper.xml
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
new file mode 100644
index 0000000..b3a73c4
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
@@ -0,0 +1,46 @@
+package com.dsh.activity.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.dsh.activity.entity.PointsMerchandise;
+import com.dsh.activity.feignclient.model.IntegralCommodity;
+import com.dsh.activity.service.PointsMerchandiseService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+@RestController
+@RequestMapping("")
+public class PointMercharsController {
+
+
+    @Autowired
+    private PointsMerchandiseService pmdsService;
+
+
+
+    @PostMapping("/pointMerchars/convertGoods")
+    public List<IntegralCommodity> getConvertibleGoods(){
+        List<IntegralCommodity> commodity = new ArrayList<>();
+        List<PointsMerchandise> merchandises = pmdsService.list(new QueryWrapper<PointsMerchandise>()
+                .eq("state",1)
+                .lt("endTime",new Date()));
+        if (merchandises.size() > 0){
+            for (PointsMerchandise merchandise : merchandises) {
+                IntegralCommodity integralCommodity = new IntegralCommodity();
+                integralCommodity.setCommodityId(merchandise.getId());
+                integralCommodity.setCommodityImg(merchandise.getProductImages());
+                integralCommodity.setCommodityName(merchandise.getName());
+                integralCommodity.setCommodityPrice(merchandise.getPrice());
+                commodity.add(integralCommodity);
+            }
+        }
+        return commodity;
+    }
+
+}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/UserConponController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/UserConponController.java
index f988de1..2978d06 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/UserConponController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/UserConponController.java
@@ -4,7 +4,7 @@
 import com.dsh.activity.entity.Coupon;
 import com.dsh.activity.entity.UserCoupon;
 import com.dsh.activity.feignclient.model.CouponStuAvailableVo;
-import com.dsh.activity.service.CouponService;
+import com.dsh.activity.service.ICouponService;
 import com.dsh.activity.service.UserCouponService;
 import io.swagger.annotations.Api;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -26,7 +26,7 @@
     private UserCouponService uconService;
 
     @Autowired
-    private CouponService cService;
+    private ICouponService cService;
 
     private final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM");
 
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/entity/PointsMerchandise.java b/cloud-server-activity/src/main/java/com/dsh/activity/entity/PointsMerchandise.java
new file mode 100644
index 0000000..1eb90d6
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/entity/PointsMerchandise.java
@@ -0,0 +1,135 @@
+package com.dsh.activity.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * <p>
+ * 积分商品
+ * </p>
+ *
+ * @author jqs
+ * @since 2023-07-04
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_points_merchandise")
+public class PointsMerchandise extends Model<PointsMerchandise> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+    /**
+     * 类型(1=实体商品,2=课包商品,3=门票商品)
+     */
+    private Integer type;
+    /**
+     * 商品名称
+     */
+    private String name;
+    /**
+     * 课包id
+     */
+    private Integer coursePackageId;
+    /**
+     * 原价
+     */
+    private BigDecimal price;
+    /**
+     * 兑换方式(1=积分,2=现金+积分)
+     */
+    private Integer redemptionMethod;
+    /**
+     * 所需现金
+     */
+    private BigDecimal cash;
+    /**
+     * 所属积分
+     */
+    private BigDecimal integral;
+    /**
+     * 商品封面
+     */
+    private String cover;
+    /**
+     * 商品图片
+     */
+    private String productImages;
+    /**
+     * 用户人群(1=全部用户,2=年度会员,3=已有学员用户)
+     */
+    private Integer userPopulation;
+    /**
+     * 发放数量
+     */
+    private Integer quantityIssued;
+    /**
+     * 限领数量
+     */
+    private Integer pickUpQuantity;
+    /**
+     * 开始时间
+     */
+    private Date startTime;
+    /**
+     * 结束时间
+     */
+    private Date endTime;
+    /**
+     * 使用范围(1=全国,2=指定城市,3=指定门店)
+     */
+    private Integer useScope;
+    /**
+     * 省
+     */
+    private String province;
+    /**
+     * 省编号
+     */
+    private String provinceCode;
+    /**
+     * 市
+     */
+    private String city;
+    /**
+     * 市编号
+     */
+    private String cityCode;
+    /**
+     * 兑换说明
+     */
+    private String redemptionInstructions;
+    /**
+     * 排序
+     */
+    private Integer sort;
+    /**
+     * 状态(1=正常,2=冻结,3=删除)
+     */
+    private Integer state;
+    /**
+     * 添加时间
+     */
+    private Date insertTime;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/MerChandiseClient.java b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/MerChandiseClient.java
new file mode 100644
index 0000000..75b0415
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/MerChandiseClient.java
@@ -0,0 +1,17 @@
+package com.dsh.activity.feignclient;
+
+
+import com.dsh.activity.feignclient.model.IntegralCommodity;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+
+import java.util.List;
+
+@FeignClient(value = "mb-cloud-activity")
+public interface MerChandiseClient {
+
+    @PostMapping("/pointMerchars/convertGoods")
+    public List<IntegralCommodity> getConvertibleGoods();
+
+
+}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/IntegralCommodity.java b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/IntegralCommodity.java
new file mode 100644
index 0000000..f8b2f2b
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/IntegralCommodity.java
@@ -0,0 +1,24 @@
+package com.dsh.activity.feignclient.model;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+
+@Data
+public class IntegralCommodity {
+
+    @ApiModelProperty(value = "商品id")
+    private Integer commodityId;
+
+    @ApiModelProperty(value = "商品图片")
+    private String commodityImg;
+
+    @ApiModelProperty(value = "商品名称")
+    private String commodityName;
+
+    @ApiModelProperty(value = "商品价格")
+    private BigDecimal commodityPrice;
+
+}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/mapper/PointsMerchandiseMapper.java b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/PointsMerchandiseMapper.java
new file mode 100644
index 0000000..4e3fe33
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/PointsMerchandiseMapper.java
@@ -0,0 +1,16 @@
+package com.dsh.activity.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.dsh.activity.entity.PointsMerchandise;
+
+/**
+ * <p>
+ * 积分商品 Mapper 接口
+ * </p>
+ *
+ * @author jqs
+ * @since 2023-07-04
+ */
+public interface PointsMerchandiseMapper extends BaseMapper<PointsMerchandise> {
+
+}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/mapper/xml/PointsMerchandiseMapper.xml b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/xml/PointsMerchandiseMapper.xml
new file mode 100644
index 0000000..8e05102
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/xml/PointsMerchandiseMapper.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dsh.activity.mapper.PointsMerchandiseMapper">
+
+
+</mapper>
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/CouponService.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/CouponService.java
deleted file mode 100644
index cb92505..0000000
--- a/cloud-server-activity/src/main/java/com/dsh/activity/service/CouponService.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.dsh.activity.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.dsh.activity.entity.Coupon;
-
-import java.util.Map;
-
-/**
- * <p>
- * 优惠券 服务类
- * </p>
- *
- * @author jqs
- * @since 2023-06-29
- */
-public interface CouponService extends IService<Coupon> {
-
-    Map<String, Object> queryConponRuleOfJson(Integer id);
-
-}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/PointsMerchandiseService.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/PointsMerchandiseService.java
new file mode 100644
index 0000000..c658be5
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/PointsMerchandiseService.java
@@ -0,0 +1,16 @@
+package com.dsh.activity.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.dsh.activity.entity.PointsMerchandise;
+
+/**
+ * <p>
+ * 积分商品 服务类
+ * </p>
+ *
+ * @author jqs
+ * @since 2023-07-04
+ */
+public interface PointsMerchandiseService extends IService<PointsMerchandise> {
+
+}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PointsMerchandiseServiceImpl.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PointsMerchandiseServiceImpl.java
new file mode 100644
index 0000000..4809c45
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PointsMerchandiseServiceImpl.java
@@ -0,0 +1,20 @@
+package com.dsh.activity.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dsh.activity.entity.PointsMerchandise;
+import com.dsh.activity.mapper.PointsMerchandiseMapper;
+import com.dsh.activity.service.PointsMerchandiseService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 积分商品 服务实现类
+ * </p>
+ *
+ * @author jqs
+ * @since 2023-07-04
+ */
+@Service
+public class PointsMerchandiseServiceImpl extends ServiceImpl<PointsMerchandiseMapper, PointsMerchandise> implements PointsMerchandiseService {
+
+}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/web/PointsMerchandiseController.java b/cloud-server-activity/src/main/java/com/dsh/activity/web/PointsMerchandiseController.java
new file mode 100644
index 0000000..df6ec49
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/web/PointsMerchandiseController.java
@@ -0,0 +1,21 @@
+package com.dsh.activity.web;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 积分商品 前端控制器
+ * </p>
+ *
+ * @author jqs
+ * @since 2023-07-04
+ */
+@RestController
+@RequestMapping("/points-merchandise")
+public class PointsMerchandiseController {
+
+}
+
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/ImgConfigController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/ImgConfigController.java
index e01dfd5..f7c9582 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/ImgConfigController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/ImgConfigController.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.dsh.other.entity.TImgConfig;
+import com.dsh.other.feignclient.model.UserBenefitImage;
 import com.dsh.other.service.TImgConfigService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -12,6 +13,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -56,4 +58,36 @@
         return imgConfig.getContent();
     }
 
+
+    @PostMapping("/imgConfig/getBenefitImage")
+    public UserBenefitImage getImageConfig(){
+        UserBenefitImage image = new UserBenefitImage();
+        ArrayList<Integer> integers = new ArrayList<>();
+        integers.add(1);
+        integers.add(2);
+        List<TImgConfig> tImgConfigs = imgConfigService.getBaseMapper().selectList(new QueryWrapper<TImgConfig>()
+                .notIn("position", integers));
+        if (tImgConfigs.size() > 0){
+            tImgConfigs.forEach(imgCg -> {
+                switch (imgCg.getPosition()){
+                    case 3:
+                        image.setMyConpons(imgCg.getContent());
+                        break;
+                    case 4:
+                        image.setOnlineShop(imgCg.getContent());
+                        break;
+                    case 5:
+                        image.setWeeksBenefit(imgCg.getContent());
+                        break;
+                    case 6:
+                        image.setTodayFree(imgCg.getContent());
+                        break;
+                    default:
+                        break;
+                }
+            });
+        }
+        return image;
+    }
+
 }
diff --git a/cloud-server-other/src/main/java/com/dsh/other/feignclient/ImgConfigClient.java b/cloud-server-other/src/main/java/com/dsh/other/feignclient/ImgConfigClient.java
index b79bacd..5ab9163 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/feignclient/ImgConfigClient.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/feignclient/ImgConfigClient.java
@@ -1,6 +1,7 @@
 package com.dsh.other.feignclient;
 
 import com.dsh.other.entity.TImgConfig;
+import com.dsh.other.feignclient.model.UserBenefitImage;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
 
@@ -11,4 +12,9 @@
 
     @PostMapping("/imgConfig/getNoneStu")
     List<TImgConfig> getNoneStuImgs();
+
+
+    @PostMapping("/imgConfig/getBenefitImage")
+    public UserBenefitImage getImageConfig();
+
 }
diff --git a/cloud-server-other/src/main/java/com/dsh/other/feignclient/model/UserBenefitImage.java b/cloud-server-other/src/main/java/com/dsh/other/feignclient/model/UserBenefitImage.java
new file mode 100644
index 0000000..b5b7d75
--- /dev/null
+++ b/cloud-server-other/src/main/java/com/dsh/other/feignclient/model/UserBenefitImage.java
@@ -0,0 +1,22 @@
+package com.dsh.other.feignclient.model;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class UserBenefitImage {
+
+    @ApiModelProperty(value = "我的券包pic")
+    private String myConpons;
+
+    @ApiModelProperty(value = "线上商城pic")
+    private String onlineShop;
+
+    @ApiModelProperty(value = "本周福利pic")
+    private String weeksBenefit;
+
+    @ApiModelProperty(value = "今日免费pic")
+    private String todayFree;
+
+}

--
Gitblit v1.7.1