From 0872bd05123a6c9c8fa46a44465b7a703f676fb4 Mon Sep 17 00:00:00 2001
From: lisy <linlangsur163@163.com>
Date: 星期四, 13 七月 2023 14:58:51 +0800
Subject: [PATCH] 使用福利:积分兑换记录的详情查询

---
 cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java                   |   23 +++
 cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/ExchangeDetailsResponse.java |    2 
 cloud-server-activity/src/main/java/com/dsh/activity/feignclient/MerChandiseClient.java                    |   12 +
 cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java        |   30 ++++
 cloud-server-activity/src/main/java/com/dsh/activity/entity/UserPointsMerchandise.java                     |   10 +
 cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/PointDetailsVo.java                 |   45 ++++++
 cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/MerChandiseClient.java             |    8 +
 cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java               |  167 ++++++++++++++++++++++-
 cloud-server-activity/src/main/java/com/dsh/activity/entity/PointsMerchandise.java                         |    2 
 cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/PointDetailsVo.java          |   45 ++++++
 cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/ExchangeDetailsResponse.java        |   31 ++++
 cloud-server-account/src/main/java/com/dsh/account/service/UserIntegralChangesService.java                 |   10 +
 12 files changed, 370 insertions(+), 15 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 c7cc931..cc1e617 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
@@ -336,8 +336,27 @@
             Integer userIdFormRedis = tokenUtil.getUserIdFormRedis();
             if(null == userIdFormRedis){
                 return ResultUtil.tokenErr();
-            }// TODO: 2023/7/12 查询兑换记录
-            return ResultUtil.success();
+            }
+            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();
         }
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
index 7dc2d71..ba61917 100644
--- 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
@@ -5,6 +5,8 @@
 import com.dsh.account.feignclient.activity.model.IntegralCommodity;
 import com.dsh.account.feignclient.activity.model.PointsMerchandise;
 import com.dsh.account.feignclient.activity.model.ProductDetailRequest;
+import com.dsh.account.model.vo.userBenefitDetail.ExchangeDetailsResponse;
+import com.dsh.account.model.vo.userBenefitDetail.PointDetailsVo;
 import com.dsh.account.model.vo.userBenefitDetail.ProductDetailsVo;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -28,4 +30,10 @@
     @PostMapping("/base/pointMerchars/getGoodDetails")
     ProductDetailsVo getGoodDetailsWithId(@RequestBody ProductDetailRequest detailRequest);
 
+
+    @PostMapping("/base/pointMerchars/getDetailsOfExchange")
+    List<ExchangeDetailsResponse> getIntegralExchangeDetails(@RequestBody Integer appUserId);
+
+    @PostMapping("/base/pointMerchars/getSpecificsOfGoods")
+    public PointDetailsVo getSpecificsOfGoods(@RequestBody Integer speMercharsId);
 }
diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/ExchangeDetailsResponse.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/ExchangeDetailsResponse.java
index baec733..21ce630 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/ExchangeDetailsResponse.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/ExchangeDetailsResponse.java
@@ -8,7 +8,7 @@
 public class ExchangeDetailsResponse {
 
     @ApiModelProperty(value = "记录id")
-    private Integer detailsId;
+    private Long detailsId;
 
     @ApiModelProperty(value = "商品名称")
     private String goodName;
diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/PointDetailsVo.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/PointDetailsVo.java
new file mode 100644
index 0000000..237c23d
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/PointDetailsVo.java
@@ -0,0 +1,45 @@
+package com.dsh.account.model.vo.userBenefitDetail;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class PointDetailsVo {
+
+    @ApiModelProperty(value = "记录id")
+    private Integer detailsId;
+
+    @ApiModelProperty(value = "图片集")
+    private List<String> pics;
+
+    @ApiModelProperty(value = "商品名称")
+    private String goodName;
+
+    @ApiModelProperty(value = "适用状态(1已使用 2未使用)")
+    private Integer useType;
+
+    @ApiModelProperty(value = "有效期开始时间")
+    private String startTime;
+
+    @ApiModelProperty(value = "有效期结束时间")
+    private String endTime;
+
+    @ApiModelProperty(value = "下单时间")
+    private String orderTime;
+
+    @ApiModelProperty(value = "核销时间")
+    private String writeOffTime;
+
+    @ApiModelProperty(value = "核销门店")
+    private String writeOffName;
+
+    @ApiModelProperty(value = "适用范围(指定门店可用)")
+    private String belongs;
+
+    @ApiModelProperty(value = "兑换说明")
+    private String contents;
+
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/UserIntegralChangesService.java b/cloud-server-account/src/main/java/com/dsh/account/service/UserIntegralChangesService.java
index 2d1b48a..b45c68a 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/UserIntegralChangesService.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/UserIntegralChangesService.java
@@ -3,7 +3,11 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.dsh.account.entity.UserIntegralChanges;
 import com.dsh.account.model.SaveUserIntegralChangesVo;
+import com.dsh.account.model.vo.userBenefitDetail.ExchangeDetailsResponse;
 import com.dsh.account.model.vo.userBenefitDetail.IntegralDetailsResponse;
+import com.dsh.account.model.vo.userBenefitDetail.PointDetailsVo;
+
+import java.util.List;
 
 /**
  * <p>
@@ -24,4 +28,10 @@
      * @throws Exception
      */
     void saveUserIntegralChanges(SaveUserIntegralChangesVo vo) throws Exception;
+
+    List<ExchangeDetailsResponse> queryExchangeGoodsdetails(Integer userIdFormRedis, Integer useType, Integer goodType);
+
+
+    PointDetailsVo queryRedemptionDetails(Integer detailsId);
+
 }
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java
index 309550a..e04b185 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java
@@ -4,12 +4,16 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.dsh.account.entity.TAppUser;
 import com.dsh.account.entity.UserIntegralChanges;
+import com.dsh.account.feignclient.activity.MerChandiseClient;
 import com.dsh.account.mapper.TAppUserMapper;
 import com.dsh.account.mapper.UserIntegralChangesMapper;
 import com.dsh.account.model.SaveUserIntegralChangesVo;
+import com.dsh.account.model.vo.userBenefitDetail.ExchangeDetailsResponse;
 import com.dsh.account.model.vo.userBenefitDetail.IntegralDetailsResponse;
+import com.dsh.account.model.vo.userBenefitDetail.PointDetailsVo;
 import com.dsh.account.service.UserIntegralChangesService;
 import com.dsh.account.util.DateTimeHelper;
+import com.dsh.account.util.ToolUtil;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 
@@ -34,7 +38,10 @@
 
     @Resource
     private TAppUserMapper tauMapper;
-    
+
+    @Resource
+    private MerChandiseClient mcClient;
+
     @Override
     public IntegralDetailsResponse queryUserPointsDetails(String yearMonth, Integer recordId, Integer userIdFormRedis) {
         IntegralDetailsResponse vo = new IntegralDetailsResponse();
@@ -116,4 +123,25 @@
         userIntegralChanges.setInsertTime(new Date());
         this.save(userIntegralChanges);
     }
+
+    @Override
+    public List<ExchangeDetailsResponse> queryExchangeGoodsdetails(Integer userIdFormRedis, Integer useType, Integer goodType) {
+        List<ExchangeDetailsResponse> integralExchangeDetails = mcClient.getIntegralExchangeDetails(userIdFormRedis);
+        if (ToolUtil.isNotEmpty(useType)){
+            integralExchangeDetails = integralExchangeDetails.stream()
+                    .filter(response -> Objects.equals(response.getUseStatus(), useType))
+                    .collect(Collectors.toList());
+        }
+        if (ToolUtil.isNotEmpty(goodType)){
+            integralExchangeDetails = integralExchangeDetails.stream()
+                    .filter(response -> Objects.equals(response.getGoodType(), goodType))
+                    .collect(Collectors.toList());
+        }
+        return integralExchangeDetails;
+    }
+
+    @Override
+    public PointDetailsVo queryRedemptionDetails(Integer detailsId) {
+        return mcClient.getSpecificsOfGoods(detailsId);
+    }
 }
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
index 6793ca6..26c9023 100644
--- 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
@@ -7,15 +7,14 @@
 import com.dsh.activity.feignclient.course.CoursePackageConfigClient;
 import com.dsh.activity.feignclient.course.model.CoursePackage;
 import com.dsh.activity.feignclient.course.model.CoursePackagePaymentConfig;
