yumeng 1 rok pred
rodič
commit
c9c1dca1d6
20 zmenil súbory, kde vykonal 1144 pridanie a 29 odobranie
  1. 144 0
      ruixuan-live/src/main/java/com/ruixuan/isc/controller/KuaishouRuleSettlementCheckController.java
  2. 99 4
      ruixuan-live/src/main/java/com/ruixuan/isc/controller/KuaishouRuleSettlementDataController.java
  3. 271 0
      ruixuan-live/src/main/java/com/ruixuan/isc/entity/KuaishouRuleSettlementCheck.java
  4. 15 1
      ruixuan-live/src/main/java/com/ruixuan/isc/entity/KuaishouRuleSettlementData.java
  5. 2 0
      ruixuan-live/src/main/java/com/ruixuan/isc/mapper/KuaishouItemListMapper.java
  6. 2 0
      ruixuan-live/src/main/java/com/ruixuan/isc/mapper/KuaishouPromoterMapper.java
  7. 75 0
      ruixuan-live/src/main/java/com/ruixuan/isc/mapper/KuaishouRuleSettlementCheckMapper.java
  8. 1 1
      ruixuan-live/src/main/java/com/ruixuan/isc/mapper/KuaishouRuleSettlementDataMapper.java
  9. 2 0
      ruixuan-live/src/main/java/com/ruixuan/isc/service/IKuaishouItemListService.java
  10. 2 0
      ruixuan-live/src/main/java/com/ruixuan/isc/service/IKuaishouPromoterService.java
  11. 75 0
      ruixuan-live/src/main/java/com/ruixuan/isc/service/IKuaishouRuleSettlementCheckService.java
  12. 1 1
      ruixuan-live/src/main/java/com/ruixuan/isc/service/IKuaishouRuleSettlementDataService.java
  13. 5 0
      ruixuan-live/src/main/java/com/ruixuan/isc/service/impl/KuaishouItemListServiceImpl.java
  14. 5 0
      ruixuan-live/src/main/java/com/ruixuan/isc/service/impl/KuaishouPromoterServiceImpl.java
  15. 114 0
      ruixuan-live/src/main/java/com/ruixuan/isc/service/impl/KuaishouRuleSettlementCheckServiceImpl.java
  16. 2 2
      ruixuan-live/src/main/java/com/ruixuan/isc/service/impl/KuaishouRuleSettlementDataServiceImpl.java
  17. 16 4
      ruixuan-live/src/main/resources/mapper/isc/KuaishouItemListMapper.xml
  18. 19 2
      ruixuan-live/src/main/resources/mapper/isc/KuaishouPromoterMapper.xml
  19. 250 0
      ruixuan-live/src/main/resources/mapper/isc/KuaishouRuleSettlementCheckMapper.xml
  20. 44 14
      ruixuan-live/src/main/resources/mapper/isc/KuaishouRuleSettlementDataMapper.xml

+ 144 - 0
ruixuan-live/src/main/java/com/ruixuan/isc/controller/KuaishouRuleSettlementCheckController.java

@@ -0,0 +1,144 @@
+package com.ruixuan.isc.controller;
+
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+
+import com.alibaba.fastjson.JSONObject;
+import com.ruixuan.common.annotation.Log;
+import com.ruixuan.common.core.controller.BaseController;
+import com.ruixuan.common.core.domain.AjaxResult;
+import com.ruixuan.common.core.page.TableDataInfo;
+import com.ruixuan.common.enums.BusinessType;
+import com.ruixuan.common.utils.poi.ExcelUtil;
+import com.ruixuan.isc.entity.KuaishouRuleSettlementCheck;
+import com.ruixuan.isc.service.IKuaishouRuleSettlementCheckService;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 【请填写功能名称】Controller
+ *
+ * @author ruoyi
+ * @date 2023-12-28
+ */
+@RestController
+@RequestMapping("/financialReview")
+public class KuaishouRuleSettlementCheckController extends BaseController {
+    @Autowired
+    private IKuaishouRuleSettlementCheckService kuaishouRuleSettlementCheckService;
+
+    /**
+     * 查询【请填写功能名称】列表
+     */
+    @GetMapping("/list")
+    public TableDataInfo list(String statDate, Long promoterId, String promoterName) {
+        Long date = Long.valueOf(statDate.replace("-", ""));
+        startPage();
+        List<JSONObject> list = kuaishouRuleSettlementCheckService.getTotalList(date, promoterId, promoterName);
+        return getDataTable(list);
+    }
+
+
+    @GetMapping("/detailList")
+    public TableDataInfo detailList(String statDate, Long promoterId, Long itemId) {
+        Long date = Long.valueOf(statDate.replace("-", ""));
+        startPage();
+        List<JSONObject> list = kuaishouRuleSettlementCheckService.detailList(date, promoterId, itemId);
+        return getDataTable(list);
+
+    }
+
+    @GetMapping("/updateFinancialReviewStatusTotal")
+    public JSONObject updateFinancialReviewStatusTotal(String statDate, Long promoterId, Integer status) {
+
+        JSONObject returnJson = new JSONObject();
+        try {
+            Long date = Long.valueOf(statDate.replace("-", ""));
+            kuaishouRuleSettlementCheckService.updateFinancialReviewStatusTotal(date, promoterId, status);
+            returnJson.put("code", 200);
+            returnJson.put("message", "修改成功");
+        } catch (Exception e) {
+            returnJson.put("code", 500);
+            returnJson.put("message", e.getMessage());
+        }
+        return returnJson;
+    }
+
+    @GetMapping("/updateFinancialReviewDetails")
+    public JSONObject updateFinancialReviewDetails(Long id, Integer status) {
+
+        JSONObject returnJson = new JSONObject();
+        try {
+            KuaishouRuleSettlementCheck update = new KuaishouRuleSettlementCheck();
+            update.setId(id);
+            update.setSettlementStatus(status);
+            kuaishouRuleSettlementCheckService.updateKuaishouRuleSettlementCheck(update);
+            returnJson.put("code", 200);
+            returnJson.put("message", "修改成功");
+        } catch (Exception e) {
+            returnJson.put("code", 500);
+            returnJson.put("message", e.getMessage());
+        }
+        return returnJson;
+    }
+
+    /**
+     * 导出【请填写功能名称】列表
+     */
+    @PreAuthorize("@ss.hasPermi('system:check:export')")
+    @Log(title = "【请填写功能名称】", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, KuaishouRuleSettlementCheck kuaishouRuleSettlementCheck) {
+        List<KuaishouRuleSettlementCheck> list = kuaishouRuleSettlementCheckService.selectKuaishouRuleSettlementCheckList(kuaishouRuleSettlementCheck);
+        ExcelUtil<KuaishouRuleSettlementCheck> util = new ExcelUtil<KuaishouRuleSettlementCheck>(KuaishouRuleSettlementCheck.class);
+        util.exportExcel(response, list, "【请填写功能名称】数据");
+    }
+
+    /**
+     * 获取【请填写功能名称】详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('system:check:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id) {
+        return AjaxResult.success(kuaishouRuleSettlementCheckService.selectKuaishouRuleSettlementCheckById(id));
+    }
+
+    /**
+     * 新增【请填写功能名称】
+     */
+    @PreAuthorize("@ss.hasPermi('system:check:add')")
+    @Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody KuaishouRuleSettlementCheck kuaishouRuleSettlementCheck) {
+        return toAjax(kuaishouRuleSettlementCheckService.insertKuaishouRuleSettlementCheck(kuaishouRuleSettlementCheck));
+    }
+
+    /**
+     * 修改【请填写功能名称】
+     */
+    @PreAuthorize("@ss.hasPermi('system:check:edit')")
+    @Log(title = "【请填写功能名称】", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody KuaishouRuleSettlementCheck kuaishouRuleSettlementCheck) {
+        return toAjax(kuaishouRuleSettlementCheckService.updateKuaishouRuleSettlementCheck(kuaishouRuleSettlementCheck));
+    }
+
+    /**
+     * 删除【请填写功能名称】
+     */
+    @PreAuthorize("@ss.hasPermi('system:check:remove')")
+    @Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids) {
+        return toAjax(kuaishouRuleSettlementCheckService.deleteKuaishouRuleSettlementCheckByIds(ids));
+    }
+}

