소스 검색

Rockt 报文添加新增功能(存入测试表)

zhaoxian 7 달 전
부모
커밋
e7d399a950

+ 11 - 0
ruixuan-live/src/main/java/com/ruixuan/isc/controller/SupplyChainController.java

@@ -2258,6 +2258,8 @@ public class SupplyChainController extends BaseController {
                                 supplyChainService.updateOrder(eventJSon);
                                 supplyChainService.updateOrder(eventJSon);
                             } else if ("kwaishop_distribute_activity_item_change".equals(event)) {
                             } else if ("kwaishop_distribute_activity_item_change".equals(event)) {
                                 supplyChainService.updateItem(eventJSon);
                                 supplyChainService.updateItem(eventJSon);
+                            }else if ("kwaishop_distribution_regimentalOrder".equals(event)) {
+                                supplyChainService.insertOrder(eventJSon);
                             }
                             }
                         }
                         }
                     } catch (Exception e) {
                     } catch (Exception e) {
@@ -2272,7 +2274,16 @@ public class SupplyChainController extends BaseController {
         Map<String, Object> result = new HashMap<>();
         Map<String, Object> result = new HashMap<>();
         result.put("result", 1);
         result.put("result", 1);
         return result;
         return result;
+    }
+
+    @PostMapping(value = "/test111")
+    @ApiOperation(value = "---------测试")
+    public Map<String, Object> test111(@RequestBody JSONObject eventsEncoded) {
 
 
+        supplyChainService.insertOrder(eventsEncoded);
+        Map<String, Object> result = new HashMap<>();
+        result.put("result", 1);
+        return result;
     }
     }
 
 
 
 

+ 122 - 3
ruixuan-live/src/main/java/com/ruixuan/isc/entity/KuaishouSupplyChain.java

@@ -1,13 +1,14 @@
 package com.ruixuan.isc.entity;
 package com.ruixuan.isc.entity;
 
 
-import com.fasterxml.jackson.annotation.JsonFormat;
+import com.alibaba.fastjson.JSONObject;
 import com.ruixuan.common.annotation.Excel;
 import com.ruixuan.common.annotation.Excel;
+import com.ruixuan.common.utils.Check;
+import com.ruixuan.common.utils.DateUtils;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 import lombok.experimental.Accessors;
-import org.springframework.format.annotation.DateTimeFormat;
 
 
 import java.util.Date;
 import java.util.Date;
 
 