-import com.dsh.activity.feignclient.model.IntegralCommodity;
-import com.dsh.activity.feignclient.model.ProductDetailRequest;
-import com.dsh.activity.feignclient.model.ProductDetailsVo;
+import com.dsh.activity.feignclient.model.*;
 import com.dsh.activity.feignclient.other.StoreClient;
 import com.dsh.activity.feignclient.other.model.StoreDetailOfCourse;
 import com.dsh.activity.model.request.CommodityRequest;
 import com.dsh.activity.service.*;
 import com.dsh.activity.util.GDMapGeocodingUtil;
 import com.dsh.activity.util.StrUtils;
+import com.dsh.activity.util.ToolUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -125,7 +124,18 @@
                 CoursePackage coursePackage = cpClient.queryCoursePackageById(detailRequest.getGoodId());
 
                 detailsVo.setGoodId(coursePackage.getId());
-                detailsVo.setPics(Arrays.asList(StrUtils.splitStr2StrArr(coursePackage.getDetailDrawing(), ",")));
+                List<String> list1 = Arrays.asList(StrUtils.splitStr2StrArr(coursePackage.getDetailDrawing(), ","));
+                list1.add(coursePackage.getCoverDrawing());
+                detailsVo.setPics(list1);
+                Collections.sort(detailsVo.getPics(), (s1, s2) -> {
+                    if (s1.equals(coursePackage.getCoverDrawing())) {
+                        return -1; // s1排在前面
+                    } else if (s2.equals(coursePackage.getCoverDrawing())) {
+                        return 1; // s2排在前面
+                    } else {
+                        return 0; // 保持原顺序
+                    }
+                });
                 detailsVo.setGoodName(coursePackage.getName());
                 detailsVo.setBelongsScope(merchandise.getUserPopulation());
                 int coursePackageNums = upmseService.count(new QueryWrapper<UserPointsMerchandise>()
@@ -168,8 +178,19 @@
             case 3:
 
                 detailsVo.setGoodId(merchandise.getId());
-                String[] strings = StrUtils.splitStr2StrArr(merchandise.getProductImages(), ",");
-                detailsVo.setPics(Arrays.asList(strings));
+                List<String> list2 = Arrays.asList(StrUtils.splitStr2StrArr(merchandise.getProductImages(), ","));
+                list2.add(merchandise.getCover());
+                detailsVo.setPics(list2);
+                Collections.sort(detailsVo.getPics(), (s1, s2) -> {
+                    if (s1.equals(merchandise.getCover())) {
+                        return -1; // s1排在前面
+                    } else if (s2.equals(merchandise.getCover())) {
+                        return 1; // s2排在前面
+                    } else {
+                        return 0; // 保持原顺序
+                    }
+                });
+                detailsVo.setPics(list2);
                 detailsVo.setGoodName(merchandise.getName());
                 detailsVo.setBelongsScope(merchandise.getUserPopulation());
                 int count = upmseService.count(new QueryWrapper<UserPointsMerchandise>()
@@ -205,7 +226,18 @@
 //                优惠券
                 Coupon coupon = iCouponService.getById(detailRequest.getGoodId());
                 detailsVo.setGoodId(coupon.getId());
-                detailsVo.setPics(Arrays.asList(StrUtils.splitStr2StrArr(coupon.getProductImages(), ",")));
+                List<String> list3 = Arrays.asList(StrUtils.splitStr2StrArr(coupon.getProductImages(), ","));
+                list3.add(coupon.getCover());
+                detailsVo.setPics(list3);
+                Collections.sort(detailsVo.getPics(), (s1, s2) -> {
+                    if (s1.equals(coupon.getCover())) {
+                        return -1; // s1排在前面
+                    } else if (s2.equals(coupon.getCover())) {
+                        return 1; // s2排在前面
+                    } else {
+                        return 0; // 保持原顺序
+                    }
+                });
                 detailsVo.setGoodName(coupon.getName());
                 detailsVo.setBelongsScope(coupon.getUserPopulation());
                 int couponNums = uconService.count(new QueryWrapper<UserCoupon>()
@@ -241,4 +273,125 @@
     }
 
 
+
+    @PostMapping("/base/pointMerchars/getDetailsOfExchange")
+    public List<ExchangeDetailsResponse> getIntegralExchangeDetails(@RequestBody Integer appUserId){
+        List<ExchangeDetailsResponse> responses = new ArrayList<>();
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        List<UserPointsMerchandise> pointsMerchandises = upmseService.list(new QueryWrapper<UserPointsMerchandise>()
+                .eq("userId",appUserId ));
+        if (pointsMerchandises.size() > 0 ){
+            for (UserPointsMerchandise pointsMerchandise : pointsMerchandises) {
+                PointsMerchandise merchandise = pmdsService.getById(pointsMerchandise.getPointsMerchandiseId());
+                ExchangeDetailsResponse detailsResponse = new ExchangeDetailsResponse();
+                detailsResponse.setDetailsId(pointsMerchandise.getId());
+                detailsResponse.setGoodName(merchandise.getName());
+                if (merchandise.getRedemptionMethod() == 1){
+                    detailsResponse.setRequiredType(merchandise.getIntegral()+"积分");
+                }else {
+                    detailsResponse.setRequiredType(merchandise.getIntegral()+"积分 ¥"+merchandise.getCash());
+                }
+                detailsResponse.setStartTime(simpleDateFormat.format(merchandise.getStartTime()));
+                detailsResponse.setEndTime(simpleDateFormat.format(merchandise.getEndTime()));
+                detailsResponse.setUseStatus(pointsMerchandise.getStatus());
+                detailsResponse.setGoodType(merchandise.getType());
+                responses.add(detailsResponse);
+            }
+        }
+        return responses;
+    }
+
+
+
+    @PostMapping("/base/pointMerchars/getSpecificsOfGoods")
+    public PointDetailsVo getSpecificsOfGoods(@RequestBody Integer speMercharsId){
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        PointDetailsVo detailsVo = new PointDetailsVo();
+        UserPointsMerchandise byId = upmseService.getById(speMercharsId);
+        if (ToolUtil.isNotEmpty(byId)){
+            PointsMerchandise pmdsServiceById = pmdsService.getById(byId.getPointsMerchandiseId());
+            detailsVo.setDetailsId(byId.getId());
+            switch (pmdsServiceById.getType()){
+                case 1:
+                case 3:
+                    List<String> list2 = Arrays.asList(StrUtils.splitStr2StrArr(pmdsServiceById.getProductImages(), ","));
+                    list2.add(pmdsServiceById.getCover());
+                    detailsVo.setPics(list2);
+                    Collections.sort(detailsVo.getPics(), (s1, s2) -> {
+                        if (s1.equals(pmdsServiceById.getCover())) {
+                            return -1; // s1排在前面
+                        } else if (s2.equals(pmdsServiceById.getCover())) {
+                            return 1; // s2排在前面
+                        } else {
+                            return 0; // 保持原顺序
+                        }
+                    });
+                    break;
+                case 2:
+                    CoursePackage coursePackage = cpClient.queryCoursePackageById(pmdsServiceById.getCoursePackageId());
+                    List<String> list1 = Arrays.asList(StrUtils.splitStr2StrArr(coursePackage.getDetailDrawing(), ","));
+                    list1.add(coursePackage.getCoverDrawing());
+                    detailsVo.setPics(list1);
+                    Collections.sort(detailsVo.getPics(), (s1, s2) -> {
+                        if (s1.equals(coursePackage.getCoverDrawing())) {
+                            return -1; // s1排在前面
+                        } else if (s2.equals(coursePackage.getCoverDrawing())) {
+                            return 1; // s2排在前面
+                        } else {
+                            return 0; // 保持原顺序
+                        }
+                    });
+                    break;
+                case 4:
+                    Coupon coupon = iCouponService.getById(pmdsServiceById.getId());
+                    List<String> list3 = Arrays.asList(StrUtils.splitStr2StrArr(coupon.getProductImages(), ","));
+                    list3.add(coupon.getCover());
+                    detailsVo.setPics(list3);
+                    Collections.sort(detailsVo.getPics(), (s1, s2) -> {
+                        if (s1.equals(coupon.getCover())) {
+                            return -1; // s1排在前面
+                        } else if (s2.equals(coupon.getCover())) {
+                            return 1; // s2排在前面
+                        } else {
+                            return 0; // 保持原顺序
+                        }
+                    });
+                    break;
+                default:
+                    break;
+            }
+
+            detailsVo.setGoodName(pmdsServiceById.getName());
+            detailsVo.setStartTime(simpleDateFormat.format(pmdsServiceById.getStartTime()));
+            detailsVo.setEndTime(simpleDateFormat.format(pmdsServiceById.getEndTime()));
+            detailsVo.setOrderTime(simpleDateFormat.format(byId.getInsertTime()));
+            if (byId.getStatus() == 1){
+                detailsVo.setUseType(2);
+            }else {
+                detailsVo.setUseType(1);
+                detailsVo.setWriteOffTime(simpleDateFormat.format(byId.getVerificationTime()));
+                StoreDetailOfCourse courseOfStore = stoClient.getCourseOfStore(byId.getVerifiStoreId());
+                detailsVo.setWriteOffName(courseOfStore.getStoreName());
+            }
+            switch (pmdsServiceById.getUseScope()){
+                case 1:
+                    detailsVo.setBelongs("全国通用");
+                    break;
+                case 2:
+                    detailsVo.setBelongs(pmdsServiceById.getProvince()+pmdsServiceById.getCity());
+                    break;
+                case 3:
+                    PointsMerchandiseStore one = pmdstoService.getOne(new QueryWrapper<PointsMerchandiseStore>()
+                            .eq("pointsMerchandiseId",pmdsServiceById.getId() ));
+                    StoreDetailOfCourse courseOfStore = stoClient.getCourseOfStore(one.getStoreId());
+                    detailsVo.setBelongs(courseOfStore.getStoreName()+" "+courseOfStore.getStoreAddr());
+                    break;
+                default:
+                    break;
+            }
+            detailsVo.setContents(pmdsServiceById.getRedemptionInstructions());
+        }
+        return detailsVo;
+    }
+
 }
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
index 4eba57f..c5b362d 100644
--- 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
@@ -35,7 +35,7 @@
     @TableId(value = "id", type = IdType.AUTO)
     private Integer id;
     /**
-     * 类型(1=实体商品,2=课包商品,3=门票商品)
+     * 类型(1=实体商品,2=课包商品,3=门票商品 4=优惠券)
      */
     @TableField("type")
     private Integer type;
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/entity/UserPointsMerchandise.java b/cloud-server-activity/src/main/java/com/dsh/activity/entity/UserPointsMerchandise.java
index 134991f..81c510f 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/entity/UserPointsMerchandise.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/entity/UserPointsMerchandise.java
@@ -49,11 +49,21 @@
     @TableField("verificationUserId")
     private Integer verificationUserId;
     /**
+     * 核销门店id
+     */
+    @TableField("verifiStoreId")
+    private Integer verifiStoreId;
+    /**
      * 核销时间
      */
     @TableField("verificationTime")
     private Date verificationTime;
     /**
+     * 状态(1=待核销,2=已核销)
+     */
+    @TableField("status")
+    private Integer status;
+    /**
      * 领取时间
      */
     @TableField("insertTime")
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
index 155dea3..d6937db 100644
--- 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
@@ -2,9 +2,7 @@
 
 
 import com.dsh.activity.entity.PointsMerchandise;
-import com.dsh.activity.feignclient.model.IntegralCommodity;
-import com.dsh.activity.feignclient.model.ProductDetailRequest;
-import com.dsh.activity.feignclient.model.ProductDetailsVo;
+import com.dsh.activity.feignclient.model.*;
 import com.dsh.activity.model.request.CommodityRequest;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -28,4 +26,12 @@
     @PostMapping("/base/pointMerchars/getGoodDetails")
     ProductDetailsVo getGoodDetailsWithId(@RequestBody ProductDetailRequest detailRequest);
 
+    @PostMapping("/base/pointMerchars/getDetailsOfExchange")
+    List<ExchangeDetailsResponse> getIntegralExchangeDetails(@RequestBody Integer appUserId);
+
+
+    @PostMapping("/base/pointMerchars/getSpecificsOfGoods")
+    public PointDetailsVo getSpecificsOfGoods(@RequestBody Integer speMercharsId);
+
+
 }
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/ExchangeDetailsResponse.java b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/ExchangeDetailsResponse.java
new file mode 100644
index 0000000..2588782
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/ExchangeDetailsResponse.java
@@ -0,0 +1,31 @@
+package com.dsh.activity.feignclient.model;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class ExchangeDetailsResponse {
+
+    @ApiModelProperty(value = "记录id")
+    private Long detailsId;
+
+    @ApiModelProperty(value = "商品名称")
+    private String goodName;
+
+    @ApiModelProperty(value = "支付类型(积分 / 积分+现金)")
+    private String requiredType;
+
+    @ApiModelProperty(value = "有效期开始时间")
+    private String startTime;
+
+    @ApiModelProperty(value = "有效期结束时间")
+    private String endTime;
+
+    @ApiModelProperty(value = "使用状态 (1已使用 2未使用)")
+    private Integer useStatus;
+
+    @ApiModelProperty(value = "商品类型  1实物 2课包 3门票 4优惠券")
+    private Integer goodType;
+
+}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/PointDetailsVo.java b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/PointDetailsVo.java
new file mode 100644
index 0000000..8bf0fac
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/PointDetailsVo.java
@@ -0,0 +1,45 @@
+package com.dsh.activity.feignclient.model;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class PointDetailsVo {
+
+    @ApiModelProperty(value = "记录id")
+    private Long detailsId;
+
+    @ApiModelProperty(value = "图片集")
+    private List<String> pics;
+
+    @ApiModelProperty(value = "商品名称")
+    private String goodName;
+
+    @ApiModelProperty(value = "适用状态(1已使用 2未使用)")
+    private Integer useType;
+
+    @ApiModelProperty(value = "有效期开始时间")
+    private String startTime;
+
+    @ApiModelProperty(value = "有效期结束时间")
+    private String endTime;
+
+    @ApiModelProperty(value = "下单时间")
+    private String orderTime;
+
+    @ApiModelProperty(value = "核销时间")
+    private String writeOffTime;
+
+    @ApiModelProperty(value = "核销门店")
+    private String writeOffName;
+
+    @ApiModelProperty(value = "适用范围(指定门店可用)")
+    private String belongs;
+
+    @ApiModelProperty(value = "兑换说明")
+    private String contents;
+
+}

--
Gitblit v1.7.1