Explorar o código

文档需求提交

wucl %!s(int64=2) %!d(string=hai) anos
pai
achega
90ba5f75da

+ 13 - 2
biz-base/src/main/java/com/dayou/controller/BusinessReplyController.java

@@ -1,5 +1,6 @@
 package com.dayou.controller;
 
+import com.dayou.vo.BusinessReplyVO;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -37,8 +38,8 @@ public class BusinessReplyController extends BaseController {
     * 业务回复表列表
     */
     @GetMapping("")
-    public RestResponse<Page<BusinessReply>> page(BusinessReply businessReply, Page page){
-        Page<BusinessReply> pages=businessReplyService.selectPage(page,businessReply);
+    public RestResponse<Page<BusinessReplyVO>> page(BusinessReply businessReply, Page page){
+        Page<BusinessReplyVO> pages=businessReplyService.selectPage(page,businessReply);
         return RestResponse.data(pages);
     }
 
@@ -78,6 +79,16 @@ public class BusinessReplyController extends BaseController {
         return RestResponse.data(ret);
     }
 
+    /**
+     * 获取未读消息个数
+     * @param businessReply
+     * @return
+     */
+    @GetMapping("/notRead")
+    public RestResponse<Integer> getNotReadCount(BusinessReply businessReply){
+        Integer notReadCount = businessReplyService.getNotReadCount(businessReply);
+        return RestResponse.data(notReadCount);
+    }
 
 }
 

+ 3 - 2
biz-base/src/main/java/com/dayou/controller/MarketLogController.java

@@ -4,6 +4,7 @@ import com.dayou.annotation.DataPermission;
 import com.dayou.annotation.OperLog;
 import com.dayou.dto.DataPermissionCondition;
 import com.dayou.vo.ItemLogCollectVO;
+import com.dayou.vo.MarketLogVO;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -43,8 +44,8 @@ public class MarketLogController extends BaseController {
     * 市场人员日志列表
     */
     @GetMapping("")
-    public RestResponse<Page<MarketLog>> page(MarketLog marketLog, Page page){
-        Page<MarketLog> pages=marketLogService.selectPage(page,marketLog);
+    public RestResponse<Page<MarketLogVO>> page(MarketLog marketLog, Page page){
+        Page<MarketLogVO> pages=marketLogService.selectPage(page,marketLog);
         return RestResponse.data(pages);
     }
 

+ 2 - 3
biz-base/src/test/java/BrokerageTest.java

@@ -15,6 +15,7 @@ import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.ApplicationContext;
+import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
 import java.math.BigDecimal;
@@ -63,6 +64,4 @@ public class BrokerageTest {
         itemBrokerageSequenceService.doAbleItemBrokerageSettle();
     }
 
-    //冒泡排序
-
-}
+}

+ 6 - 0
dao/src/main/java/com/dayou/mapper/BusinessReplyMapper.java

@@ -1,7 +1,10 @@
 package com.dayou.mapper;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.dayou.entity.BusinessReply;
 import com.dayou.dao.CustomBaseMapper;
+import com.dayou.vo.BusinessReplyVO;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -13,4 +16,7 @@ import com.dayou.dao.CustomBaseMapper;
  */
 public interface BusinessReplyMapper extends CustomBaseMapper<BusinessReply> {
 
+    Page<BusinessReplyVO> getPage(Page page,@Param("businessReply") BusinessReply businessReply);
+
+    void updateState(@Param("currentId") Long userId, @Param("bizTableId")Long bizTableId, @Param("bizType")String bizType);
 }

+ 4 - 0
dao/src/main/java/com/dayou/mapper/MarketLogMapper.java

@@ -1,8 +1,10 @@
 package com.dayou.mapper;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.dayou.entity.MarketLog;
 import com.dayou.dao.CustomBaseMapper;
 import com.dayou.vo.ItemUserLogVO;
+import com.dayou.vo.MarketLogVO;
 import org.apache.ibatis.annotations.Param;
 
 import java.time.LocalDate;
@@ -21,4 +23,6 @@ public interface MarketLogMapper extends CustomBaseMapper<MarketLog> {
 
 
     List<ItemUserLogVO> getList(@Param("startDate") LocalDate startDate, @Param("endDate") LocalDate endDate , @Param("userIds")Set<Long> userIds);
+
+    Page<MarketLogVO> getPage(Page page,@Param("marketLog") MarketLog marketLog);
 }

+ 16 - 5
dao/src/main/resources/mapper/BusinessReplyMapper.xml

@@ -19,11 +19,22 @@
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id,
-        deleted,
-        created,
-        modified,
-        biz_type, biz_table_id, parent_id, content, replier_id, receiver_id, state
+        br.id,
+        br.deleted,
+        br.created,
+        br.modified,
+        br.biz_type, br.biz_table_id, br.parent_id, br.content, br.replier_id, br.receiver_id, br.state
     </sql>
 
+    <select id="getPage" parameterType="com.dayou.entity.BusinessReply" resultType="com.dayou.vo.BusinessReplyVO">
+        select <include refid="Base_Column_List"/> , u1.name as replier,u2.name as receiver
+        from business_reply br
+        left join user u1 on br.replier_id = u1.id left join user u2 on br.receiver_id = u2.id
+        where u1.deleted = 0 and u2.deleted = 0 and br.deleted = 0 and br.biz_type = #{businessReply.bizType} and br.biz_table_id = #{businessReply.bizTableId}
+        order by br.created DESC
+    </select>
+
+    <update id="updateState">
+        update business_reply set state = 1 where biz_type = #{bizType} and biz_table_id = #{bizTableId} and receiver_id = #{currentId}
+    </update>
 </mapper>

+ 6 - 0
dao/src/main/resources/mapper/ItemMapper.xml

@@ -123,6 +123,9 @@
         <if test="item!=null and item.name!=null and item.name!='' ">
             and i.name like concat ('%',#{item.name},'%')
         </if>
+        <if test="item!=null and item.cate!=null and item.cate!='' ">
+            and i.cate =#{item.cate}
+        </if>
         <if test="item!=null and item.businessNo!=null and item.businessNo!='' ">
             and i.business_no like concat (#{item.businessNo},'%')
         </if>
@@ -152,6 +155,9 @@
         <if test="item!=null and item.name!=null and item.name!='' ">
             and i.name like concat ('%',#{item.name},'%')
         </if>
+        <if test="item!=null and item.cate!=null and item.cate!='' ">
+            and i.cate =#{item.cate}
+        </if>
         <if test="item!=null and item.businessNo!=null and item.businessNo!='' ">
             and i.business_no like concat (#{item.businessNo},'%')
         </if>

+ 22 - 0
dao/src/main/resources/mapper/MarketLogMapper.xml

@@ -50,4 +50,26 @@ where u.deleted = 0 and ml.deleted = 0
         </if>
     </select>
 
+    <select id="getPage" parameterType="com.dayou.entity.MarketLog" resultType="com.dayou.vo.MarketLogVO">
+        SELECT
+        <include refid="Base_Column_List"/>,(
+            SELECT
+                count( id )
+            FROM
+                business_reply
+            WHERE
+                biz_type = 'MARKET_LOG_REPLY'
+              AND biz_table_id = ml.id
+              AND deleted = 0
+              AND receiver_id = #{marketLog.userId}
+              and state = 0
+        ) AS replyCount
+        FROM
+            market_log ml
+        WHERE
+            ml.user_id = #{marketLog.userId}
+          AND ml.deleted = 0
+order by ml.id DESC
+    </select>
+
 </mapper>

+ 19 - 0
domain/src/main/java/com/dayou/vo/BusinessReplyVO.java

@@ -0,0 +1,19 @@
+package com.dayou.vo;
+
+import com.dayou.entity.BusinessReply;
+import lombok.Data;
+
+/**
+ * 类说明:
+ *
+ * @author: wucl
+ * @since: 2023/3/24
+ * created with IntelliJ IDEA.
+ */
+@Data
+public class BusinessReplyVO extends BusinessReply {
+
+    private String replier;
+
+    private String receiver;
+}

+ 18 - 0
domain/src/main/java/com/dayou/vo/MarketLogVO.java

@@ -0,0 +1,18 @@
+package com.dayou.vo;
+
+import com.dayou.entity.MarketLog;
+import lombok.Data;
+
+/**
+ * 类说明:
+ *
+ * @author: wucl
+ * @since: 2023/3/24
+ * created with IntelliJ IDEA.
+ */
+@Data
+public class MarketLogVO extends MarketLog {
+
+    private Integer replyCount;
+
+}

+ 0 - 1
service/src/main/java/com/dayou/brokerage/BrokerageCalculateSupport.java

@@ -20,7 +20,6 @@ import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.util.Date;
 import java.util.concurrent.ExecutionException;
-
 /**
  * 类说明:
  *

+ 3 - 1
service/src/main/java/com/dayou/service/IBusinessReplyService.java

@@ -3,6 +3,7 @@ import com.dayou.entity.BusinessReply;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.dayou.vo.BusinessReplyVO;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.web.multipart.MultipartFile;
 /**
@@ -15,7 +16,7 @@ import org.springframework.web.multipart.MultipartFile;
  */
 public interface IBusinessReplyService extends IService<BusinessReply> {
 
-        Page<BusinessReply> selectPage(Page page,BusinessReply businessReply);
+        Page<BusinessReplyVO> selectPage(Page page, BusinessReply businessReply);
 
         BusinessReply detail(Long id);
 
@@ -25,4 +26,5 @@ public interface IBusinessReplyService extends IService<BusinessReply> {
 
         Boolean delete(Long id);
 
+    Integer getNotReadCount(BusinessReply businessReply);
 }

+ 2 - 1
service/src/main/java/com/dayou/service/IMarketLogService.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.dayou.vo.ItemLogCollectVO;
+import com.dayou.vo.MarketLogVO;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -21,7 +22,7 @@ import java.util.List;
  */
 public interface IMarketLogService extends IService<MarketLog> {
 
-        Page<MarketLog> selectPage(Page page,MarketLog marketLog);
+        Page<MarketLogVO> selectPage(Page page, MarketLog marketLog);
 
         MarketLog detail(Long id);
 

+ 17 - 2
service/src/main/java/com/dayou/service/impl/BusinessReplyServiceImpl.java

@@ -5,6 +5,9 @@ import com.dayou.entity.BusinessReply;
 import com.dayou.mapper.BusinessReplyMapper;
 import com.dayou.service.IBusinessReplyService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dayou.utils.LoginContext;
+import com.dayou.vo.BusinessReplyVO;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -36,11 +39,15 @@ import com.dayou.enums.BatchTaskTypeEnum;
 @Service
 public class BusinessReplyServiceImpl extends ServiceImpl<BusinessReplyMapper, BusinessReply> implements IBusinessReplyService {
 
+    @Autowired
+    private BusinessReplyMapper businessReplyMapper;
 
     @Override
     @SuppressWarnings("unchecked")
-    public Page<BusinessReply> selectPage(Page page,BusinessReply businessReply){
-        return this.page(page, new QueryWrapper<BusinessReply>(businessReply));
+    public Page<BusinessReplyVO> selectPage(Page page, BusinessReply businessReply){
+        Long userId = LoginContext.getUserId();
+        businessReplyMapper.updateState(userId,businessReply.getBizTableId(),businessReply.getBizType());
+        return businessReplyMapper.getPage(page,businessReply);
     }
 
 
@@ -65,4 +72,12 @@ public class BusinessReplyServiceImpl extends ServiceImpl<BusinessReplyMapper, B
         //逻辑删除
         return this.removeById(id);
     }
+
+    @Override
+    public Integer getNotReadCount(BusinessReply businessReply) {
+        Integer count = this.count(new LambdaQueryWrapper<BusinessReply>().eq(BusinessReply::getBizType, businessReply.getBizType())
+                .eq(BusinessReply::getBizTableId, businessReply.getBizTableId()).eq(BusinessReply::getReceiverId, businessReply.getReceiverId())
+                        .eq(BusinessReply::getState, Boolean.FALSE).eq(BusinessReply::getDeleted, Boolean.FALSE));
+        return count;
+    }
 }

+ 5 - 2
service/src/main/java/com/dayou/service/impl/MarketLogServiceImpl.java

@@ -4,11 +4,13 @@ import com.dayou.dto.DataPermissionCondition;
 import com.dayou.entity.ItemUserLog;
 import com.dayou.entity.MarketLog;
 import com.dayou.mapper.MarketLogMapper;
+import com.dayou.service.IBusinessReplyService;
 import com.dayou.service.IMarketLogService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.dayou.utils.LoginContext;
 import com.dayou.vo.ItemLogCollectVO;
 import com.dayou.vo.ItemUserLogVO;
+import com.dayou.vo.MarketLogVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -51,12 +53,13 @@ public class MarketLogServiceImpl extends ServiceImpl<MarketLogMapper, MarketLog
     @Autowired
     private MarketLogMapper marketLogMapper;
 
+
     @Override
     @SuppressWarnings("unchecked")
-    public Page<MarketLog> selectPage(Page page,MarketLog marketLog){
+    public Page<MarketLogVO> selectPage(Page page, MarketLog marketLog){
         Long userId = LoginContext.getUserId();
         marketLog.setUserId(userId);
-        return this.page(page, new QueryWrapper<MarketLog>(marketLog).eq("user_id",userId));
+        return marketLogMapper.getPage(page,marketLog);
     }
 
 

+ 122 - 81
sql/brokerage_about.sql

@@ -1,94 +1,135 @@
-alter table item_stage add COLUMN weight double(16,2) DEFAULT NULL comment '提成权重';
-alter table item_stage add COLUMN coefficient double(16,2) DEFAULT NULL comment '逾期提成系数';
-alter table item_stage add COLUMN overdue bit(1) DEFAULT 0 comment '是否逾期';
+alter table item_stage add COLUMN weight decimal(16,2) DEFAULT NULL comment '提成权重';
+alter table item_stage add COLUMN coefficient decimal(16,2) DEFAULT NULL comment '逾期提成系数';
+alter table item_stage add COLUMN overdue bit(1) DEFAULT 0 not null comment '是否逾期';
 alter table item add COLUMN upload_date date DEFAULT null comment '合同上传日期';
+alter table global_config CHANGE column `name` `key` varchar(128);
+
+CREATE TABLE `brokerage_base_amount` (
+                                         `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+                                         `user_id` bigint(20) NOT NULL COMMENT '用户id',
+                                         `base_amount` decimal(16,2) DEFAULT NULL COMMENT '自定义提成基数金额',
+                                         `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '逻辑删除标识:1:删除 0:未删除',
+                                         `created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+                                         `modified` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6) COMMENT '修改时间',
+                                         PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='自定义提成基数';
 
 CREATE TABLE `brokerage_marketer_ratio` (
-`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
-`item_cate` bigint(20) NOT NULL COMMENT '项目类型字典id',
-`item_source` bigint(20) NOT NULL COMMENT '项目来源字典id',
-`ratio` double(16,4) DEFAULT NULL COMMENT '提成比例',
-`remark` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '备注',
-`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '逻辑删除标识:1:删除 0:未删除',
-`created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
-`modified` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6) COMMENT '修改时间',
-PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='项目提成比例(市场人员)';
+                                            `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+                                            `item_cate` bigint(20) NOT NULL COMMENT '项目类型字典id',
+                                            `item_source` bigint(20) NOT NULL COMMENT '项目来源字典id',
+                                            `ratio` double(16,4) DEFAULT NULL COMMENT '提成比例',
+  `remark` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '备注',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '逻辑删除标识:1:删除 0:未删除',
+  `created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `modified` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6) COMMENT '修改时间',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='项目提成比例(市场人员)';
 
-CREATE TABLE `item_brokerage_sequence_detail` (
-`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
-`brokerage_detail_id` bigint(20) NOT NULL COMMENT '项目提成明细表id',
-`sequence_id` bigint(20) NOT NULL COMMENT '项目提成流水表id',
-`brokerage_amount` decimal(16,2) DEFAULT NULL COMMENT '提成金额',
-`brokerage_cate` varchar(32) COLLATE utf8_unicode_ci NOT NULL COMMENT '提成类型(预提,结算)',
-`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '逻辑删除标识:1:删除 0:未删除',
-`created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
-`modified` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6) COMMENT '修改时间',
-PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='提成流水明细表';
+CREATE TABLE `brokerage_post_ratio` (
+                                        `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+                                        `post_id` bigint(20) NOT NULL COMMENT '岗位id',
+                                        `brokerage_ratio` decimal(16,2) DEFAULT NULL COMMENT '岗位抽成率',
+                                        `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '逻辑删除标识:1:删除 0:未删除',
+                                        `created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+                                        `modified` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6) COMMENT '修改时间',
+                                        PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='领导岗位抽成率';
+
+CREATE TABLE `business_reply` (
+                                  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+                                  `biz_type` varchar(64) COLLATE utf8_unicode_ci NOT NULL COMMENT '业务类型',
+                                  `biz_table_id` bigint(20) NOT NULL COMMENT '业务表id',
+                                  `parent_id` bigint(20) DEFAULT NULL COMMENT '父级id',
+                                  `content` text COLLATE utf8_unicode_ci COMMENT '内容',
+                                  `replier_id` bigint(20) NOT NULL COMMENT '回复者id',
+                                  `receiver_id` int(11) DEFAULT NULL COMMENT '接受者id',
+                                  `state` bit(1) NOT NULL DEFAULT b'0' COMMENT '状态(已读,未读)',
+                                  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '逻辑删除标识:1:删除 0:未删除',
+                                  `created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+                                  `modified` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6) COMMENT '修改时间',
+                                  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=33 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='业务回复表';
 
 CREATE TABLE `item_brokerage_detail` (
-`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
-`general_id` bigint(20) NOT NULL COMMENT '项目提成总表id',
-`user_id` bigint(20) NOT NULL COMMENT '用户id',
-`predict_amount` decimal(16,2) DEFAULT NULL COMMENT '预计提成金额',
-`atcual_amount` decimal(16,2) DEFAULT NULL COMMENT '实际提成金额',
-`advance_amount` decimal(16,2) DEFAULT NULL COMMENT '已预提金额',
-`brokerage_rule` varchar(32) COLLATE utf8_unicode_ci NOT NULL COMMENT '提成规则',
-`brokerage_mode` varchar(32) COLLATE utf8_unicode_ci NOT NULL COMMENT '提成方式',
-`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '逻辑删除标识:1:删除 0:未删除',
-`created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
-`modified` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6) COMMENT '修改时间',
-PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='项目提成明细';
+                                         `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+                                         `general_id` bigint(20) NOT NULL COMMENT '项目提成总表id',
+                                         `user_id` bigint(20) NOT NULL COMMENT '用户id',
+                                         `predict_amount` decimal(16,2) DEFAULT NULL COMMENT '预计提成金额',
+                                         `ahead_amount` decimal(16,2) DEFAULT NULL COMMENT '预提金额',
+                                         `actual_amount` decimal(16,2) DEFAULT NULL COMMENT '实际提成金额',
+                                         `advance_amount` decimal(16,2) DEFAULT NULL COMMENT '已结算金额',
+                                         `brokerage_rule` varchar(32) COLLATE utf8_unicode_ci NOT NULL COMMENT '提成规则',
+                                         `brokerage_mode` varchar(32) COLLATE utf8_unicode_ci NOT NULL COMMENT '提成方式',
+                                         `brokerage_stage_id` bigint(20) DEFAULT NULL COMMENT '项目提成阶段id(非市场人员用)',
+                                         `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '逻辑删除标识:1:删除 0:未删除',
+                                         `created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+                                         `modified` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6) COMMENT '修改时间',
+                                         PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=481 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='项目提成明细';
 
 CREATE TABLE `item_brokerage_general` (
-`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
-`item_id` bigint(20) NOT NULL COMMENT '项目id',
-`marketer_brokerage_amount` decimal(16,2) DEFAULT NULL COMMENT '客户经理提成金额',
-`marketer_advance_brokerage_able` bit(1) NOT NULL DEFAULT b'0' COMMENT '客户经理预提',
-`marketer_advance_brokerage_done` bit(1) NOT NULL DEFAULT b'0' COMMENT '客户经理已预提',
-`participant_predict_brokerage_amount` decimal(16,2) DEFAULT NULL COMMENT '参与人预计提成总金额',
-`participant_actual_brokerage_amount` decimal(16,2) DEFAULT NULL COMMENT '参与人实际提成总金额',
-`participant_advance_status` bit(1) NOT NULL DEFAULT b'1' COMMENT '参与人预提中',
-`brokerage_predict_amount` decimal(16,2) DEFAULT NULL COMMENT '预计提成总金额',
-`brokerage_actual_amount` decimal(16,2) DEFAULT NULL COMMENT '已提成总金额',
-`brokerage_rate` decimal(3,2) DEFAULT NULL COMMENT '提成率',
-`status` enum('未开始','预提中','冻结','已结算') COLLATE utf8_unicode_ci NOT NULL DEFAULT '未开始' COMMENT '状态',
-`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '逻辑删除标识:1:删除 0:未删除',
-`created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
-`modified` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6) COMMENT '修改时间',
-PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='项目提成总表';
+                                          `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+                                          `item_id` bigint(20) NOT NULL COMMENT '项目id',
+                                          `marketer_brokerage_amount` decimal(16,2) DEFAULT NULL COMMENT '客户经理提成金额',
+                                          `marketer_advance_brokerage_able` bit(1) NOT NULL DEFAULT b'0' COMMENT '客户经理预提',
+                                          `marketer_advance_brokerage_done` bit(1) NOT NULL DEFAULT b'0' COMMENT '客户经理已预提',
+                                          `participant_predict_brokerage_amount` decimal(16,2) DEFAULT NULL COMMENT '参与人预计提成总金额',
+                                          `participant_actual_brokerage_amount` decimal(16,2) DEFAULT NULL COMMENT '参与人实际提成总金额',
+                                          `participant_advance_status` bit(1) NOT NULL DEFAULT b'0' COMMENT '参与人预提中',
+                                          `brokerage_predict_amount` decimal(16,2) DEFAULT NULL COMMENT '预计提成总金额',
+                                          `brokerage_actual_amount` decimal(16,2) DEFAULT NULL COMMENT '已提成总金额',
+                                          `brokerage_rate` decimal(16,2) DEFAULT NULL COMMENT '提成率',
+                                          `participant_status` varchar(128) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '参与人提成状态',
+                                          `marketer_status` varchar(128) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '客户经理提成状态',
+                                          `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '逻辑删除标识:1:删除 0:未删除',
+                                          `created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+                                          `modified` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6) COMMENT '修改时间',
+                                          PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=80 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='项目提成总表';
 
 CREATE TABLE `item_brokerage_sequence` (
-`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
-`user_id` bigint(20) NOT NULL COMMENT '用户id',
-`brokerage_amount` decimal(16,2) DEFAULT NULL COMMENT '提成总金额',
-`embody` varchar(32) COLLATE utf8_unicode_ci NOT NULL COMMENT '提成体现',
-`remark` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '备注',
-`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '逻辑删除标识:1:删除 0:未删除',
-`created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间(业务)',
-`modified` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6) COMMENT '修改时间',
-PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='项目提成流水';
+                                           `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+                                           `user_id` bigint(20) NOT NULL COMMENT '用户id',
+                                           `brokerage_amount` decimal(16,2) DEFAULT NULL COMMENT '提成总金额',
+                                           `embody` varchar(32) COLLATE utf8_unicode_ci NOT NULL COMMENT '提成体现',
+                                           `remark` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '备注',
+                                           `cate` varchar(64) COLLATE utf8_unicode_ci NOT NULL COMMENT '结算类型(项目结算,默认预提)',
+                                           `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '逻辑删除标识:1:删除 0:未删除',
+                                           `created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间(业务)',
+                                           `modified` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6) COMMENT '修改时间',
+                                           PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=90 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='项目提成流水';
 
-CREATE TABLE `item_stage_user` (
-`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
-`user_id` bigint(20) NOT NULL COMMENT '用户id',
-`item_id` bigint(20) NOT NULL COMMENT '项目id',
-`stage_id` bigint(20) NOT NULL COMMENT '项目阶段id',
-`weight` double(16,2) DEFAULT NULL COMMENT '提成比例',
-  PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='项目人员阶段参与表';
+CREATE TABLE `item_brokerage_sequence_detail` (
+                                                  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+                                                  `brokerage_detail_id` bigint(20) NOT NULL COMMENT '项目提成明细表id',
+                                                  `sequence_id` bigint(20) NOT NULL COMMENT '项目提成流水表id',
+                                                  `user_id` bigint(20) NOT NULL COMMENT '用户id',
+                                                  `brokerage_amount` decimal(16,2) DEFAULT NULL COMMENT '提成金额',
+                                                  `brokerage_cate` varchar(32) COLLATE utf8_unicode_ci NOT NULL COMMENT '提成类型(预提,结算)',
+                                                  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '逻辑删除标识:1:删除 0:未删除',
+                                                  `created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+                                                  `modified` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6) COMMENT '修改时间',
+                                                  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=46 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='提成流水明细表';
 
 CREATE TABLE `item_evaluate` (
-`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
-`item_id` bigint(20) NOT NULL COMMENT '项目id',
-`weight` double(16,2) DEFAULT NULL COMMENT '项目整体提成权重',
-  `comments` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '项目评价',
-  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '逻辑删除标识:1:删除 0:未删除',
-  `created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
-  `modified` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6) COMMENT '修改时间',
-  PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='项目完结评价表';
+                                 `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+                                 `item_id` bigint(20) NOT NULL COMMENT '项目id',
+                                 `weight` decimal(16,2) DEFAULT NULL COMMENT '项目整体提成权重',
+                                 `comments` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '项目评价',
+                                 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '逻辑删除标识:1:删除 0:未删除',
+                                 `created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+                                 `modified` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6) COMMENT '修改时间',
+                                 PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='项目完结评价表';
+
+CREATE TABLE `item_stage_user` (
+                                   `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+                                   `user_id` bigint(20) NOT NULL COMMENT '用户id',
+                                   `item_id` bigint(20) NOT NULL COMMENT '项目id',
+                                   `stage_id` bigint(20) NOT NULL COMMENT '项目阶段id',
+                                   `weight` decimal(16,2) DEFAULT NULL COMMENT '提成比例',
+                                   PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=394 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='项目人员阶段参与表';