From 631a5aa09e0147ca81fffcb1434e57b1cd1ba6f6 Mon Sep 17 00:00:00 2001
From: lisy <linlangsur163@163.com>
Date: 星期三, 09 八月 2023 09:34:53 +0800
Subject: [PATCH] app端口:积分变动记录增加变动类型字段,代码同步更新;积分兑换操作的数量校验功能完善

---
 cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java |  235 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 224 insertions(+), 11 deletions(-)

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
index 2b9f225..2e5a5b4 100644
--- 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
@@ -6,8 +6,10 @@
 import com.dsh.account.model.vo.userBenefitDetail.*;
 import com.dsh.account.service.RechargeRecordsService;
 import com.dsh.account.service.TAppUserService;
+import com.dsh.account.service.UserIntegralChangesService;
 import com.dsh.account.util.ResultUtil;
 import com.dsh.account.util.TokenUtil;
+import com.dsh.account.util.ToolUtil;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
@@ -16,8 +18,10 @@
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
 import java.text.SimpleDateFormat;
 import java.util.List;
 
@@ -41,6 +45,9 @@
 
     @Autowired
     private RechargeRecordsService rechargeRService;
+
+    @Autowired
+    private UserIntegralChangesService uicService;
 
     private final SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
 
@@ -88,6 +95,33 @@
                 detailsVo.setMemberLifespan(format1.format(tAppUser.getVipEndTime()));
             }
             return ResultUtil.success(detailsVo);
+        }catch (Exception e){
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    @ResponseBody
+    @PostMapping("/api/useBenefit/uploadImage")
+    @ApiOperation(value = "上传用户头像", tags = {"APP-使用福利"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
+            @ApiImplicitParam(name = "userImage",value = "用户头像连接",dataType = "string")
+    })
+    public ResultUtil uploadAppUserProfile(String userImage){
+        try {
+            Integer appUserId = tokenUtil.getUserIdFormRedis();
+            if(null == appUserId){
+                return ResultUtil.tokenErr();
+            }
+            TAppUser byId = tauService.getById(appUserId);
+            if (ToolUtil.isNotEmpty(userImage)){
+                byId.setHeadImg(userImage);
+                tauService.updateById(byId);
+            }else {
+                ResultUtil.error("头像不能为空!");
+            }
+            return ResultUtil.success();
         }catch (Exception e){
             return ResultUtil.runErr();
         }
@@ -151,9 +185,9 @@
     @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 = "记录(1充值 2扣除)", name = "recordId", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "记录(1充值 2扣除)", name = "recordId", required = false, dataType = "int"),
     })
