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

+ 8 - 0
src/main/java/com/dk/oauth/entity/CompanyResponse.java

@@ -40,6 +40,14 @@ public class CompanyResponse {
 
     private List<Map<String,Object>> funPackage;
 
+    /**
+     * @desc   : 续费的新功能
+     * @author : 姜永辉
+     * @date   : 2024/07/03 14:33
+     */
+    private Map<String,Object> reNew;
+
+
     private Boolean vip;
 
     // 交易记录

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

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.dk.common.infrastructure.annotaiton.ExportTitle;
 import com.dk.common.infrastructure.handler.TimestampTypeHandler;
+import com.dk.common.infrastructure.handler.UuidListTypeHandler;
 import com.dk.common.infrastructure.handler.UuidTypeHandler;
 import com.dk.common.model.pojo.PageInfo;
 import com.fasterxml.jackson.annotation.JsonFormat;
@@ -320,6 +321,20 @@ public class CompanyVO extends PageInfo<CompanyVO> implements Serializable {
     private String activityItemId;
 
     /**
+     * @desc   : 活动明细Id数组--续费时候是多个id
+     */
+    @ApiModelProperty(value = "活动明细Id数组")
+    @TableField(typeHandler = UuidListTypeHandler.class)
+    private List<String> activityItemIds;
+
+    /**
+     * @desc   : 活动Id数组--续费时候是多个id
+     */
+    @ApiModelProperty(value = "活动Id数组")
+    @TableField(typeHandler = UuidListTypeHandler.class)
+    private List<String> activityIds;
+
+    /**
      * 交易单号
      */
     private String tradeNo;
@@ -347,6 +362,19 @@ public class CompanyVO extends PageInfo<CompanyVO> implements Serializable {
      */
     private List<Map<String,Object>> funPackage;
 
+    /**
+     * 交易类型 (版本升级、功能单买、续费等。。。)
+     */
+    @ApiModelProperty(value = "交易类型")
+    private String tradeType;
+
+    /**
+     * @desc   : 续费的新功能
+     * @author : 姜永辉
+     * @date   : 2024/07/03 14:33
+     */
+    private Map<String,Object> reNew;
+
 
     /*
      * 相关属性

+ 17 - 2
src/main/java/com/dk/oauth/entity/Trade.java

@@ -157,7 +157,7 @@ public class Trade  extends PageInfo<Trade> implements Serializable {
     private String tradeStatus;
 
     /**
-     * @desc   : 活动Id
+     * @desc   : 活动Id-要用数组的,因为续费有多个
      */
     @ApiModelProperty(value = "活动Id")
     @Excel(name = "活动Id")
@@ -165,13 +165,28 @@ public class Trade  extends PageInfo<Trade> implements Serializable {
     private String activityId;
 
     /**
-     * @desc   : 活动明细Id
+     * @desc   : 活动明细Id-要用数组的,因为续费有多个
      */
     @ApiModelProperty(value = "活动明细Id")
     @Excel(name = "活动明细Id")
     @TableField(typeHandler = UuidTypeHandler.class)
     private String activityItemId;
 
+    /**
+     * @desc   : 活动明细Id数组--续费时候是多个id
+     */
+    @ApiModelProperty(value = "活动明细Id数组")
+    @Excel(name = "活动明细Id数组")
+    @TableField(typeHandler = UuidListTypeHandler.class)
+    private List<String> activityItemIds;
+
+    /**
+     * @desc   : 活动Id数组--续费时候是多个id
+     */
+    @ApiModelProperty(value = "活动Id数组")
+    @Excel(name = "活动Id数组")
+    @TableField(typeHandler = UuidListTypeHandler.class)
+    private List<String> activityIds;
 
     /**
      * @desc   : 交易描述

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

@@ -154,4 +154,18 @@ public class TradeResponse   {
      */
     private String tradeDesc;
 
+    /**
+     * @desc   : 活动明细Id数组--续费时候是多个id
+     */
+    @ApiModelProperty(value = "活动明细Id数组")
+    @TableField(typeHandler = UuidListTypeHandler.class)
+    private List<String> activityItemIds;
+
+    /**
+     * @desc   : 活动Id数组--续费时候是多个id
+     */
+    @ApiModelProperty(value = "活动Id数组")
+    @TableField(typeHandler = UuidListTypeHandler.class)
+    private List<String> activityIds;
+
 }

+ 30 - 11
src/main/java/com/dk/oauth/service/impl/CompanyServiceImpl.java

@@ -489,7 +489,16 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
         licenseMap.put("web_max_num", companyVO.getWebMaxNum());
         licenseMap.put("wx_max_num", companyVO.getWxMaxNum());
         licenseMap.put("vip", companyVO.getVip());
+        licenseMap.put("fun_package", companyVO.getFunPackage());
+        licenseMap.put("re_new", companyVO.getReNew());
         company.setLicenseSocial(AESUtil.aesEncrypt(JSON.toJSONString(licenseMap)));
+//        续费和升级
+        if (Constant.TradeType.RENEW.getName().equals(companyVO.getTradeType())) {
+
+        } else {
+
+        }
+
         companyMapper.updateById(company);
         // 生成交易记录
         Trade trade = new Trade();
@@ -497,13 +506,22 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
         trade.setCpId(companyVO.getCpId());
         trade.setWxUserId(companyVO.getWxUserId());
         trade.setTradeAmount(companyVO.getTradeAmount());
-        trade.setTradeType(Constant.TradeType.UPGRADE.getName());
+        if (Constant.TradeType.RENEW.getName().equals(companyVO.getTradeType())) {
+            trade.setTradeType(Constant.TradeType.RENEW.getName());
+        } else {
+            trade.setTradeType(Constant.TradeType.UPGRADE.getName());
+        }
         trade.setBuyLong(companyVO.getBuyLong());
         trade.setBuyBeginDate(companyVO.getBuyBeginDate());
         trade.setBuyEndDate(companyVO.getBuyEndDate());
         trade.setExtendDays(companyVO.getExtendDays());
         trade.setBuyGradeCode(companyVO.getGradeCode());
         trade.setTradeStatus(Constant.TradeStatus.INEFFECTIVE.getName());
+        trade.setTradeDesc(companyVO.getRemarks());
+        trade.setActivityId(companyVO.getActivityId());
+        trade.setActivityItemId(companyVO.getActivityItemId());
+        trade.setActivityIds(companyVO.getActivityIds());
+        trade.setActivityItemIds(companyVO.getActivityItemIds());
         tradeMapper.insert(trade);
         return ResponseResultUtil.success(trade);
     }
@@ -525,7 +543,8 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
         licenseMap.put("web_max_num", companyVO.getWebMaxNum());
         licenseMap.put("wx_max_num", companyVO.getWxMaxNum());
         licenseMap.put("vip", companyVO.getVip());
-        licenseMap.put("fun_package", companyVO.getFunPackage() );
+        licenseMap.put("fun_package", companyVO.getFunPackage());
+        licenseMap.put("re_new", companyVO.getReNew());
         company.setLicenseSocial(AESUtil.aesEncrypt(JSON.toJSONString(licenseMap)));
         companyMapper.updateById(company);
         // 生成交易记录
@@ -543,9 +562,9 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
         trade.setTradeStatus(Constant.TradeStatus.INEFFECTIVE.getName());
         trade.setActivityId(companyVO.getActivityId());
         trade.setActivityItemId(companyVO.getActivityItemId());
+        trade.setActivityIds(companyVO.getActivityIds());
+        trade.setActivityItemIds(companyVO.getActivityItemIds());
         trade.setTradeDesc(companyVO.getRemarks());
-        //积分 后期要加字段
-
         tradeMapper.insert(trade);
         return ResponseResultUtil.success(trade);
     }
@@ -585,16 +604,16 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
     private HaipHttpUtils haipHttpUtils;
 
     /**
-     * @desc   : 商户负责人转让
+     * @desc : 商户负责人转让
      * @author : 刘尧
-     * @date   : 2024/6/21 09:35
+     * @date : 2024/6/21 09:35
      */
     @Override
-    public ResponseResultVO transferHead(Map<String,Object> params) {
+    public ResponseResultVO transferHead(Map<String, Object> params) {
 
 //        HaipHttpUtils haipHttpUtils = new HaipHttpUtils();
 
-        String requestUrl = "http://" + params.get("svcIp") + ":"+ params.get("svcPort") +"/"
+        String requestUrl = "http://" + params.get("svcIp") + ":" + params.get("svcPort") + "/"
                 + Constant.MDM_PREFIX
                 + Constant.SERVER + "-"
                 + params.get("svcCode")
@@ -602,13 +621,13 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
                 + "/update_flgInit";
         JSONObject JsonObject = haipHttpUtils.doPostRequest(requestUrl, params, String.valueOf(params.get("svcIp")), String.valueOf(params.get("svcPort")));
         // 如果没有成功返回
-        if (JsonObject.get("code") == null || !ResponseCodeEnum.SUCCESS.getCode().equals(JsonObject.get("code"))){
+        if (JsonObject.get("code") == null || !ResponseCodeEnum.SUCCESS.getCode().equals(JsonObject.get("code"))) {
             return ResponseResultUtil.error();
-        }else{
+        } else {
             boolean b = companyMapper.updateOwner(params);
             if (b) {
                 return ResponseResultUtil.success(200, "更新成功");
-            }else {
+            } else {
                 return ResponseResultUtil.error();
             }
         }

+ 5 - 4
src/main/resources/mapper/ActivityMapper.xml

@@ -77,10 +77,11 @@
             ti.extra_long AS "extraLong",
             T.fun_ids  AS "funUuids",
             (SELECT json_agg(t.*)  from dkic_a.t_cp_trade t
-            where activity_id = ti.activity_id
-              and activity_item_id = ti.item_id
-               and trade_status = '交易状态-生效'
-                and cp_id = #{cpId} ) AS "trade",
+            where ti.activity_id = any(t.activity_ids)
+                and ti.item_id = any(t.activity_item_ids)
+                and t.trade_status = '交易状态-生效'
+                and t.buy_end_date + '1 day' :: INTERVAL >= now( )
+                and t.cp_id = #{cpId} ) AS "trade",
             (SELECT json_agg(m.*)  from sys.t_app_menu m where fun_uuid = ANY(T.fun_ids::uuid[])) AS "funIds",
             T.activity_type AS "activityType"
         FROM

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

@@ -25,6 +25,8 @@
         ,t.trade_status
         ,t.activity_item_id
         ,t.trade_desc
+        ,t.activity_ids
+        ,t.activity_item_ids
     </sql>
 
     <resultMap type="com.dk.oauth.entity.Trade" id="ResultMap">
@@ -46,6 +48,8 @@
         <result column="activity_id" property="activityId" typeHandler="UuidTypeHandler"/>
         <result column="activity_item_id" property="activityItemId" typeHandler="UuidTypeHandler"/>
         <result column="trade_desc" property="tradeDesc"/>
+        <result column="activity_ids" property="activityIds" typeHandler="UuidListTypeHandler"/>
+        <result column="activity_item_ids" property="activityItemIds" typeHandler="UuidListTypeHandler"/>
     </resultMap>
 
     <!-- 通用查询映射结果 -->
@@ -69,6 +73,8 @@
         <result column="activity_id" property="activityId" typeHandler="UuidTypeHandler"/>
         <result column="activity_item_id" property="activityItemId" typeHandler="UuidTypeHandler"/>
         <result column="trade_desc" property="tradeDesc"/>
+        <result column="activity_ids" property="activityIds" typeHandler="UuidListTypeHandler"/>
+        <result column="activity_item_ids" property="activityItemIds" typeHandler="UuidListTypeHandler"/>
     </resultMap>
 
     <!-- 通用条件列 -->