Просмотр исходного кода

交易记录的 订单和 使用积分

姜永辉 1 год назад
Родитель
Сommit
1e7ece1e2b

+ 5 - 0
src/main/java/com/dk/oauth/entity/CompanyVO.java

@@ -421,6 +421,11 @@ public class CompanyVO extends PageInfo<CompanyVO> implements Serializable {
     @ApiModelProperty(value = "积分")
     private Integer integral;
 
+    /**
+     * 订单的原始金额
+     */
+    private BigDecimal orderAmount;
+
 
     /*
      * 相关属性

+ 9 - 0
src/main/java/com/dk/oauth/entity/Trade.java

@@ -207,6 +207,15 @@ public class Trade extends PageInfo<Trade> implements Serializable {
     private String couponUseId;
 
     /**
+     * @desc : 积分分享ID-使用积分的时候使用
+     */
+    @ApiModelProperty(value = "积分分享ID")
+    @Excel(name = "积分分享ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String integralShareId;
+
+
+    /**
      * 积分
      */
     @Excel(name = "积分")

+ 16 - 0
src/main/java/com/dk/oauth/entity/TradeResponse.java

@@ -60,6 +60,13 @@ public class TradeResponse   {
     private BigDecimal tradeAmount;
 
     /**
+     * 订单金额
+     */
+    @Excel(name = "订单金额")
+    @ApiModelProperty(value = "订单金额")
+    private BigDecimal orderAmount;
+
+    /**
      * 交易时间
      */
     @ApiModelProperty(value = "交易时间")
@@ -176,6 +183,15 @@ public class TradeResponse   {
     private String couponUseId;
 
     /**
+     * @desc : 积分分享ID-使用积分的时候使用
+     */
+    @ApiModelProperty(value = "积分分享ID")
+    @Excel(name = "积分分享ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String integralShareId;
+
+
+    /**
      * 积分
      */
     @ApiModelProperty(value = "积分")

+ 13 - 4
src/main/java/com/dk/oauth/service/impl/CompanyServiceImpl.java

@@ -16,6 +16,7 @@ import com.dk.common.response.ResponseResultUtil;
 import com.dk.common.response.ResponseResultVO;
 import com.dk.common.util.AESUtil;
 import com.dk.common.util.HaipHttpUtils;
+import com.dk.common.util.StringUtils;
 import com.dk.oauth.convert.CompanyConvert;
 import com.dk.oauth.entity.*;
 import com.dk.oauth.feign.service.OrgFeign;
@@ -49,10 +50,7 @@ import javax.servlet.http.HttpServletResponse;
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * 公司实现类
@@ -370,6 +368,7 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
             trade.setBuyGradeCode(companyVO.getGradeCode());
             trade.setTradeStatus(Constant.TradeStatus.INEFFECTIVE.getName());
             trade.setStaffName(userLogin.getUserPhone());
+            trade.setOrderAmount(companyVO.getTradeAmount());
             tradeMapper.insert(trade);
         }
 
@@ -628,7 +627,11 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
                 integralItem.setAccDate(LocalDateTime.now());
                 integralItem.setUserId(companyVO.getWxUserId());
                 integralItem.setStaffName(companyVO.getStaffNameFrom());
+                String uuid = UUID.randomUUID().toString();
+                integralItem.setItemId(uuid);
                 integralItemMapper.insert(integralItem);
+                //积分分享ID-使用积分的时候使用
+                trade.setIntegralShareId(uuid);
                 // 积分 总积分
                 Integral integral = new Integral();
                 integral.setCpId(companyVO.getCpId());
@@ -647,6 +650,7 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
         trade.setStaffName(companyVO.getStaffNameFrom());
         trade.setIntegral(companyVO.getIntegral() != null ? companyVO.getIntegral() : 0);
         trade.setCouponUseId(companyVO.getCouponUseId());
+        trade.setOrderAmount(companyVO.getOrderAmount());
         tradeMapper.insert(trade);
 
         return ResponseResultUtil.success(trade);
@@ -705,7 +709,11 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
                 integralItem.setAccDate(LocalDateTime.now());
                 integralItem.setUserId(companyVO.getWxUserId());
                 integralItem.setStaffName(companyVO.getStaffNameFrom());
+                String uuid = UUID.randomUUID().toString();
+                integralItem.setItemId(uuid);
                 integralItemMapper.insert(integralItem);
+                //积分分享ID-使用积分的时候使用
+                trade.setIntegralShareId(uuid);
                 // 积分 总积分
                 Integral integral = new Integral();
                 integral.setCpId(companyVO.getCpId());
@@ -724,6 +732,7 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
         trade.setStaffName(companyVO.getStaffNameFrom());
         trade.setIntegral(companyVO.getIntegral() != null ? companyVO.getIntegral() : 0);
         trade.setCouponUseId(companyVO.getCouponUseId());
+        trade.setOrderAmount(companyVO.getOrderAmount());
         tradeMapper.insert(trade);
         return ResponseResultUtil.success(trade);
     }

+ 9 - 4
src/main/java/com/dk/oauth/service/wxapi/basic/WechatPayService.java

@@ -174,10 +174,6 @@ public class WechatPayService {
         }
         // 更新交易记录状态
         Trade trade = new Trade();
-        trade.setTradeId(tradeResponse.getTradeId());
-        trade.setWxTradeNo(info.getTransactionId());
-        trade.setTradeStatus(Constant.TradeStatus.EFFECTIVE.getName());
-        tradeMapper.updateById(trade);
 
         // 交易的 优惠券id 使用
         if (tradeResponse.getCouponUseId() != null) {
@@ -209,7 +205,11 @@ public class WechatPayService {
             integralItem.setAccDate(LocalDateTime.now());
             integralItem.setUserId(tradeResponse.getWxUserId());
             integralItem.setStaffName(tradeResponse.getStaffName());
+            String uuid = java.util.UUID.randomUUID().toString();
+            integralItem.setItemId(uuid);
             integralItemMapper.insert(integralItem);
+            //积分分享ID-使用积分的时候使用
+            trade.setIntegralShareId(uuid);
             // 积分 总积分
             Integral integral = new Integral();
             integral.setCpId(tradeResponse.getCpId());
@@ -218,6 +218,11 @@ public class WechatPayService {
             log.info("更新优惠券的状态----------{}," + integralItem);
         }
 
+        trade.setTradeId(tradeResponse.getTradeId());
+        trade.setWxTradeNo(info.getTransactionId());
+        trade.setTradeStatus(Constant.TradeStatus.EFFECTIVE.getName());
+        tradeMapper.updateById(trade);
+
         // 交易类型-续费- 将该公司的 生成一个job的任务
         if (Constant.TradeType.RENEW.getName().equals(tradeResponse.getTradeType())) {
             log.error("交易类型-续费插入任务数据-getTradeType:" + tradeResponse.getTradeType());

+ 5 - 0
src/main/resources/mapper/TradeMapper.xml

@@ -31,6 +31,7 @@
         ,t.coupon_use_id
         ,t.integral
         ,t.staff_name
+        ,t.integral_share_id
         ,t.order_amount
     </sql>
 
@@ -57,6 +58,7 @@
         <result column="activity_ids" property="activityIds" typeHandler="UuidListTypeHandler"/>
         <result column="activity_item_ids" property="activityItemIds" typeHandler="UuidListTypeHandler"/>
         <result column="coupon_use_id" property="couponUseId" typeHandler="UuidTypeHandler"/>
+        <result column="integral_share_id" property="integralShareId" typeHandler="UuidTypeHandler"/>
         <result column="integral" property="integral"/>
         <result column="staff_name" property="staffName"/>
     </resultMap>
@@ -88,10 +90,12 @@
         <result column="tradeStatusName" property="tradeStatusName"/>
         <result column="receiptStatusName" property="receiptStatusName"/>
         <result column="coupon_use_id" property="couponUseId" typeHandler="UuidTypeHandler"/>
+        <result column="integral_share_id" property="integralShareId" typeHandler="UuidTypeHandler"/>
         <result column="integral" property="integral"/>
         <result column="staff_name" property="staffName"/>
         <result column="coupon_name" property="couponName"/>
         <result column="discount" property="discount"/>
+        <result column="order_amount" property="orderAmount"/>
     </resultMap>
 
     <!-- 通用条件列 -->
@@ -184,6 +188,7 @@
     <update id="updateById">
         update dkic_a.t_cp_trade
         set wx_trade_no  = #{wxTradeNo},
+            integral_share_id  = #{integralShareId},
             trade_status = #{tradeStatus}
         where trade_id = #{tradeId}
     </update>