@@ -173,8 +174,126 @@ public class KuaishouSupplyChain {
     @Excel(name = "结算服务费收入", width = 15)
     @Excel(name = "结算服务费收入", width = 15)
     @ApiModelProperty(value = "结算服务费收入")
     @ApiModelProperty(value = "结算服务费收入")
     private Long totalRegimentalSettleAmount;
     private Long totalRegimentalSettleAmount;
-    private String statDate;
+    /**
+     * 佣金率
+     */
     private Long itemCommissionRate;
     private Long itemCommissionRate;
+    /**
+     * 团长ID
+     */
+    private Long regimentalId;
     private Date createTime;
     private Date createTime;
     private Date updateTime;
     private Date updateTime;
+    private String statDate;
+    private Integer statHour;
+    /**
+     * 二级团Id
+     */
+    private Long secondActivityUserId;
+    /**
+     * 二级团长活动ID
+     */
+    private Long secondActivityId;
+    /**
+     * '商家昵称快照'
+     */
+    private String sellerNickName;
+    /**
+     * skuId
+     */
+    private Long skuId;
+
+    /**
+     * 商品数量
+     */
+    private Long num;
+
+    /**
+     * 一级团的支出服务费,分(二级团长结算金额
+     */
+    private Long expendRegimentalSettleAmount;
+
+    /**
+     * 一级团长预估支出服务费,千分之一分(二级团长预估收入)
+     */
+    private Long expendEstimateSettleAmount;
+
+    /**
+     * 一级团长预估支出服务费率(二级团长的预估收入服务费率)
+     */
+    private Long expendRegimentalPromotionRate;
+    /**
+     * 奖励服务费收入(分)
+     */
+    private Long excitationIncome;
+    /**
+     * 接单服务费收入(分
+     */
+    private Long serviceIncome;
+    /**
+     * 资金流转类型 [1:服务费收入订单] [2:服务费支出订单]
+     */
+    private Long fundType;
+    /**
+     * 二级团长服务费(分)
+     */
+    private Long secondServiceAmount;
+    /**
+     * 达人佣金率,千分比(分)
+     */
+    private Long promoterCommissionRate;
+
+    public KuaishouSupplyChain() {
+
+    }
+
+    public KuaishouSupplyChain(JSONObject info) {
+        this.setOid(info.getLong("oid"));
+        JSONObject orderProductInfo = info.getJSONObject("orderProductInfo");
+        Long itemId = null;
+        if (!Check.isNull(orderProductInfo)) {
+            itemId = orderProductInfo.getLong("itemId");
+            this.setItemId(itemId);
+            this.setItemTitle(orderProductInfo.getString("itemTitle"));
+            this.setReservePrice(orderProductInfo.getLong("itemPrice"));
+            this.setImageUrl(orderProductInfo.getString("itemUrl"));
+            this.setSellerId(orderProductInfo.getLong("sellerId"));
+            this.setSellerNickName(orderProductInfo.getString("sellerNickName"));
+        }
+
+        this.setOrderStatus(info.getInteger("cpsOrderStatus"));
+        this.setOrderCreateTime(info.getLong("orderCreateTime"));
+        this.setSendStatus(info.getInteger("sendStatus"));
+        this.setSettlementBizType(info.getInteger("settlementBizType"));
+        this.setSettlementBizTypeDesc(1 == info.getInteger("settlementBizType") ? "快分销" : "快手聚力计划");
+        this.setSendTime(info.getLong("sendTime"));
+        this.setRecvTime(info.getLong("recvTime"));
+
+        JSONObject orderUserInfo = info.getJSONObject("orderUserInfo");
+        if (!Check.isNull(orderUserInfo)) {
+            this.setRegimentalId(orderUserInfo.getLong("activityUserId"));
+            this.setActivityId(orderUserInfo.getLong("activityId"));
+            this.setPromoterId(orderUserInfo.getLong("promotionId"));
+            this.setPromoterNickName(orderUserInfo.getString("promotionNickName"));
+            this.setSecondActivityUserId(orderUserInfo.getLong("secondActivityUserId"));
+            this.setSecondActivityId(orderUserInfo.getLong("secondActivityId"));
+        }
+        this.setOrderAmount(info.getLong("orderTradeAmount"));
+        this.setPayAmount(info.getLong("payAmount"));
+        this.setRegimentalPromotionRate(info.getLong("regimentalPromotionRate"));
+        this.setShareRate(info.getLong("shareRateStr"));
+        this.setBaseAmount(info.getLong("baseAmount"));
+        this.setServiceAmount(info.getLong("serviceAmount"));
+        this.setRegimentalPromotionAmount(info.getLong("regimentalPromotionAmount"));
+        this.setTotalRegimentalSettleAmount(0L);//待结算 预估填入
+        this.setStatDate(DateUtils.timestamptoStr(info.getLong("orderCreateTime")));
+        this.setStatHour(DateUtils.timestamptoHour(info.getLong("orderCreateTime")));
+        this.setItemCommissionRate(info.getLong("promoterCommissionRate"));
+        this.setExpendRegimentalSettleAmount(info.getLong("expendRegimentalSettleAmount"));
+        this.setExpendEstimateSettleAmount(info.getLong("expendEstimateSettleAmount"));
+        this.setExpendRegimentalPromotionRate(info.getLong("expendRegimentalPromotionRate"));
+        this.setSecondServiceAmount(info.getLong("secondServiceAmount"));
+        this.setPromoterCommissionRate(info.getLong("promoterCommissionRate"));
+    }
+
 }
 }

+ 3 - 0
ruixuan-live/src/main/java/com/ruixuan/isc/mapper/SupplyChainMapper.java

@@ -3,6 +3,7 @@ package com.ruixuan.isc.mapper;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
 import com.ruixuan.isc.entity.KuaiShouActivityInfo;
 import com.ruixuan.isc.entity.KuaiShouActivityInfo;
 import com.ruixuan.isc.entity.KuaiShouActivityOpenItemList;
 import com.ruixuan.isc.entity.KuaiShouActivityOpenItemList;
+import com.ruixuan.isc.entity.KuaishouSupplyChain;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Param;
 
 
 import java.util.List;
 import java.util.List;
