lisy
2023-07-20 c678894e37d15cca116d962eba5c107c99176945
cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java
@@ -17,8 +17,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;
@@ -92,6 +94,26 @@
                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 = "file",value = "图片字节",dataType = "MultipartFile")
    })
    public ResultUtil uploadAppUserProfile(MultipartFile file, HttpServletRequest request){
        try {
            Integer appUserId = tokenUtil.getUserIdFormRedis();
            if(null == appUserId){
                return ResultUtil.tokenErr();
            }
            return ResultUtil.success(tauService.uploadAppUserHeadImg(appUserId,file,request));
        }catch (Exception e){
            return ResultUtil.runErr();
        }
@@ -247,8 +269,103 @@
            if(null == userIdFormRedis){
                return ResultUtil.tokenErr();
            }
            // TODO: 2023/7/10 积分商品列表查询
            return ResultUtil.success();
            return ResultUtil.success(tauService.queryAppUserIntegral(request,userIdFormRedis));
        }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 = "lat", 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....."),
            @ApiImplicitParam(value = "商品id", name = "goodId", required = true, dataType = "int"),
            @ApiImplicitParam(value = "商品类型 1实物 2课包 3门票 4优惠券", name = "goodsType", required = true, dataType = "int"),
            @ApiImplicitParam(value = "兑换数量", name = "nums", required = false, dataType = "int"),
            @ApiImplicitParam(value = "兑换方式(1=积分,2=积分+现金)", name = "exchangeType", required = true, dataType = "int"),
            @ApiImplicitParam(value = "现金支付方式(1=微信 2=支付宝)", name = "payType", required = false, dataType = "int"),
            @ApiImplicitParam(value = "学员id列表", name = "stuIds", required = false),
    })
    public ResultUtil productRedemptionOperation(Integer goodId, Integer goodsType,Integer nums,Integer exchangeType,Integer payType,List<Integer> stuIds){
        try {
            Integer userIdFormRedis = tokenUtil.getUserIdFormRedis();
            if(null == userIdFormRedis){
                return ResultUtil.tokenErr();
            }
            return tauService.productRedemptionOperation(userIdFormRedis,goodId,goodsType,nums,exchangeType,payType,stuIds);
        }catch (Exception e){
            return ResultUtil.runErr();
        }
@@ -260,7 +377,7 @@
     */
    @ResponseBody
    @PostMapping("/api/useBenefit/integralDetails")
    @ApiOperation(value = "积分明细", tags = {"APP-使用福利"})
    @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"),
@@ -279,6 +396,48 @@
    }
    /**
     * 兑换记录
     */
    @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 = true, dataType = "string"),
            @ApiImplicitParam(value = "商品类型  1实物 2课包 3门票 4优惠券", name = "goodType", required = true, 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();
        }
    }
}