+ 99 - 4
ruixuan-live/src/main/java/com/ruixuan/isc/controller/KuaishouRuleSettlementDataController.java

@@ -9,6 +9,7 @@ import java.util.concurrent.Executors;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import cn.hutool.extra.ssh.JschRuntimeException;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.ruixuan.common.annotation.Log;
@@ -19,7 +20,11 @@ import com.ruixuan.common.enums.BusinessType;
 import com.ruixuan.common.utils.Check;
 import com.ruixuan.common.utils.poi.ExcelUtil;
 import com.ruixuan.data.utils.ExportExcelUtils;
+import com.ruixuan.isc.entity.KuaishouRuleSettlementCheck;
 import com.ruixuan.isc.entity.KuaishouRuleSettlementData;
+import com.ruixuan.isc.service.IKuaishouItemListService;
+import com.ruixuan.isc.service.IKuaishouPromoterService;
+import com.ruixuan.isc.service.IKuaishouRuleSettlementCheckService;
 import com.ruixuan.isc.service.IKuaishouRuleSettlementDataService;
 import io.swagger.annotations.ApiOperation;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
@@ -146,6 +151,13 @@ public class KuaishouRuleSettlementDataController extends BaseController {
         os.close();
     }
 
+    @Autowired
+    private IKuaishouRuleSettlementCheckService kuaishouRuleSettlementCheckService;
+    @Autowired
+    private IKuaishouPromoterService promoterService;
+    @Autowired
+    private IKuaishouItemListService itemListService;
+
     @GetMapping("/updatePromoterStatus")
     public JSONObject updatePromoterStatus(String statDate, Long promoterId, Integer status) {
         JSONObject returnJson = new JSONObject();
@@ -161,7 +173,47 @@ public class KuaishouRuleSettlementDataController extends BaseController {
                 throw new Exception("请输入状态");
             }
             Long date = Long.valueOf(statDate.replace("-", ""));
+
+            KuaishouRuleSettlementData selectKuaishouRuleSettlementData = new KuaishouRuleSettlementData();
+            selectKuaishouRuleSettlementData.setPromoterId(promoterId);
+            selectKuaishouRuleSettlementData.setSettlementStatus(2);
+            selectKuaishouRuleSettlementData.setStatDate(date);
+            List<KuaishouRuleSettlementData> kuaishouRuleSettlementData = kuaishouRuleSettlementDataService.selectKuaishouRuleSettlementDataList(selectKuaishouRuleSettlementData);
+
+            List<KuaishouRuleSettlementCheck> checks = new ArrayList<>();
+            for (KuaishouRuleSettlementData settlementData : kuaishouRuleSettlementData) {
+                KuaishouRuleSettlementCheck check = new KuaishouRuleSettlementCheck();
+                check.setRelateId(settlementData.getRelateId());
+                check.setItemIds(settlementData.getItemIds());
+                check.setPromoterId(settlementData.getPromoterId());
+                JSONObject promoterJson = promoterService.selectKuaishouRulePromoterById(settlementData.getPromoterId());
+                if (!Check.isNull(promoterJson)) {
+                    check.setPromoterName(promoterJson.getString("promoterName"));
+                    check.setPromoterCreateId(promoterJson.getLong("userId"));
+                    check.setPromoterCreateName(promoterJson.getString("userName"));
+                }
+                check.setItemIds(settlementData.getItemIds());
+                String[] split = settlementData.getItemIds().split(",");
+                Long itemId = Long.valueOf(split[0]);
+                JSONObject itemJson = itemListService.selectRuleItemByItemId(itemId);
+                if (!Check.isNull(itemJson)) {
+                    check.setItemTitle(itemJson.getString("itemTitle"));
+                    check.setItemCreateId(itemJson.getLong("userId"));
+                    check.setItemCreateName(itemJson.getString("userName"));
+                }
+                check.setStatDate(date);
+                check.setAnchorAmount(settlementData.getAnchorAmount());
+                check.setShouldAnchorAmount(settlementData.getAnchorAmount());
+                check.setReferenceAmount(settlementData.getReferenceAmount());
+                check.setShouldReferenceAmount(settlementData.getReferenceAmount());
+                check.setSettlementStatus(1);
+                check.setRemarks(settlementData.getRemarks());
+                checks.add(check);
+            }
             kuaishouRuleSettlementDataService.updatePromoterStatus(date, promoterId, status);
+            kuaishouRuleSettlementCheckService.adds(checks);
+
+
         } catch (Exception e) {
             e.printStackTrace();
             returnJson.put("code", 500);
@@ -172,11 +224,53 @@ public class KuaishouRuleSettlementDataController extends BaseController {
     }
 
 
+    @PutMapping("/update")
+    public AjaxResult update(@RequestBody KuaishouRuleSettlementData kuaishouRuleSettlementData) {
+        KuaishouRuleSettlementData updateKuaishouRuleSettlementData = new KuaishouRuleSettlementData();
+        updateKuaishouRuleSettlementData.setId(kuaishouRuleSettlementData.getId());
+        updateKuaishouRuleSettlementData.setSettlementStatus(kuaishouRuleSettlementData.getSettlementStatus());
+        updateKuaishouRuleSettlementData.setAnchorAmount(kuaishouRuleSettlementData.getAnchorAmount());
+        updateKuaishouRuleSettlementData.setReferenceAmount(kuaishouRuleSettlementData.getReferenceAmount());
+        updateKuaishouRuleSettlementData.setRemarks(kuaishouRuleSettlementData.getRemarks());
+        KuaishouRuleSettlementData selectData = kuaishouRuleSettlementDataService.selectKuaishouRuleSettlementDataById(kuaishouRuleSettlementData.getId());
+        List<KuaishouRuleSettlementCheck> checks = new ArrayList<>();
+        KuaishouRuleSettlementCheck check = new KuaishouRuleSettlementCheck();
+        check.setRelateId(selectData.getRelateId());
+        check.setItemIds(selectData.getItemIds());
+        check.setPromoterId(selectData.getPromoterId());
+        JSONObject promoterJson = promoterService.selectKuaishouRulePromoterById(selectData.getPromoterId());
+        if (!Check.isNull(promoterJson)) {
+            check.setPromoterName(promoterJson.getString("promoterName"));
+            check.setPromoterCreateId(promoterJson.getLong("userId"));
+            check.setPromoterCreateName(promoterJson.getString("userName"));
+        }
+        check.setItemIds(selectData.getItemIds());
+        String[] split = selectData.getItemIds().split(",");
+        Long itemId = Long.valueOf(split[0]);
+        JSONObject itemJson = itemListService.selectRuleItemByItemId(itemId);
+        if (!Check.isNull(itemJson)) {
+            check.setItemTitle(itemJson.getString("itemTitle"));
+            check.setItemCreateId(itemJson.getLong("userId"));
+            check.setItemCreateName(itemJson.getString("userName"));
+        }
+        check.setStatDate(selectData.getStatDate());
+        check.setAnchorAmount(kuaishouRuleSettlementData.getAnchorAmount());
+        check.setShouldAnchorAmount(selectData.getAnchorAmount());
+        check.setReferenceAmount(kuaishouRuleSettlementData.getReferenceAmount());
+        check.setShouldReferenceAmount(selectData.getReferenceAmount());
+        check.setSettlementStatus(1);
+        check.setRemarks(kuaishouRuleSettlementData.getRemarks());
+        checks.add(check);
+        kuaishouRuleSettlementCheckService.adds(checks);
+        return toAjax(kuaishouRuleSettlementDataService.updateKuaishouRuleSettlementData(updateKuaishouRuleSettlementData));
+    }
+
+
     @GetMapping("/getPromoterSettlementDetail")
-    public TableDataInfo getPromoterSettlementDetail(String statDate, Long promoterId, Integer settlementStatus) {
+    public TableDataInfo getPromoterSettlementDetail(String statDate, Long promoterId, Integer settlementStatus, Long itemId) {
         Long date = Long.valueOf(statDate.replace("-", ""));
         startPage();
-        List<JSONObject> list = kuaishouRuleSettlementDataService.getPromoterSettlementDetail(date, promoterId, settlementStatus);
+        List<JSONObject> list = kuaishouRuleSettlementDataService.getPromoterSettlementDetail(date, promoterId, settlementStatus, itemId);
         return getDataTable(list);
     }
 
@@ -185,8 +279,8 @@ public class KuaishouRuleSettlementDataController extends BaseController {
     public void exportPromoterSettlementDetail(HttpServletRequest request, HttpServletResponse response, @RequestBody JSONObject requestJson) throws Exception {
         Long date = Long.valueOf(requestJson.getString("statDate").replace("-", ""));
         Long promoterId = requestJson.getLong("promoterId");
-
-        List<JSONObject> list = kuaishouRuleSettlementDataService.getPromoterSettlementDetail(date, promoterId, null);
+        Long itemId = requestJson.getLong("itemId");
+        List<JSONObject> list = kuaishouRuleSettlementDataService.getPromoterSettlementDetail(date, promoterId, null, itemId);
         List<List<Object>> exportList = new ArrayList<>();
         if (!Check.isNull(list)) {
             for (int i = 0; i < list.size(); i++) {
@@ -259,6 +353,7 @@ public class KuaishouRuleSettlementDataController extends BaseController {
         return toAjax(kuaishouRuleSettlementDataService.updateKuaishouRuleSettlementData(kuaishouRuleSettlementData));
     }
 
+
     /**
      * 删除【请填写功能名称】
      */

+ 271 - 0
ruixuan-live/src/main/java/com/ruixuan/isc/entity/KuaishouRuleSettlementCheck.java

@@ -0,0 +1,271 @@
+package com.ruixuan.isc.entity;
+
+
+import java.math.BigDecimal;
+
+import com.ruixuan.common.annotation.Excel;
+import com.ruixuan.common.core.domain.BaseEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+
+/**
+ * 【请填写功能名称】对象 kuaishou_rule_settlement_check
+ *
+ * @author ruoyi
+ * @date 2023-12-27
+ */
+
+public class KuaishouRuleSettlementCheck extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * $column.columnComment
+     */
+    private Long id;
+
+    /**
+     * 关联商品ID
+     */
+    @Excel(name = "关联商品ID")
+    private Long relateId;
+
+    /**
+     * 商品id
+     */
+    @Excel(name = "商品id")
+    private String itemIds;
+    private String itemTitle;
+
+    /**
+     * 达人ID
+     */
+    @Excel(name = "达人ID")
+    private Long promoterId;
+
+    /**
+     * 达人名称
+     */
+    @Excel(name = "达人名称")
+    private String promoterName;
+
+    /**
+     * 商品创建人ID
+     */
+    @Excel(name = "商品创建人ID")
+    private Long itemCreateId;
+
+    /**
+     * 商品创建人姓名
+     */
+    @Excel(name = "商品创建人姓名")
+    private String itemCreateName;
+
+    /**
+     * 达人创建人ID
+     */
+    @Excel(name = "达人创建人ID")
+    private Long promoterCreateId;
+
+    /**
+     * 达人创建人姓名
+     */
+    @Excel(name = "达人创建人姓名")
+    private String promoterCreateName;
+
+    /**
+     * 日期
+     */
+    @Excel(name = "日期")
+    private Long statDate;
+
+    /**
+     * 主播奖励金额
+     */
+    @Excel(name = "主播奖励金额")
+    private BigDecimal anchorAmount;
+    private BigDecimal shouldAnchorAmount;
+
+    /**
+     * 推荐人奖励金额
+     */
+    @Excel(name = "推荐人奖励金额")
+    private BigDecimal referenceAmount;
+    private BigDecimal shouldReferenceAmount;
+
+    /**
+     * 结算状态 1:待付款 2:已付款
+     */
+    @Excel(name = "结算状态 1:待付款 2:已付款")
+    private Integer settlementStatus;
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    private String remarks;
+
+    public static long getSerialVersionUID() {
+        return serialVersionUID;
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getRelateId() {
+        return relateId;
+    }
+
+    public void setRelateId(Long relateId) {
+        this.relateId = relateId;
+    }
+
+    public String getItemIds() {
+        return itemIds;
+    }
+
+    public void setItemIds(String itemIds) {
+        this.itemIds = itemIds;
+    }
+
+    public String getItemTitle() {
+        return itemTitle;
+    }
+
+    public void setItemTitle(String itemTitle) {
+        this.itemTitle = itemTitle;
+    }
+
+    public Long getPromoterId() {
+        return promoterId;
+    }
+
+    public void setPromoterId(Long promoterId) {
+        this.promoterId = promoterId;
+    }
+
+    public String getPromoterName() {
+        return promoterName;
+    }
+
+    public void setPromoterName(String promoterName) {
+        this.promoterName = promoterName;
+    }
+
+    public Long getItemCreateId() {
+        return itemCreateId;
+    }
+
+    public void setItemCreateId(Long itemCreateId) {
+        this.itemCreateId = itemCreateId;
+    }
+
+    public String getItemCreateName() {
+        return itemCreateName;
+    }
+
+    public void setItemCreateName(String itemCreateName) {
+        this.itemCreateName = itemCreateName;
+    }
+
+    public Long getPromoterCreateId() {
+        return promoterCreateId;
+    }
+
+    public void setPromoterCreateId(Long promoterCreateId) {
+        this.promoterCreateId = promoterCreateId;
+    }
+
+    public String getPromoterCreateName() {
+        return promoterCreateName;
+    }
+
+    public void setPromoterCreateName(String promoterCreateName) {
+        this.promoterCreateName = promoterCreateName;
+    }
+
+    public Long getStatDate() {
+        return statDate;
+    }
+
+    public void setStatDate(Long statDate) {
+        this.statDate = statDate;
+    }
+
+    public BigDecimal getAnchorAmount() {
+        return anchorAmount;
+    }
+
+    public void setAnchorAmount(BigDecimal anchorAmount) {
+        this.anchorAmount = anchorAmount;
+    }
+
+    public BigDecimal getShouldAnchorAmount() {
+        return shouldAnchorAmount;
+    }
+
+    public void setShouldAnchorAmount(BigDecimal shouldAnchorAmount) {
+        this.shouldAnchorAmount = shouldAnchorAmount;
+    }
+
+    public BigDecimal getReferenceAmount() {
+        return referenceAmount;
+    }
+
+    public void setReferenceAmount(BigDecimal referenceAmount) {
+        this.referenceAmount = referenceAmount;
+    }
+
+    public BigDecimal getShouldReferenceAmount() {
+        return shouldReferenceAmount;
+    }
+
+    public void setShouldReferenceAmount(BigDecimal shouldReferenceAmount) {
+        this.shouldReferenceAmount = shouldReferenceAmount;
+    }
+
+    public Integer getSettlementStatus() {
+        return settlementStatus;
+    }
+
+    public void setSettlementStatus(Integer settlementStatus) {
+        this.settlementStatus = settlementStatus;
+    }
+
+    public String getRemarks() {
+        return remarks;
+    }
+
+    public void setRemarks(String remarks) {
+        this.remarks = remarks;
+    }
+
+    @Override
+    public String toString() {
+        return "KuaishouRuleSettlementCheck{" +
+                "id=" + id +
+                ", relateId=" + relateId +
+                ", itemIds='" + itemIds + '\'' +
+                ", itemTitle='" + itemTitle + '\'' +
+                ", promoterId=" + promoterId +
+                ", promoterName='" + promoterName + '\'' +
+                ", itemCreateId=" + itemCreateId +
+                ", itemCreateName='" + itemCreateName + '\'' +
+                ", promoterCreateId=" + promoterCreateId +
+                ", promoterCreateName='" + promoterCreateName + '\'' +
+                ", statDate=" + statDate +
+                ", anchorAmount=" + anchorAmount +
+                ", shouldAnchorAmount=" + shouldAnchorAmount +
+                ", referenceAmount=" + referenceAmount +
+                ", shouldReferenceAmount=" + shouldReferenceAmount +
+                ", settlementStatus=" + settlementStatus +
+                ", remarks='" + remarks + '\'' +
+                '}';
+    }
+}
+

+ 15 - 1
ruixuan-live/src/main/java/com/ruixuan/isc/entity/KuaishouRuleSettlementData.java

@@ -5,6 +5,8 @@ import java.math.BigDecimal;
 
 import com.ruixuan.common.annotation.Excel;
 import com.ruixuan.common.core.domain.BaseEntity;
+import org.springframework.data.annotation.Transient;
+
 /**
  * 【请填写功能名称】对象 kuaishou_rule_settlement_data
  *
@@ -114,7 +116,7 @@ public class KuaishouRuleSettlementData extends BaseEntity {
      * 日期
      */
     @Excel(name = "日期")
-    private Long  statDate;
+    private Long statDate;
 
     /**
      * 主播奖励金额
@@ -136,6 +138,9 @@ public class KuaishouRuleSettlementData extends BaseEntity {
 
     private Long lastSettlementOrderNum;
 
+
+    private String remarks;
+
     public static long getSerialVersionUID() {
         return serialVersionUID;
     }
@@ -316,6 +321,14 @@ public class KuaishouRuleSettlementData extends BaseEntity {
         this.lastSettlementOrderNum = lastSettlementOrderNum;
     }
 
+    public String getRemarks() {
+        return remarks;
+    }
+
+    public void setRemarks(String remarks) {
+        this.remarks = remarks;
+    }
+
     @Override
     public String toString() {
         return "KuaishouRuleSettlementData{" +
@@ -341,6 +354,7 @@ public class KuaishouRuleSettlementData extends BaseEntity {
                 ", referenceAmount=" + referenceAmount +
                 ", settlementStatus=" + settlementStatus +
                 ", lastSettlementOrderNum=" + lastSettlementOrderNum +
+                ", remarks='" + remarks + '\'' +
                 '}';
     }
 }

+ 2 - 0
ruixuan-live/src/main/java/com/ruixuan/isc/mapper/KuaishouItemListMapper.java

@@ -55,5 +55,7 @@ public interface KuaishouItemListMapper {
     Long selectMaxRelateId();
 
     List<JSONObject> getListByRelateId(@Param("relateId") Long relateId);
+
+    JSONObject selectRuleItemByItemId(@Param("itemId") Long itemId);
 }
 

+ 2 - 0
ruixuan-live/src/main/java/com/ruixuan/isc/mapper/KuaishouPromoterMapper.java

@@ -125,4 +125,6 @@ public interface KuaishouPromoterMapper {
     void deleteKuaishouPromoterById3(Long id);
 
     List<JYKuaishouPromoter> getFailInfo3();
+
+    JSONObject selectKuaishouRulePromoterById(@Param("promoterId") Long promoterId);
 }

+ 75 - 0
ruixuan-live/src/main/java/com/ruixuan/isc/mapper/KuaishouRuleSettlementCheckMapper.java

@@ -0,0 +1,75 @@
+package com.ruixuan.isc.mapper;
+
+
+import com.alibaba.fastjson.JSONObject;
+import com.ruixuan.isc.entity.KuaishouRuleSettlementCheck;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+
+/**
+ * 【请填写功能名称】Mapper接口
+ *
+ * @author ruoyi
+ * @date 2023-12-27
+ */
+public interface KuaishouRuleSettlementCheckMapper
+{
+    /**
+     * 查询【请填写功能名称】
+     *
+     * @param id 【请填写功能名称】主键
+     * @return 【请填写功能名称】
+     */
+    public KuaishouRuleSettlementCheck selectKuaishouRuleSettlementCheckById(Long id);
+
+    /**
+     * 查询【请填写功能名称】列表
+     *
+     * @param kuaishouRuleSettlementCheck 【请填写功能名称】
+     * @return 【请填写功能名称】集合
+     */
+    public List<KuaishouRuleSettlementCheck> selectKuaishouRuleSettlementCheckList(KuaishouRuleSettlementCheck kuaishouRuleSettlementCheck);
+
+    /**
+     * 新增【请填写功能名称】
+     *
+     * @param kuaishouRuleSettlementCheck 【请填写功能名称】
+     * @return 结果
+     */
+    public int insertKuaishouRuleSettlementCheck(KuaishouRuleSettlementCheck kuaishouRuleSettlementCheck);
+
+    /**
+     * 修改【请填写功能名称】
+     *
+     * @param kuaishouRuleSettlementCheck 【请填写功能名称】
+     * @return 结果
+     */
+    public int updateKuaishouRuleSettlementCheck(KuaishouRuleSettlementCheck kuaishouRuleSettlementCheck);
+
+    /**
+     * 删除【请填写功能名称】
+     *
+     * @param id 【请填写功能名称】主键
+     * @return 结果
+     */
+    public int deleteKuaishouRuleSettlementCheckById(Long id);
+
+    /**
+     * 批量删除【请填写功能名称】
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteKuaishouRuleSettlementCheckByIds(Long[] ids);
+
+    void adds(@Param("adds") List<KuaishouRuleSettlementCheck> adds);
+
+    List<JSONObject> getTotalList(@Param("date") Long date, @Param("promoterId") Long promoterId, @Param("promoterName") String promoterName);
+
+    void updateFinancialReviewStatusTotal(@Param("statDate") Long statDate, @Param("promoterId") Long promoterId, @Param("status") Integer status);
+
+    List<JSONObject> detailList(@Param("date") Long date, @Param("promoterId") Long promoterId, @Param("itemId") Long itemId);
+}
+

+ 1 - 1
ruixuan-live/src/main/java/com/ruixuan/isc/mapper/KuaishouRuleSettlementDataMapper.java

@@ -84,7 +84,7 @@ public interface KuaishouRuleSettlementDataMapper {
 
     void updatePromoterStatus(@Param("statDate") Long statDate, @Param("promoterId") Long promoterId, @Param("status") Integer status);
 
-    List<JSONObject> getPromoterSettlementDetail(@Param("date") Long date, @Param("promoterId") Long promoterId, @Param("settlementStatus") Integer settlementStatus);
+    List<JSONObject> getPromoterSettlementDetail(@Param("date") Long date, @Param("promoterId") Long promoterId, @Param("settlementStatus") Integer settlementStatus, @Param("itemId") Long itemId);
 
     JSONObject getRuleJson(Long ruleId);
 

+ 2 - 0
ruixuan-live/src/main/java/com/ruixuan/isc/service/IKuaishouItemListService.java

@@ -50,5 +50,7 @@ public interface IKuaishouItemListService {
     List<JSONObject> getListByRelateId(Long relateId);
 
     Long selectMaxRelateId();
+
+    JSONObject selectRuleItemByItemId(Long itemId);
 }
 

+ 2 - 0
ruixuan-live/src/main/java/com/ruixuan/isc/service/IKuaishouPromoterService.java

@@ -92,4 +92,6 @@ public interface IKuaishouPromoterService {
     int updateKuaishouPromoter3(JYKuaishouPromoter kuaishouPromoter);
 
     Result deleteKuaishouPromoterById3(Long id, Long userId);
+
+    JSONObject selectKuaishouRulePromoterById(Long promoterId);
 }

+ 75 - 0
ruixuan-live/src/main/java/com/ruixuan/isc/service/IKuaishouRuleSettlementCheckService.java

@@ -0,0 +1,75 @@
+package com.ruixuan.isc.service;
+
+
+import com.alibaba.fastjson.JSONObject;
+import com.ruixuan.isc.entity.KuaishouRuleSettlementCheck;
+
+import java.util.List;
+
+
+/**
+ * 【请填写功能名称】Service接口
+ *
+ * @author ruoyi
+ * @date 2023-12-27
+ */
+public interface IKuaishouRuleSettlementCheckService
+{
+    /**
+     * 查询【请填写功能名称】
+     *
+     * @param id 【请填写功能名称】主键
+     * @return 【请填写功能名称】
+     */
+
+    public KuaishouRuleSettlementCheck selectKuaishouRuleSettlementCheckById(Long id);
+
+    /**
+     * 查询【请填写功能名称】列表
+     *
+     * @param kuaishouRuleSettlementCheck 【请填写功能名称】
+     * @return 【请填写功能名称】集合
+     */
+    public List<KuaishouRuleSettlementCheck> selectKuaishouRuleSettlementCheckList(KuaishouRuleSettlementCheck kuaishouRuleSettlementCheck);
+
+    /**
+     * 新增【请填写功能名称】
+     *
+     * @param kuaishouRuleSettlementCheck 【请填写功能名称】
+     * @return 结果
+     */
+    public int insertKuaishouRuleSettlementCheck(KuaishouRuleSettlementCheck kuaishouRuleSettlementCheck);
+
+    /**
+     * 修改【请填写功能名称】
+     *
+     * @param kuaishouRuleSettlementCheck 【请填写功能名称】
+     * @return 结果
+     */
+    public int updateKuaishouRuleSettlementCheck(KuaishouRuleSettlementCheck kuaishouRuleSettlementCheck);
+
+    /**
+     * 批量删除【请填写功能名称】
+     *
+     * @param ids 需要删除的【请填写功能名称】主键集合
+     * @return 结果
+     */
+    public int deleteKuaishouRuleSettlementCheckByIds(Long[] ids);
+
+    /**
+     * 删除【请填写功能名称】信息
+     *
+     * @param id 【请填写功能名称】主键
+     * @return 结果
+     */
+    public int deleteKuaishouRuleSettlementCheckById(Long id);
+
+    void adds(List<KuaishouRuleSettlementCheck> checks);
+
+    List<JSONObject> getTotalList(Long date, Long promoterId, String promoterName);
+
+    void updateFinancialReviewStatusTotal(Long statDate, Long promoterId, Integer status);
+
+    List<JSONObject> detailList(Long date, Long promoterId, Long itemId);
+}
+

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

@@ -73,7 +73,7 @@ public interface IKuaishouRuleSettlementDataService {
 
     void updatePromoterStatus(Long statDate, Long promoterId, Integer status);
 
-    List<JSONObject> getPromoterSettlementDetail(Long date, Long promoterId,Integer settlementStatus);
+    List<JSONObject> getPromoterSettlementDetail(Long date, Long promoterId,Integer settlementStatus,Long itemId);
 
     JSONObject getData();
 

+ 5 - 0
ruixuan-live/src/main/java/com/ruixuan/isc/service/impl/KuaishouItemListServiceImpl.java

@@ -418,6 +418,11 @@ public class KuaishouItemListServiceImpl implements IKuaishouItemListService {
         return kuaishouItemListMapper.selectMaxRelateId();
     }
 
+    @Override
+    public JSONObject selectRuleItemByItemId(Long itemId) {
+        return kuaishouItemListMapper.selectRuleItemByItemId(itemId);
+    }
+
 
 }
 

+ 5 - 0
ruixuan-live/src/main/java/com/ruixuan/isc/service/impl/KuaishouPromoterServiceImpl.java

@@ -634,6 +634,11 @@ public class KuaishouPromoterServiceImpl implements IKuaishouPromoterService {
     }
 
     @Override
+    public JSONObject selectKuaishouRulePromoterById(Long promoterId) {
+        return kuaishouPromoterMapper.selectKuaishouRulePromoterById(promoterId);
+    }
+
+    @Override
     public AjaxResult getPromoterInfo(String promoterId) {
         AjaxResult ajaxResult = null;
         try {

+ 114 - 0
ruixuan-live/src/main/java/com/ruixuan/isc/service/impl/KuaishouRuleSettlementCheckServiceImpl.java

@@ -0,0 +1,114 @@
+package com.ruixuan.isc.service.impl;
+
+
+import java.util.List;
+
+import com.alibaba.fastjson.JSONObject;
+import com.ruixuan.common.utils.DateUtils;
+import com.ruixuan.isc.entity.KuaishouRuleSettlementCheck;
+import com.ruixuan.isc.mapper.KuaishouRuleSettlementCheckMapper;
+import com.ruixuan.isc.service.IKuaishouRuleSettlementCheckService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+
+/**
+ * 【请填写功能名称】Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2023-12-27
+ */
+@Service
+public class KuaishouRuleSettlementCheckServiceImpl implements IKuaishouRuleSettlementCheckService {
+    @Autowired
+    private KuaishouRuleSettlementCheckMapper kuaishouRuleSettlementCheckMapper;
+
+    /**
+     * 查询【请填写功能名称】
+     *
+     * @param id 【请填写功能名称】主键
+     * @return 【请填写功能名称】
+     */
+    @Override
+    public KuaishouRuleSettlementCheck selectKuaishouRuleSettlementCheckById(Long id) {
+        return kuaishouRuleSettlementCheckMapper.selectKuaishouRuleSettlementCheckById(id);
+    }
+
+    /**
+     * 查询【请填写功能名称】列表
+     *
+     * @param kuaishouRuleSettlementCheck 【请填写功能名称】
+     * @return 【请填写功能名称】
+     */
+    @Override
+    public List<KuaishouRuleSettlementCheck> selectKuaishouRuleSettlementCheckList(KuaishouRuleSettlementCheck kuaishouRuleSettlementCheck) {
+        return kuaishouRuleSettlementCheckMapper.selectKuaishouRuleSettlementCheckList(kuaishouRuleSettlementCheck);
+    }
+
+    /**
+     * 新增【请填写功能名称】
+     *
+     * @param kuaishouRuleSettlementCheck 【请填写功能名称】
+     * @return 结果
+     */
+    @Override
+    public int insertKuaishouRuleSettlementCheck(KuaishouRuleSettlementCheck kuaishouRuleSettlementCheck) {
+        kuaishouRuleSettlementCheck.setCreateTime(DateUtils.getNowDate());
+        return kuaishouRuleSettlementCheckMapper.insertKuaishouRuleSettlementCheck(kuaishouRuleSettlementCheck);
+    }
+
+    /**
+     * 修改【请填写功能名称】
+     *
+     * @param kuaishouRuleSettlementCheck 【请填写功能名称】
+     * @return 结果
+     */
+    @Override
+    public int updateKuaishouRuleSettlementCheck(KuaishouRuleSettlementCheck kuaishouRuleSettlementCheck) {
+        kuaishouRuleSettlementCheck.setUpdateTime(DateUtils.getNowDate());
+        return kuaishouRuleSettlementCheckMapper.updateKuaishouRuleSettlementCheck(kuaishouRuleSettlementCheck);
+    }
+
+    /**
+     * 批量删除【请填写功能名称】
+     *
+     * @param ids 需要删除的【请填写功能名称】主键
+     * @return 结果
+     */
+    @Override
+    public int deleteKuaishouRuleSettlementCheckByIds(Long[] ids) {
+        return kuaishouRuleSettlementCheckMapper.deleteKuaishouRuleSettlementCheckByIds(ids);
+    }
+
+    /**
+     * 删除【请填写功能名称】信息
+     *
+     * @param id 【请填写功能名称】主键
+     * @return 结果
+     */
+    @Override
+    public int deleteKuaishouRuleSettlementCheckById(Long id) {
+        return kuaishouRuleSettlementCheckMapper.deleteKuaishouRuleSettlementCheckById(id);
+    }
+
+    @Override
+    public void adds(List<KuaishouRuleSettlementCheck> checks) {
+        kuaishouRuleSettlementCheckMapper.adds(checks);
+    }
+
+    @Override
+    public List<JSONObject> getTotalList(Long date, Long promoterId, String promoterName) {
+        return kuaishouRuleSettlementCheckMapper.getTotalList(date,promoterId,promoterName);
+    }
+
+    @Override
+    public void updateFinancialReviewStatusTotal(Long statDate, Long promoterId, Integer status) {
+        kuaishouRuleSettlementCheckMapper.updateFinancialReviewStatusTotal(statDate,promoterId,status);
+    }
+
+    @Override
+    public List<JSONObject> detailList(Long date, Long promoterId, Long itemId) {
+        return kuaishouRuleSettlementCheckMapper.detailList(date,promoterId,itemId);
+    }
+}
+

+ 2 - 2
ruixuan-live/src/main/java/com/ruixuan/isc/service/impl/KuaishouRuleSettlementDataServiceImpl.java

@@ -642,8 +642,8 @@ public class KuaishouRuleSettlementDataServiceImpl implements IKuaishouRuleSettl
     }
 
     @Override
-    public List<JSONObject> getPromoterSettlementDetail(Long date, Long promoterId, Integer settlementStatus) {
-        return kuaishouRuleSettlementDataMapper.getPromoterSettlementDetail(date, promoterId, settlementStatus);
+    public List<JSONObject> getPromoterSettlementDetail(Long date, Long promoterId, Integer settlementStatus,Long itemId) {
+        return kuaishouRuleSettlementDataMapper.getPromoterSettlementDetail(date, promoterId, settlementStatus,itemId);
     }
 
     @Override

+ 16 - 4
ruixuan-live/src/main/resources/mapper/isc/KuaishouItemListMapper.xml

@@ -68,10 +68,10 @@
         (
         case when t1.media_id = 2
         then '快手'
-       when t1.media_id = 1
-       then '抖音'
-       else '-'
-       end
+        when t1.media_id = 1
+        then '抖音'
+        else '-'
+        end
         ) as 'media_name'
         from kuaishou_item_list
         t1
@@ -154,6 +154,18 @@
         select item_id as 'itemId',item_title as 'itemTitle'  from kuaishou_item_list where relate_id = #{relateId} order by create_time desc
 
     </select>
+    <select id="selectRuleItemByItemId" resultType="com.alibaba.fastjson.JSONObject"
+            parameterType="java.lang.Long">
+        select item_id                 as 'itemId',
+       item_title              as 'itemTitle',
+       user_id                 as 'userId',
+       group_concat(user_name) as 'userName'
+from kuaishou_item_list
+where item_id = #{itemId}
+  and media_id = 2
+group by item_id
+
+    </select>
 
 
     <insert id="insertItem" parameterType="com.ruixuan.isc.entity.KuaishouItemList">

+ 19 - 2
ruixuan-live/src/main/resources/mapper/isc/KuaishouPromoterMapper.xml

@@ -274,7 +274,8 @@
         where id = #{id}
     </select>
 
-    <select id="selectKuaishouPromoterById3" parameterType="Long" resultType="com.ruixuan.isc.entity.JYKuaishouPromoter">
+    <select id="selectKuaishouPromoterById3" parameterType="Long"
+            resultType="com.ruixuan.isc.entity.JYKuaishouPromoter">
         select id,
                media_id,
                user_id,
@@ -492,7 +493,8 @@
     </insert>
 
 
-    <insert id="insertKuaishouPromoter3" parameterType="com.ruixuan.isc.entity.JYKuaishouPromoter" useGeneratedKeys="true"
+    <insert id="insertKuaishouPromoter3" parameterType="com.ruixuan.isc.entity.JYKuaishouPromoter"
+            useGeneratedKeys="true"
             keyProperty="id">
         insert into jy_kuaishou_promoter
         <trim prefix="(" suffix=")" suffixOverrides=",">
@@ -796,6 +798,21 @@
         from kuaishou_settlement_rules
         where id = #{ruleId}
     </select>
+    <select id="selectKuaishouRulePromoterById" resultType="com.alibaba.fastjson.JSONObject"
+            parameterType="java.lang.Long">
+select promoter_id                as 'promoterId',
+       promoter_nick_name         as 'promoterName',
+       t2.user_id                 as 'userId',
+       group_concat(t1.user_name) as 'userName'
+from kuaishou_promoter t1
+         left join sys_user_role t2 on t1.user_id = t2.user_id
+where promoter_id = #{promoterId}
+  and    media_id = 2
+  and t2.role_id not in (210114, 210115)
+  and t2.user_id not in (270128)
+group by promoter_id
+
+    </select>
 
 
     <insert id="addPromotersCount">

+ 250 - 0
ruixuan-live/src/main/resources/mapper/isc/KuaishouRuleSettlementCheckMapper.xml

@@ -0,0 +1,250 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruixuan.isc.mapper.KuaishouRuleSettlementCheckMapper">
+
+    <resultMap type="com.ruixuan.isc.entity.KuaishouRuleSettlementCheck" id="KuaishouRuleSettlementCheckResult">
+        <result property="id" column="id"/>
+        <result property="relateId" column="relate_id"/>
+        <result property="itemIds" column="item_ids"/>
+        <result property="itemTitle" column="item_title"/>
+        <result property="promoterId" column="promoter_id"/>
+        <result property="promoterName" column="promoter_name"/>
+        <result property="itemCreateId" column="item_create_id"/>
+        <result property="itemCreateName" column="item_create_name"/>
+        <result property="promoterCreateId" column="promoter_create_id"/>
+        <result property="promoterCreateName" column="promoter_create_name"/>
+        <result property="statDate" column="stat_date"/>
+        <result property="anchorAmount" column="anchor_amount"/>
+        <result property="shouldAnchorAmount" column="should_anchor_amount"/>
+        <result property="referenceAmount" column="reference_amount"/>
+        <result property="shouldReferenceAmount" column="should_reference_amount"/>
+        <result property="settlementStatus" column="settlement_status"/>
+        <result property="remarks" column="remarks"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateTime" column="update_time"/>
+    </resultMap>
+
+    <sql id="selectKuaishouRuleSettlementCheckVo">
+        select id, relate_id, item_ids,item_title, promoter_id, promoter_name, item_create_id, item_create_name, promoter_create_id, promoter_create_name, stat_date, anchor_amount, should_anchor_amount,reference_amount,should_reference_amount, settlement_status, remarks, create_time, update_time from kuaishou_rule_settlement_check
+    </sql>
+
+    <select id="selectKuaishouRuleSettlementCheckList"
+            parameterType="com.ruixuan.isc.entity.KuaishouRuleSettlementCheck"
+            resultMap="KuaishouRuleSettlementCheckResult">
+        <include refid="selectKuaishouRuleSettlementCheckVo"/>
+        <where>
+            <if test="relateId != null ">and relate_id = #{relateId}</if>
+            <if test="itemIds != null  and itemIds != ''">and item_ids = #{itemIds}</if>
+            <if test="itemTitle != null  and itemTitle != ''">and item_title = #{itemTitle}</if>
+            <if test="promoterId != null ">and promoter_id = #{promoterId}</if>
+            <if test="promoterName != null  and promoterName != ''">and promoter_name like concat('%', #{promoterName},
+                '%')
+            </if>
+            <if test="itemCreateId != null ">and item_create_id = #{itemCreateId}</if>
+            <if test="itemCreateName != null  and itemCreateName != ''">and item_create_name like concat('%',
+                #{itemCreateName}, '%')
+            </if>
+            <if test="promoterCreateId != null ">and promoter_create_id = #{promoterCreateId}</if>
+            <if test="promoterCreateName != null  and promoterCreateName != ''">and promoter_create_name like
+                concat('%', #{promoterCreateName}, '%')
+            </if>
+            <if test="statDate != null ">and stat_date = #{statDate}</if>
+            <if test="anchorAmount != null ">and anchor_amount = #{anchorAmount}</if>
+            <if test="shouldAnchorAmount != null ">and should_anchor_amount = #{shouldAnchorAmount}</if>
+            <if test="referenceAmount != null ">and reference_amount = #{referenceAmount}</if>
+            <if test="shouldReferenceAmount != null ">and shouldReferenceAmount = #{shouldReferenceAmount}</if>
+            <if test="settlementStatus != null ">and settlement_status = #{settlementStatus}</if>
+            <if test="remarks != null  and remarks != ''">and remarks = #{remarks}</if>
+        </where>
+    </select>
+
+    <select id="selectKuaishouRuleSettlementCheckById" parameterType="java.lang.Long"
+            resultMap="KuaishouRuleSettlementCheckResult">
+        <include refid="selectKuaishouRuleSettlementCheckVo"/>
+        where id = #{id}
+    </select>
+    <select id="getTotalList" resultType="com.alibaba.fastjson.JSONObject">
+        select *
+        from (select promoter_create_name as 'userName',
+        promoter_id as 'promoterId',
+        promoter_name as 'promoterName',
+        sum(anchor_amount) as 'anchorAmount',
+        sum(reference_amount) as 'referenceAmount',
+        sum((case
+        when settlement_status = 1
+        then anchor_amount
+        else
+        0 end
+        )) as 'waitAnchorAmount'
+        from kuaishou_rule_settlement_check
+        where stat_date = #{date}
+        <if test="promoterId != null and promoterId != '' ">
+            and promoter_id = #{promoterId}
+        </if>
+        <if test="promoterName != null and promoterName != '' ">
+            AND promoter_name LIKE CONCAT('%', #{promoterName}, '%')
+        </if>
+        group by promoter_id) t
+        order by t.referenceAmount desc, t.promoterId asc
+    </select>
+    <select id="detailList" resultType="com.alibaba.fastjson.JSONObject">
+        select id as 'id',
+        item_ids as 'itemIds',
+        item_title as 'itemName',
+        promoter_id as 'promoterId',
+        promoter_create_name as 'promoterCreateName',
+        promoter_name as 'promoterName',
+        item_create_id as 'itemCreateId',
+        item_create_name as 'itemCreateName',
+        anchor_amount as 'anchorAmount',
+        reference_amount as 'referenceAmount',
+        (case
+        when settlement_status = 1 then '待付款'
+        when settlement_status = 2 then '已付款'
+        else ''
+        end
+        ) as 'settlementStatusStr',
+        settlement_status as 'settlementStatus',
+        remarks as 'remarks'
+        from kuaishou_rule_settlement_check
+        where promoter_id = #{promoterId}
+        and stat_date = #{date}
+        <if test="itemId != null  ">
+            and item_ids like concat('%',concat(#{itemId},'%'))
+        </if>
+        order by anchorAmount desc, item_ids asc
+    </select>
+
+    <insert id="insertKuaishouRuleSettlementCheck" parameterType="com.ruixuan.isc.entity.KuaishouRuleSettlementCheck"
+            useGeneratedKeys="true" keyProperty="id">
+        insert into kuaishou_rule_settlement_check
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="relateId != null">relate_id,</if>
+            <if test="itemIds != null">item_ids,</if>
+            <if test="itemTitle != null">item_title,</if>
+            <if test="promoterId != null">promoter_id,</if>
+            <if test="promoterName != null">promoter_name,</if>
+            <if test="itemCreateId != null">item_create_id,</if>
+            <if test="itemCreateName != null">item_create_name,</if>
+            <if test="promoterCreateId != null">promoter_create_id,</if>
+            <if test="promoterCreateName != null">promoter_create_name,</if>
+            <if test="statDate != null">stat_date,</if>
+            <if test="anchorAmount != null">anchor_amount,</if>
+            <if test="shouldAnchorAmount != null">should_anchor_amount,</if>
+            <if test="referenceAmount != null">reference_amount,</if>
+            <if test="shouldReferenceAmount != null">should_reference_amount,</if>
+            <if test="settlementStatus != null">settlement_status,</if>
+            <if test="remarks != null">remarks,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateTime != null">update_time,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="relateId != null">#{relateId},</if>
+            <if test="itemIds != null">#{itemIds},</if>
+            <if test="itemTitle != null">#{itemTitle},</if>
+            <if test="promoterId != null">#{promoterId},</if>
+            <if test="promoterName != null">#{promoterName},</if>
+            <if test="itemCreateId != null">#{itemCreateId},</if>
+            <if test="itemCreateName != null">#{itemCreateName},</if>
+            <if test="promoterCreateId != null">#{promoterCreateId},</if>
+            <if test="promoterCreateName != null">#{promoterCreateName},</if>
+            <if test="statDate != null">#{statDate},</if>
+            <if test="anchorAmount != null">#{anchorAmount},</if>
+            <if test="shouldAnchorAmount != null">#{shouldAnchorAmount},</if>
+            <if test="referenceAmount != null">#{referenceAmount},</if>
+            <if test="shouldReferenceAmount != null">#{shouldReferenceAmount},</if>
+            <if test="settlementStatus != null">#{settlementStatus},</if>
+            <if test="remarks != null">#{remarks},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+        </trim>
+    </insert>
+    <insert id="adds">
+
+        insert into kuaishou_rule_settlement_check(
+        relate_id,
+        item_ids,
+        item_title,
+        item_create_id,
+        item_create_name,
+        promoter_id,
+        promoter_name,
+        promoter_create_id,
+        promoter_create_name,
+        stat_date,
+        anchor_amount,
+        should_anchor_amount,
+        reference_amount,
+        should_reference_amount,
+        settlement_status,
+        remarks
+        )
+        values
+        <foreach collection="adds" item="add" separator=",">
+            (
+            #{add.relateId},
+            #{add.itemIds},
+            #{add.itemTitle},
+            #{add.itemCreateId},
+            #{add.itemCreateName},
+            #{add.promoterId},
+            #{add.promoterName},
+            #{add.promoterCreateId},
+            #{add.promoterCreateName},
+            #{add.statDate},
+            #{add.anchorAmount},
+            #{add.shouldAnchorAmount},
+            #{add.referenceAmount},
+            #{add.shouldReferenceAmount},
+            #{add.settlementStatus},
+            #{add.remarks}
+
+            )
+        </foreach>
+
+    </insert>
+
+    <update id="updateKuaishouRuleSettlementCheck" parameterType="com.ruixuan.isc.entity.KuaishouRuleSettlementCheck">
+        update kuaishou_rule_settlement_check
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="relateId != null">relate_id = #{relateId},</if>
+            <if test="itemIds != null">item_ids = #{itemIds},</if>
+            <if test="itemTitle != null">item_title = #{itemTitle},</if>
+            <if test="promoterId != null">promoter_id = #{promoterId},</if>
+            <if test="promoterName != null">promoter_name = #{promoterName},</if>
+            <if test="itemCreateId != null">item_create_id = #{itemCreateId},</if>
+            <if test="itemCreateName != null">item_create_name = #{itemCreateName},</if>
+            <if test="promoterCreateId != null">promoter_create_id = #{promoterCreateId},</if>
+            <if test="promoterCreateName != null">promoter_create_name = #{promoterCreateName},</if>
+            <if test="statDate != null">stat_date = #{statDate},</if>
+            <if test="anchorAmount != null">anchor_amount = #{anchorAmount},</if>
+            <if test="shouldAnchorAmount != null">should_anchor_amount = #{shouldAnchorAmount},</if>
+            <if test="referenceAmount != null">reference_amount = #{referenceAmount},</if>
+            <if test="shouldReferenceAmount != null">should_reference_amount = #{shouldAeferenceAmount},</if>
+            <if test="settlementStatus != null">settlement_status = #{settlementStatus},</if>
+            <if test="remarks != null">remarks = #{remarks},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+    <update id="updateFinancialReviewStatusTotal">
+        update kuaishou_rule_settlement_check set settlement_status = #{status}
+        where promoter_id = #{promoterId}
+        and  stat_date = #{statDate}
+        and  settlement_status = 1
+    </update>
+
+    <delete id="deleteKuaishouRuleSettlementCheckById" parameterType="java.lang.Long">
+        delete from kuaishou_rule_settlement_check where id = #{id}
+    </delete>
+
+    <delete id="deleteKuaishouRuleSettlementCheckByIds" parameterType="java.lang.String">
+        delete from kuaishou_rule_settlement_check where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 44 - 14
ruixuan-live/src/main/resources/mapper/isc/KuaishouRuleSettlementDataMapper.xml

@@ -26,12 +26,13 @@
         <result property="anchorAmount" column="anchor_amount"/>
         <result property="referenceAmount" column="reference_amount"/>
         <result property="settlementStatus" column="settlement_status"/>
+        <result property="remarks" column="remarks"/>
         <result property="createTime" column="create_time"/>
         <result property="updateTime" column="update_time"/>
     </resultMap>
 
     <sql id="selectKuaishouRuleSettlementDataVo">
-        select id, rule_id, rule_type,rule_name, son_rule_id, relate_id, item_ids, promoter_id, promoter_name, item_create_id, item_create_name, promoter_create_id, promoter_create_name, order_num, valid_order_num, yesterday_order_num, yesterday_valid_order_num, stat_date, anchor_amount, reference_amount, settlement_status, create_time, update_time from kuaishou_rule_settlement_data
+        select id, rule_id, rule_type,rule_name, son_rule_id, relate_id, item_ids, promoter_id, promoter_name, item_create_id, item_create_name, promoter_create_id, promoter_create_name, order_num, valid_order_num, yesterday_order_num, yesterday_valid_order_num, stat_date, anchor_amount, reference_amount, settlement_status,remarks,create_time, update_time from kuaishou_rule_settlement_data
     </sql>
 
     <select id="selectKuaishouRuleSettlementDataList" parameterType="com.ruixuan.isc.entity.KuaishouRuleSettlementData"
@@ -97,6 +98,7 @@
             <if test="anchorAmount != null">anchor_amount,</if>
             <if test="referenceAmount != null">reference_amount,</if>
             <if test="settlementStatus != null">settlement_status,</if>
+            <if test="remarks != null">remarks,</if>
             <if test="createTime != null">create_time,</if>
             <if test="updateTime != null">update_time,</if>
         </trim>
@@ -151,6 +153,7 @@
             <if test="anchorAmount != null">anchor_amount = #{anchorAmount},</if>
             <if test="referenceAmount != null">reference_amount = #{referenceAmount},</if>
             <if test="settlementStatus != null">settlement_status = #{settlementStatus},</if>
+            <if test="remarks != null">remarks = #{remarks},</if>
             <if test="createTime != null">create_time = #{createTime},</if>
             <if test="updateTime != null">update_time = #{updateTime},</if>
         </trim>
@@ -330,39 +333,54 @@
     </select>
 
     <select id="getSettlementDataV2" resultType="com.alibaba.fastjson.JSONObject">
-        select t.* from (
+        select t.*,t2.* from (
         select
         promoter_id as 'promoterId',
+        sum((case when settlement_status = 2
+        then anchor_amount
+        else
+        0 end
 
-        promoter_name as 'promoterName',
+        )) as 'waitAnchorAmount',
         sum(anchor_amount) as 'anchorAmount',
         sum(reference_amount) as 'referenceAmount'
         from kuaishou_rule_settlement_data
         where stat_date = #{date}
-        and settlement_status != 3
+        <if test="promoterId == null  ">
+            and anchor_amount > 0
+        </if>
+        group by promoter_id) t left join(
+        select promoter_id,promoter_nick_name as 'promoterName',t2.user_id as 'userId',group_concat(t1.user_name) as 'userName'
+        from kuaishou_promoter t1
+        left join sys_user_role t2 on t1.user_id = t2.user_id
+        where media_id = 2
+        and t2.role_id not in (210114, 210115) and t2.user_id not in(270128) group by promoter_id
+        ) t2 on t.promoterId = t2.promoter_id
+        where 1 = 1
         <if test="promoterId != null and promoterId != '' ">
-            and promoter_id = #{promoterId}
+            and t.promoterId = #{promoterId}
         </if>
+
         <if test="promoterName != null and promoterName != '' ">
-            AND promoter_name LIKE CONCAT('%', #{promoterName}, '%')
+            AND t2.promoterName LIKE CONCAT('%', #{promoterName}, '%')
         </if>
-        group by promoter_id) t order by t.anchorAmount desc
+        order by t.anchorAmount desc,t.promoterId asc
     </select>
 
 
     <select id="getPromoterSettlementDetail" resultType="com.alibaba.fastjson.JSONObject">
+        select t1.*,t2.* from (
+
         select
         id as 'id',
         rule_id as 'ruleId',
         rule_name as 'ruleName',
         son_rule_id as 'sonRuleId',
         item_ids as 'itemIds',
+        ( select item_title from kuaishou_item_list where item_id = substring_index(item_ids, ',', 1)) as 'itemName',
         promoter_id as 'promoterId',
-        promoter_name as 'promoterName',
         item_create_id as 'itemCreateId',
         item_create_name as 'itemCreateName',
-        promoter_create_id as 'promoterCreateId',
-        promoter_create_name as 'promoterCreateName',
         order_num as 'orderNum',
         valid_order_num as 'validOrderNum',
         last_settlement_order_num as 'lastSettlementOrderNum',
@@ -375,14 +393,26 @@
         else ''
         end
         ) as 'settlementStatusStr',
-        settlement_status as 'settlementStatus'
+        settlement_status as 'settlementStatus',
+        remarks as 'remarks'
         from kuaishou_rule_settlement_data
         where promoter_id = #{promoterId}
         and stat_date = #{date}
-        <if test="settlementStatus != null and settlementStatus != ''">
-            and settlement_status = #{settlementStatus}
+        <if test="itemId == null  ">
+            and anchor_amount > 0
+        </if>
+        <if test="itemId != null  ">
+            and item_ids like concat('%',concat(#{itemId},'%'))
         </if>
-        order by anchor_amount desc
+        ) t1 left join (
+        select promoter_id,promoter_nick_name as 'promoterName',t2.user_id as 'promoterCreateId',group_concat(t1.user_name) as
+        'promoterCreateName'
+        from kuaishou_promoter t1
+        left join sys_user_role t2 on t1.user_id = t2.user_id
+        where media_id = 2
+        and t2.role_id not in (210114, 210115) and t2.user_id not in(270128) group by promoter_id
+        ) t2 on t1.promoterId = t2.promoter_id
+        order by t1.anchorAmount desc ,t1.itemIds asc
 
     </select>
     <select id="getRuleJson" resultType="com.alibaba.fastjson.JSONObject" parameterType="java.lang.Long">