@@ -266,4 +267,6 @@ public interface SupplyChainMapper {
     List<JSONObject> getBytedanceChannelGmvHourByDateRoi(@Param("userList") List<Long> userList, @Param("date") Long date, @Param("hourType") Integer hourType);
     List<JSONObject> getBytedanceChannelGmvHourByDateRoi(@Param("userList") List<Long> userList, @Param("date") Long date, @Param("hourType") Integer hourType);
 
 
     List<JSONObject> getBytedanceCourtshipGmvHourByDateRoi(@Param("userList") List<Long> userList, @Param("date") Long date, @Param("hourType") Integer hourType);
     List<JSONObject> getBytedanceCourtshipGmvHourByDateRoi(@Param("userList") List<Long> userList, @Param("date") Long date, @Param("hourType") Integer hourType);
+
+    void rinsertOne(@Param("ownership") String ownership, @Param("supplyChain") KuaishouSupplyChain supplyChain);
 }
 }

+ 1 - 0
ruixuan-live/src/main/java/com/ruixuan/isc/service/ISupplyChainService.java

@@ -172,6 +172,7 @@ public interface ISupplyChainService {
 
 
     void updateItem(JSONObject eventJSon);
     void updateItem(JSONObject eventJSon);
 
 
+    void insertOrder(JSONObject eventJSon);
     /*
     /*
      *分销团长订单列表(游标方式)
      *分销团长订单列表(游标方式)
      * open.distribution.cps.leader.order.cursor.list
      * open.distribution.cps.leader.order.cursor.list

+ 36 - 0
ruixuan-live/src/main/java/com/ruixuan/isc/service/impl/SupplyChainServiceImpl.java

@@ -791,6 +791,42 @@ public class SupplyChainServiceImpl implements ISupplyChainService {
     }
     }
 
 
     @Override
     @Override
+    public void insertOrder(JSONObject eventJSon) {
+        JSONObject info = eventJSon.getJSONObject("info");
+        if (!Check.isNull(info)) {
+            Integer messageType = info.getInteger("messageType");
+            //新增
+            if (1 == messageType) {
+                KuaishouSupplyChain supplyChain = new KuaishouSupplyChain(info);
+                String ownership = null;
+                Criteria criteria = new Criteria();
+                criteria = Criteria.where("_id").is(supplyChain.getItemId());
+                Query query = new Query(criteria);
+                ItemCheck itemCheck = mongoTemplate.findOne(query, ItemCheck.class);
+                if (!Check.isNull(itemCheck)) {
+                    ownership = itemCheck.getOwnership();
+                }
+                supplyChainMapper.rinsertOne(ownership, supplyChain);
+            }  //更新
+            else if (2 == messageType) {
+                Integer cpsOrderStatus = info.getInteger("cpsOrderStatus");
+                Long oid = info.getLong("oid");
+                if (cpsOrderStatus == 60 || cpsOrderStatus == 40) {
+                    Integer i = updateOrderRegimentalSettleAmount(oid, cpsOrderStatus);
+                    if (i <= 0) {
+                        log.error("订单ID:{},状态:{} 修改失败", oid, cpsOrderStatus);
+                    }
+                } else {
+                    Integer i = this.updateOrderStatus(oid, cpsOrderStatus);
+                    if (i <= 0) {
+                        log.error("订单ID:{},状态:{} 修改失败", oid, cpsOrderStatus);
+                    }
+                }
+            }
+        }
+    }
+
+    @Override
     public void addList(String beginDate, String endDate, String pcursor) throws InterruptedException {
     public void addList(String beginDate, String endDate, String pcursor) throws InterruptedException {
         String url = "https://openapi.kwaixiaodian.com";
         String url = "https://openapi.kwaixiaodian.com";
         Long beginTime = DateUtils.getStartLongTime(beginDate);
         Long beginTime = DateUtils.getStartLongTime(beginDate);

+ 172 - 23
ruixuan-live/src/main/resources/mapper/isc/SupplyChainMapper.xml

@@ -1101,7 +1101,7 @@
     </select>
     </select>
     <select id="adminReportList" resultType="com.alibaba.fastjson.JSONObject">
     <select id="adminReportList" resultType="com.alibaba.fastjson.JSONObject">
         select t.*,
         select t.*,
-               t1.sendSampleCount,
+        t1.sendSampleCount,
         IFNULL(ROUND(((t.orderNum-t3.orderNum)/t3.orderNum)*100,2),0) as 'orderNumRoi'
         IFNULL(ROUND(((t.orderNum-t3.orderNum)/t3.orderNum)*100,2),0) as 'orderNumRoi'
         from (select t1.user_id as 'userId',
         from (select t1.user_id as 'userId',
         t1.user_name as 'userName',
         t1.user_name as 'userName',
@@ -1154,7 +1154,7 @@
         from kuaishou_item_bind_user t1
         from kuaishou_item_bind_user t1
         left join kuaishou_supply_chain t2
         left join kuaishou_supply_chain t2
         on t1.item_id = t2.item_id
         on t1.item_id = t2.item_id
-        where  t2.stat_hour &lt;= #{hour}
+        where t2.stat_hour &lt;= #{hour}
         <if test="lastTimeStart != null and lastTimeStart != ''">
         <if test="lastTimeStart != null and lastTimeStart != ''">
             and t2.stat_date &gt;= #{lastTimeStart}
             and t2.stat_date &gt;= #{lastTimeStart}
         </if>
         </if>
@@ -1270,7 +1270,6 @@
         ) as 'ccrInt'
         ) as 'ccrInt'
 
 
 
 
-
         FROM
         FROM
         kuaishou_item_bind_user t1
         kuaishou_item_bind_user t1
         LEFT JOIN
         LEFT JOIN
@@ -1579,7 +1578,8 @@
         ROUND(((t1.validOrderNUm-t2.validOrderNUm)/t2.validOrderNUm)*100,2) as 'validOrderNUmRoi',
         ROUND(((t1.validOrderNUm-t2.validOrderNUm)/t2.validOrderNUm)*100,2) as 'validOrderNUmRoi',
         ROUND(((t1.allNumber-t1.validOrderNUm-t2.inValidOrderNUm)/t2.inValidOrderNUm)*100,2) as 'inValidOrderNUmRoi',
         ROUND(((t1.allNumber-t1.validOrderNUm-t2.inValidOrderNUm)/t2.inValidOrderNUm)*100,2) as 'inValidOrderNUmRoi',
         ROUND(((t1.baseAmount-t2.baseAmount)/t2.baseAmount)*100,2) as 'baseAmountRoi',
         ROUND(((t1.baseAmount-t2.baseAmount)/t2.baseAmount)*100,2) as 'baseAmountRoi',
-        ROUND(((t1.regimentalPromotionAmount-t2.regimentalPromotionAmount)/t2.regimentalPromotionAmount)*100,2) as 'regimentalPromotionAmountRoi'
+        ROUND(((t1.regimentalPromotionAmount-t2.regimentalPromotionAmount)/t2.regimentalPromotionAmount)*100,2) as
+        'regimentalPromotionAmountRoi'
         FROM(
         FROM(
         SELECT
         SELECT
         COUNT(DISTINCT promoter_id) as 'promoterCount',
         COUNT(DISTINCT promoter_id) as 'promoterCount',
@@ -1600,13 +1600,14 @@
                      open="(" close=")">
                      open="(" close=")">
                 #{item}
                 #{item}
             </foreach>
             </foreach>
-        </if>)t1
+        </if>
+        )t1
         LEFT JOIN (
         LEFT JOIN (
         SELECT
         SELECT
         IFNULL(SUM(CASE WHEN order_status != 80 THEN 1 ELSE 0 END), 0) AS 'validOrderNUm',
         IFNULL(SUM(CASE WHEN order_status != 80 THEN 1 ELSE 0 END), 0) AS 'validOrderNUm',
         COUNT(oid)-IFNULL(SUM(CASE WHEN order_status != 80 THEN 1 ELSE 0 END), 0) as 'inValidOrderNUm',
         COUNT(oid)-IFNULL(SUM(CASE WHEN order_status != 80 THEN 1 ELSE 0 END), 0) as 'inValidOrderNUm',
         IFNULL(SUM(CASE WHEN order_status != 80 THEN order_amount ELSE 0 END),0) as 'baseAmount',
         IFNULL(SUM(CASE WHEN order_status != 80 THEN order_amount ELSE 0 END),0) as 'baseAmount',
-               IFNULL(SUM(CASE WHEN order_status != 80 THEN regimental_promotion_amount ELSE 0 END),0) AS
+        IFNULL(SUM(CASE WHEN order_status != 80 THEN regimental_promotion_amount ELSE 0 END),0) AS
         'regimentalPromotionAmount'
         'regimentalPromotionAmount'
         FROM kuaishou_supply_chain
         FROM kuaishou_supply_chain
         WHERE stat_date >= #{lastTimeStart}
         WHERE stat_date >= #{lastTimeStart}
@@ -1618,7 +1619,8 @@
                      open="(" close=")">
                      open="(" close=")">
                 #{item}
                 #{item}
             </foreach>
             </foreach>
-        </if>)t2 on 1=1
+        </if>
+        )t2 on 1=1
     </select>
     </select>
 
 
     <select id="selectOrderInfoBytedance" resultType="com.alibaba.fastjson.JSONObject">
     <select id="selectOrderInfoBytedance" resultType="com.alibaba.fastjson.JSONObject">
@@ -1626,7 +1628,8 @@
         ROUND(((t1.validOrderNUm-t2.validOrderNUm)/t2.validOrderNUm)*100,2) as 'validOrderNUmRoi',
         ROUND(((t1.validOrderNUm-t2.validOrderNUm)/t2.validOrderNUm)*100,2) as 'validOrderNUmRoi',
         ROUND(((t1.allNumber-t1.validOrderNUm-t2.inValidOrderNUm)/t2.inValidOrderNUm)*100,2) as 'inValidOrderNUmRoi',
         ROUND(((t1.allNumber-t1.validOrderNUm-t2.inValidOrderNUm)/t2.inValidOrderNUm)*100,2) as 'inValidOrderNUmRoi',
         ROUND(((t1.baseAmount-t2.baseAmount)/t2.baseAmount)*100,2) as 'baseAmountRoi',
         ROUND(((t1.baseAmount-t2.baseAmount)/t2.baseAmount)*100,2) as 'baseAmountRoi',
-        ROUND(((t1.regimentalPromotionAmount-t2.regimentalPromotionAmount)/t2.regimentalPromotionAmount)*100,2) as 'regimentalPromotionAmountRoi'
+        ROUND(((t1.regimentalPromotionAmount-t2.regimentalPromotionAmount)/t2.regimentalPromotionAmount)*100,2) as
+        'regimentalPromotionAmountRoi'
         FROM (
         FROM (
         SELECT
         SELECT
         COUNT(DISTINCT author_short_id) as 'promoterCount',
         COUNT(DISTINCT author_short_id) as 'promoterCount',
@@ -1690,7 +1693,8 @@
         ROUND(((t1.validOrderNUm-t2.validOrderNUm)/t2.validOrderNUm)*100,2) as 'validOrderNUmRoi',
         ROUND(((t1.validOrderNUm-t2.validOrderNUm)/t2.validOrderNUm)*100,2) as 'validOrderNUmRoi',
         ROUND(((t1.allNumber-t1.validOrderNUm-t2.inValidOrderNUm)/t2.inValidOrderNUm)*100,2) as 'inValidOrderNUmRoi',
         ROUND(((t1.allNumber-t1.validOrderNUm-t2.inValidOrderNUm)/t2.inValidOrderNUm)*100,2) as 'inValidOrderNUmRoi',
         ROUND(((t1.baseAmount-t2.baseAmount)/t2.baseAmount)*100,2) as 'baseAmountRoi',
         ROUND(((t1.baseAmount-t2.baseAmount)/t2.baseAmount)*100,2) as 'baseAmountRoi',
-        ROUND(((t1.regimentalPromotionAmount-t2.regimentalPromotionAmount)/t2.regimentalPromotionAmount)*100,2) as 'regimentalPromotionAmountRoi'
+        ROUND(((t1.regimentalPromotionAmount-t2.regimentalPromotionAmount)/t2.regimentalPromotionAmount)*100,2) as
+        'regimentalPromotionAmountRoi'
         FROM(
         FROM(
         SELECT
         SELECT
         COUNT(DISTINCT promoter_id) as 'promoterCount',
         COUNT(DISTINCT promoter_id) as 'promoterCount',
@@ -1740,7 +1744,8 @@
         ROUND(((t1.validOrderNUm-t2.validOrderNUm)/t2.validOrderNUm)*100,2) as 'validOrderNUmRoi',
         ROUND(((t1.validOrderNUm-t2.validOrderNUm)/t2.validOrderNUm)*100,2) as 'validOrderNUmRoi',
         ROUND(((t1.allNumber-t1.validOrderNUm-t2.inValidOrderNUm)/t2.inValidOrderNUm)*100,2) as 'inValidOrderNUmRoi',
         ROUND(((t1.allNumber-t1.validOrderNUm-t2.inValidOrderNUm)/t2.inValidOrderNUm)*100,2) as 'inValidOrderNUmRoi',
         ROUND(((t1.baseAmount-t2.baseAmount)/t2.baseAmount)*100,2) as 'baseAmountRoi',
         ROUND(((t1.baseAmount-t2.baseAmount)/t2.baseAmount)*100,2) as 'baseAmountRoi',
-        ROUND(((t1.regimentalPromotionAmount-t2.regimentalPromotionAmount)/t2.regimentalPromotionAmount)*100,2) as 'regimentalPromotionAmountRoi'
+        ROUND(((t1.regimentalPromotionAmount-t2.regimentalPromotionAmount)/t2.regimentalPromotionAmount)*100,2) as
+        'regimentalPromotionAmountRoi'
         from (
         from (
         SELECT
         SELECT
         COUNT(DISTINCT author_short_id) as 'promoterCount',
         COUNT(DISTINCT author_short_id) as 'promoterCount',
@@ -1760,7 +1765,8 @@
                      open="(" close=")">
                      open="(" close=")">
                 #{item}
                 #{item}
             </foreach>
             </foreach>
-        </if>)t1
+        </if>
+        )t1
         LEFT JOIN (
         LEFT JOIN (
         SELECT
         SELECT
         IFNULL(SUM(CASE WHEN flow_point != 'REFUND' THEN 1 ELSE 0 END), 0) AS 'validOrderNUm',
         IFNULL(SUM(CASE WHEN flow_point != 'REFUND' THEN 1 ELSE 0 END), 0) AS 'validOrderNUm',
@@ -1778,7 +1784,8 @@
                      open="(" close=")">
                      open="(" close=")">
                 #{item}
                 #{item}
             </foreach>
             </foreach>
-        </if>)t2 on 1=1
+        </if>
+        )t2 on 1=1
     </select>
     </select>
 
 
     <select id="selectOrderRate" resultType="com.alibaba.fastjson.JSONObject">
     <select id="selectOrderRate" resultType="com.alibaba.fastjson.JSONObject">
@@ -2513,7 +2520,7 @@
         from kuaishou_item_bind_user t1
         from kuaishou_item_bind_user t1
         left join kuaishou_supply_chain t2
         left join kuaishou_supply_chain t2
         on t1.item_id = t2.item_id
         on t1.item_id = t2.item_id
-        where  t2.stat_hour &lt;= #{hour}
+        where t2.stat_hour &lt;= #{hour}
         <if test="lastTimeStart != null and lastTimeStart != ''">
         <if test="lastTimeStart != null and lastTimeStart != ''">
             and t2.stat_date &gt;= #{lastTimeStart}
             and t2.stat_date &gt;= #{lastTimeStart}
         </if>
         </if>
@@ -2823,7 +2830,8 @@
         t1.user_name as 'collectSampleName',
         t1.user_name as 'collectSampleName',
         count(t2.oid) as 'orderNum',
         count(t2.oid) as 'orderNum',
         sum(case when t2.order_status != 80 then 1 else 0 end) as 'validOrderNum',
         sum(case when t2.order_status != 80 then 1 else 0 end) as 'validOrderNum',
-        concat(round(sum(case when t2.order_status != 80 then 1 else 0 end) /  count(t2.oid) * 100, 2), '%') as 'validOrderRate',
+        concat(round(sum(case when t2.order_status != 80 then 1 else 0 end) / count(t2.oid) * 100, 2), '%') as
+        'validOrderRate',
         round(sum(t2.order_amount) / 100, 2) as 'orderAmount',
         round(sum(t2.order_amount) / 100, 2) as 'orderAmount',
         round(sum(t2.regimental_promotion_amount) / 100, 2) as 'regimentalPromotionAmount',
         round(sum(t2.regimental_promotion_amount) / 100, 2) as 'regimentalPromotionAmount',
         round(sum(t2.total_regimental_settle_amount) / 100, 2) as 'totalRegimentalSettleAmount'
         round(sum(t2.total_regimental_settle_amount) / 100, 2) as 'totalRegimentalSettleAmount'
@@ -2892,7 +2900,7 @@
 
 
     </select>
     </select>
     <select id="exportBindOrder" resultType="com.alibaba.fastjson.JSONObject">
     <select id="exportBindOrder" resultType="com.alibaba.fastjson.JSONObject">
-        select *,     (case
+        select *, (case
         when t4.ccr_value is null or t4.ccr_value = 0
         when t4.ccr_value is null or t4.ccr_value = 0
         then '0%'
         then '0%'
         else concat(round(t4.ccr_value / 100, 2), '%')
         else concat(round(t4.ccr_value / 100, 2), '%')
@@ -3190,41 +3198,82 @@
     <update id="updateRuiXuanOrderRegimentalSettleAmount">
     <update id="updateRuiXuanOrderRegimentalSettleAmount">
         UPDATE ruixuan.kuaishou_supply_chain
         UPDATE ruixuan.kuaishou_supply_chain
         SET order_status                   = #{cpsOrderStatus},
         SET order_status                   = #{cpsOrderStatus},
-            total_regimental_settle_amount = regimental_promotion_amount
+            <choose>
+                <when test='cpsOrderStatus == 60 '>
+                    total_regimental_settle_amount = regimental_promotion_amount
+                </when>
+                <otherwise>
+                    send_status = 1
+                </otherwise>
+            </choose>
         WHERE oid = #{oid}
         WHERE oid = #{oid}
-
     </update>
     </update>
     <update id="updateMgsOrderRegimentalSettleAmount">
     <update id="updateMgsOrderRegimentalSettleAmount">
         UPDATE miaogousi.kuaishou_supply_chain
         UPDATE miaogousi.kuaishou_supply_chain
         SET order_status                   = #{cpsOrderStatus},
         SET order_status                   = #{cpsOrderStatus},
-            total_regimental_settle_amount = regimental_promotion_amount
+        <choose>
+            <when test='cpsOrderStatus == 60 '>
+                total_regimental_settle_amount = regimental_promotion_amount
+            </when>
+            <otherwise>
+                send_status = 1
+            </otherwise>
+        </choose>
         WHERE oid = #{oid}
         WHERE oid = #{oid}
     </update>
     </update>
     <update id="updateRocketOrderRegimentalSettleAmount">
     <update id="updateRocketOrderRegimentalSettleAmount">
         UPDATE rocket.kuaishou_supply_chain
         UPDATE rocket.kuaishou_supply_chain
         SET order_status                   = #{cpsOrderStatus},
         SET order_status                   = #{cpsOrderStatus},
-            total_regimental_settle_amount = regimental_promotion_amount
+        <choose>
+            <when test='cpsOrderStatus == 60 '>
+                total_regimental_settle_amount = regimental_promotion_amount
+            </when>
+            <otherwise>
+                send_status = 1
+            </otherwise>
+        </choose>
         WHERE oid = #{oid}
         WHERE oid = #{oid}
     </update>
     </update>
 
 
     <update id="updateYufuOrderRegimentalSettleAmount">
     <update id="updateYufuOrderRegimentalSettleAmount">
         UPDATE yufu.kuaishou_supply_chain
         UPDATE yufu.kuaishou_supply_chain
         SET order_status                   = #{cpsOrderStatus},
         SET order_status                   = #{cpsOrderStatus},
-            total_regimental_settle_amount = regimental_promotion_amount
+        <choose>
+            <when test='cpsOrderStatus == 60 '>
+                total_regimental_settle_amount = regimental_promotion_amount
+            </when>
+            <otherwise>
+                send_status = 1
+            </otherwise>
+        </choose>
         WHERE oid = #{oid}
         WHERE oid = #{oid}
     </update>
     </update>
 
 
     <update id="updateYuxiuOrderRegimentalSettleAmount">
     <update id="updateYuxiuOrderRegimentalSettleAmount">
         UPDATE yuxiu.kuaishou_supply_chain
         UPDATE yuxiu.kuaishou_supply_chain
         SET order_status                   = #{cpsOrderStatus},
         SET order_status                   = #{cpsOrderStatus},
-            total_regimental_settle_amount = regimental_promotion_amount
+        <choose>
+            <when test='cpsOrderStatus == 60 '>
+                total_regimental_settle_amount = regimental_promotion_amount
+            </when>
+            <otherwise>
+                send_status = 1
+            </otherwise>
+        </choose>
         WHERE oid = #{oid}
         WHERE oid = #{oid}
     </update>
     </update>
 
 
     <update id="updateZhishuiOrderRegimentalSettleAmount">
     <update id="updateZhishuiOrderRegimentalSettleAmount">
         UPDATE zhishui.kuaishou_supply_chain
         UPDATE zhishui.kuaishou_supply_chain
         SET order_status                   = #{cpsOrderStatus},
         SET order_status                   = #{cpsOrderStatus},
-            total_regimental_settle_amount = regimental_promotion_amount
+        <choose>
+            <when test='cpsOrderStatus == 60 '>
+                total_regimental_settle_amount = regimental_promotion_amount
+            </when>
+            <otherwise>
+                send_status = 1
+            </otherwise>
+        </choose>
         WHERE oid = #{oid}
         WHERE oid = #{oid}
     </update>
     </update>
 
 
@@ -3591,7 +3640,8 @@
         </if>
         </if>
         <if test="hourType == 2 ">
         <if test="hourType == 2 ">
             count(1) as 'charge'
             count(1) as 'charge'
-        </if> from ruixuan.bytedance_order_list where pay_success_time = #{date}
+        </if>
+        from ruixuan.bytedance_order_list where pay_success_time = #{date}
         <if test='userList != null and userList.size() > 0'>
         <if test='userList != null and userList.size() > 0'>
             and product_id in(
             and product_id in(
             select item_id
             select item_id
@@ -4077,4 +4127,103 @@
         where item_id = #{itemId}
         where item_id = #{itemId}
     </update>
     </update>
 
 
+    <insert id="rinsertOne">
+        replace into
+        <choose>
+            <when test='ownership == null '>
+                ruixuan.kuaishou_supply_chain_ceshi
+            </when>
+            <otherwise>
+                ${ownership}.kuaishou_supply_chain_ceshi
+            </otherwise>
+        </choose>
+        (
+        regimental_id,
+        oid,
+        item_id,
+        item_title,
+        reserve_price,
+        image_url,
+        order_status,
+        order_create_time,
+        send_status,
+        settlement_biz_type,
+        settlement_biz_type_desc,
+        send_time,
+        recv_time,
+        seller_id,
+        promoter_id,
+        promoter_nick_name,
+        activity_id,
+        order_amount,
+        pay_amount,
+        regimental_promotion_rate,
+        share_rate,
+        base_amount,
+        service_amount,
+        regimental_promotion_amount,
+        total_regimental_settle_amount,
+        stat_date,
+        stat_hour,
+        item_commission_rate,
+        second_activity_user_id,
+        second_activity_id,
+        seller_nick_name,
+        sku_id,
+        num,
+        expend_regimental_settle_amount,
+        expend_estimate_settle_amount,
+        expend_regimental_promotion_rate,
+        excitation_income,
+        service_income,
+        fund_type,
+        second_service_amount,
+        promoter_commission_rate
+        )
+        value
+        (
+        #{supplyChain.regimentalId},
+        #{supplyChain.oid},
+        #{supplyChain.itemId},
+        #{supplyChain.itemTitle},
+        #{supplyChain.reservePrice},
+        #{supplyChain.imageUrl},
+        #{supplyChain.orderStatus},
+        #{supplyChain.orderCreateTime},
+        #{supplyChain.sendStatus},
+        #{supplyChain.settlementBizType},
+        #{supplyChain.settlementBizTypeDesc},
+        #{supplyChain.sendTime},
+        #{supplyChain.recvTime},
+        #{supplyChain.sellerId},
+        #{supplyChain.promoterId},
+        #{supplyChain.promoterNickName},
+        #{supplyChain.activityId},
+        #{supplyChain.orderAmount},
+        #{supplyChain.payAmount},
+        #{supplyChain.regimentalPromotionRate},
+        #{supplyChain.shareRate},
+        #{supplyChain.baseAmount},
+        #{supplyChain.serviceAmount},
+        #{supplyChain.regimentalPromotionAmount},
+        #{supplyChain.totalRegimentalSettleAmount},
+        #{supplyChain.statDate},
+        #{supplyChain.statHour},
+        #{supplyChain.itemCommissionRate},
+        #{supplyChain.secondActivityUserId},
+        #{supplyChain.secondActivityId},
+        #{supplyChain.sellerNickName},
+        #{supplyChain.skuId},
+        #{supplyChain.num},
+        #{supplyChain.expendRegimentalSettleAmount},
+        #{supplyChain.expendEstimateSettleAmount},
+        #{supplyChain.expendRegimentalPromotionRate},
+        #{supplyChain.excitationIncome},
+        #{supplyChain.serviceIncome},
+        #{supplyChain.fundType},
+        #{supplyChain.secondServiceAmount},
+        #{supplyChain.promoterCommissionRate}
+        )
+    </insert>
+
 </mapper>
 </mapper>