-    public ResultUtil<BillingDetailsVo> getUserBillingDetails(String yearMonth,Integer recordId){
+    public ResultUtil<List<ConsumeDetail>> getUserBillingDetails(String yearMonth,Integer recordId){
         try {
             Integer appUserId = tokenUtil.getUserIdFormRedis();
             if(null == appUserId){
@@ -171,17 +205,20 @@
     @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 = "记录(1充值 2扣除)", name = "recordId", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "年月", name = "yearMonth", required = false, dataType = "string"),
+            @ApiImplicitParam(value = "页码", name = "pageNum", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "每页数量", name = "pageSize", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "记录(1充值 2扣除)", name = "recordId", required = false, dataType = "int"),
     })
-    public ResultUtil<RechargeDetailsVo> wpGoldRechargeRecord(String yearMonth, Integer recordId){
+    public ResultUtil<List<RechargesDetail>> wpGoldRechargeRecord(String yearMonth, Integer recordId,Integer pageNum,Integer pageSize){
         try {
             Integer appUserId = tokenUtil.getUserIdFormRedis();
             if(null == appUserId){
                 return ResultUtil.tokenErr();
             }
-            return ResultUtil.success(rechargeRService.getAppUserRechargeRecord(yearMonth,recordId,appUserId));
+            return ResultUtil.success(rechargeRService.getAppUserRechargeRecord(yearMonth,recordId,appUserId,pageNum,pageSize));
         }catch (Exception e){
+            e.printStackTrace();
             return ResultUtil.runErr();
         }
     }
@@ -206,27 +243,203 @@
     }
 
     /**
-     * 课时详情-支付
+     * 充值中心-支付
      */
     @ResponseBody
-    @PostMapping("/api/startCource/payment")
-    @ApiOperation(value = "充值中心-支付", tags = {"APP-开始上课"})
+    @PostMapping("/api/useBenefit/payment")
+    @ApiOperation(value = "充值中心-支付", tags = {"APP-使用福利"})
     @ApiImplicitParams({
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
     })
-    public ResultUtil rechargePayment(RechargePayRequest request){
+    public ResultUtil rechargeCenPayment(RechargePayRequest request){
         try {
             Integer userIdFormRedis = tokenUtil.getUserIdFormRedis();
             if(null == userIdFormRedis){
                 return ResultUtil.tokenErr();
             }
-            return rechargeRService.rechargePayment(userIdFormRedis,request);
+            return rechargeRService.rechargeCenPayment(userIdFormRedis,request);
         }catch (Exception e){
+            e.printStackTrace();
             return ResultUtil.runErr();
         }
 
     }
 
 
+    /**
+     * 积分商城
+     */
+    @ResponseBody
+    @PostMapping("/api/useBenefit/integralMallList")
+    @ApiOperation(value = "积分商城", tags = {"APP-使用福利"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
+    })
+    public ResultUtil<List<Goods>> pointsMallList(MallRequest request){
+        try {
+            return ResultUtil.success(tauService.queryAppUserIntegral(request));
+        }catch (Exception e){
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    /**
+     * 商品详情
+     */
+    @ResponseBody
+    @PostMapping("/api/useBenefit/goodsDetails")
+    @ApiOperation(value = "积分商城-商品详情", tags = {"APP-使用福利"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
+            @ApiImplicitParam(value = "商品id", name = "goodId", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "商品类型 1实物 2课包 3门票 4优惠券", name = "goodsType", required = true, dataType = "int"),
+    })
+    public ResultUtil<ProductDetailsVo> productDetails(Integer goodId, Integer goodsType){
+        try {
+            return ResultUtil.success(tauService.productDetails(goodId,goodsType));
+        }catch (Exception e){
+            return ResultUtil.runErr();
+        }
+    }
+
+
+
+    /**
+     * 实体、门票、优惠券为默认门店|课包为默认学员
+     */
+    @ResponseBody
+    @PostMapping("/api/useBenefit/goodsOfCourseStore")
+    @ApiOperation(value = "积分商城-实体、门票、优惠券为默认门店|课包为默认学员", tags = {"APP-使用福利"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
+            @ApiImplicitParam(value = "纬度", name = "lat", required = false, dataType = "String"),
+            @ApiImplicitParam(value = "经度", name = "lon", required = false, dataType = "String"),
+            @ApiImplicitParam(value = "是否为课包商品(1=是 2=否)", name = "isCourse", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "商品id", name = "pointsMerId", required = true, dataType = "int"),
+    })
+    public ResultUtil<StuAndStoreResponse> goodsOfCourseStore(String lat, String lon,Integer isCourse,Integer pointsMerId){
+        try {
+            Integer userIdFormRedis = tokenUtil.getUserIdFormRedis();
+            if(null == userIdFormRedis){
+                return ResultUtil.tokenErr();
+            }
+            return ResultUtil.success(tauService.queryAppUserDefaultStuAndStore(userIdFormRedis,pointsMerId,lat,lon,isCourse));
+        }catch (Exception e){
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    /**
+     * 兑换详情(实体、门票、优惠券)中的门店列表
+     */
+    @ResponseBody
+    @PostMapping("/api/useBenefit/exchangeStoreIds")
+    @ApiOperation(value = "积分商城-兑换详情(实体、门票、优惠券)中的门店列表", tags = {"APP-使用福利"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
+            @ApiImplicitParam(value = "商品类型 1实物 2课包 3门票 4优惠券", name = "goodsType", required = true, dataType = "String"),
+            @ApiImplicitParam(value = "商品id", name = "pointsMerId", required = true, dataType = "int"),
+    })
+    public ResultUtil<List<StoreResponse>> getExchangeStoreIds( Integer goodsType,Integer pointsMerId){
+        try {
+            return ResultUtil.success(tauService.queryStoresOfExchange(goodsType,pointsMerId));
+        }catch (Exception e){
+            return ResultUtil.runErr();
+        }
+    }
+
+
+
+    /**
+     * 商品兑换
+     */
+    @ResponseBody
+    @PostMapping("/api/useBenefit/productRedemptionOperation")
+    @ApiOperation(value = "积分商城-商品兑换", tags = {"APP-使用福利"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
+    })
+    public ResultUtil productRedemptionOperation(GoodsExchangeVo exchangeType){
+        try {
+            Integer userIdFormRedis = tokenUtil.getUserIdFormRedis();
+            if(null == userIdFormRedis){
+                return ResultUtil.tokenErr();
+            }
+            return tauService.productRedemptionOperation(userIdFormRedis,exchangeType);
+        }catch (Exception e){
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    /**
+     * 积分明细
+     */
+    @ResponseBody
+    @PostMapping("/api/useBenefit/integralDetails")
+    @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 = false, dataType = "string"),
+            @ApiImplicitParam(value = "记录(1充值 2扣除)", name = "recordId", required = false, dataType = "int"),
+    })
+    public ResultUtil<List<IntegralsData>> pointDetails(String yearMonth, Integer recordId){
+        try {
+            Integer userIdFormRedis = tokenUtil.getUserIdFormRedis();
+            if(null == userIdFormRedis){
+                return ResultUtil.tokenErr();
+            }
+            return ResultUtil.success(uicService.queryUserPointsDetails(yearMonth,recordId,userIdFormRedis));
+        }catch (Exception e){
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    /**
+     * 兑换记录
+     */
+    @ResponseBody
+    @PostMapping("/api/useBenefit/exchangeRecords")
+    @ApiOperation(value = "积分商城-兑换记录", tags = {"APP-使用福利"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
+            @ApiImplicitParam(value = "使用状态 (1已使用 2未使用)", name = "useType", required = false, dataType = "string"),
+            @ApiImplicitParam(value = "商品类型  1实物 2课包 3门票 4优惠券", name = "goodType", required = false, dataType = "int"),
+    })
+    public ResultUtil<List<ExchangeDetailsResponse>> exchangeRecordsDetails(Integer useType, Integer goodType){
+        try {
+            Integer userIdFormRedis = tokenUtil.getUserIdFormRedis();
+            if(null == userIdFormRedis){
+                return ResultUtil.tokenErr();
+            }
+            return ResultUtil.success(uicService.queryExchangeGoodsdetails(userIdFormRedis,useType,goodType));
+        }catch (Exception e){
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    /**
+     * 兑换记录详情
+     */
+    @ResponseBody
+    @PostMapping("/api/useBenefit/redemptionDetails")
+    @ApiOperation(value = "积分商城-兑换记录详情", tags = {"APP-使用福利"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
+            @ApiImplicitParam(value = "记录id", name = "detailsId", required = true, dataType = "string"),
+    })
+    public ResultUtil<PointDetailsVo> redemptionDetails(Integer detailsId){
+        try {
+            return ResultUtil.success(uicService.queryRedemptionDetails(detailsId));
+        }catch (Exception e){
+            return ResultUtil.runErr();
+        }
+    }
+
+
 
 }

--
Gitblit v1.7.1