Przeglądaj źródła

项目提成业务代码

wucl 2 lat temu
rodzic
commit
e89423758c
31 zmienionych plików z 333 dodań i 27 usunięć
  1. 3 2
      biz-base/src/main/java/com/dayou/controller/BrokerageBaseAmountController.java
  2. 6 3
      biz-base/src/main/java/com/dayou/controller/BrokerageMarketerRatioController.java
  3. 6 2
      biz-base/src/main/java/com/dayou/controller/BrokeragePostRatioController.java
  4. 11 0
      biz-base/src/main/java/com/dayou/controller/ItemUserController.java
  5. 5 0
      common/src/main/java/com/dayou/aop/GlobalExceptionHandler.java
  6. 3 0
      dao/src/main/java/com/dayou/mapper/BrokerageBaseAmountMapper.java
  7. 3 0
      dao/src/main/java/com/dayou/mapper/BrokerageMarketerRatioMapper.java
  8. 4 0
      dao/src/main/java/com/dayou/mapper/BrokeragePostRatioMapper.java
  9. 6 0
      dao/src/main/java/com/dayou/mapper/ItemUserMapper.java
  10. 31 1
      dao/src/main/resources/mapper/BrokerageBaseAmountMapper.xml
  11. 27 0
      dao/src/main/resources/mapper/BrokerageMarketerRatioMapper.xml
  12. 18 0
      dao/src/main/resources/mapper/BrokeragePostRatioMapper.xml
  13. 20 0
      dao/src/main/resources/mapper/ItemUserMapper.xml
  14. 4 0
      domain/src/main/java/com/dayou/entity/BrokerageBaseAmount.java
  15. 6 0
      domain/src/main/java/com/dayou/entity/BrokerageMarketerRatio.java
  16. 9 0
      domain/src/main/java/com/dayou/entity/BrokeragePostRatio.java
  17. 23 0
      domain/src/main/java/com/dayou/vo/BaseAmountVO.java
  18. 23 0
      domain/src/main/java/com/dayou/vo/ItemStageUserVO.java
  19. 2 1
      domain/src/main/java/com/dayou/vo/ItemStageVO.java
  20. 21 0
      domain/src/main/java/com/dayou/vo/MarketerRatioVO.java
  21. 20 0
      domain/src/main/java/com/dayou/vo/PostRatioVO.java
  22. 2 1
      service/src/main/java/com/dayou/service/IBrokerageBaseAmountService.java
  23. 2 1
      service/src/main/java/com/dayou/service/IBrokerageMarketerRatioService.java
  24. 2 1
      service/src/main/java/com/dayou/service/IBrokeragePostRatioService.java
  25. 6 0
      service/src/main/java/com/dayou/service/IItemUserService.java
  26. 14 4
      service/src/main/java/com/dayou/service/impl/BrokerageBaseAmountServiceImpl.java
  27. 13 4
      service/src/main/java/com/dayou/service/impl/BrokerageMarketerRatioServiceImpl.java
  28. 16 3
      service/src/main/java/com/dayou/service/impl/BrokeragePostRatioServiceImpl.java
  29. 9 0
      service/src/main/java/com/dayou/service/impl/GlobalConfigServiceImpl.java
  30. 7 4
      service/src/main/java/com/dayou/service/impl/ItemStageServiceImpl.java
  31. 11 0
      service/src/main/java/com/dayou/service/impl/ItemUserServiceImpl.java

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

@@ -1,5 +1,6 @@
 package com.dayou.controller;
 
+import com.dayou.vo.BaseAmountVO;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -27,8 +28,8 @@ public class BrokerageBaseAmountController extends BaseController {
     * 自定义提成基数列表
     */
     @GetMapping("")
-    public RestResponse<Page<BrokerageBaseAmount>> page(BrokerageBaseAmount brokerageBaseAmount, Page page){
-        Page<BrokerageBaseAmount> pages=brokerageBaseAmountService.selectPage(page,brokerageBaseAmount);
+    public RestResponse<Page<BaseAmountVO>> page(BrokerageBaseAmount brokerageBaseAmount, Page page){
+        Page<BaseAmountVO> pages=brokerageBaseAmountService.selectPage(page,brokerageBaseAmount);
         return RestResponse.data(pages);
     }
 

+ 6 - 3
biz-base/src/main/java/com/dayou/controller/BrokerageMarketerRatioController.java

@@ -1,5 +1,6 @@
 package com.dayou.controller;
 
+import com.dayou.vo.MarketerRatioVO;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -10,6 +11,8 @@ import com.dayou.entity.BrokerageMarketerRatio;
 import com.dayou.common.RestResponse;
 import org.springframework.web.bind.annotation.*;
 
+import javax.validation.Valid;
+
 /**
  * 项目提成比例(市场人员)
  *
@@ -28,8 +31,8 @@ public class BrokerageMarketerRatioController extends BaseController {
      * //todo 需转换为vo对象
     */
     @GetMapping("")
-    public RestResponse<Page<BrokerageMarketerRatio>> page(BrokerageMarketerRatio brokerageMarketerRatio, Page page){
-        Page<BrokerageMarketerRatio> pages=brokerageMarketerRatioService.selectPage(page,brokerageMarketerRatio);
+    public RestResponse<Page<MarketerRatioVO>> page(BrokerageMarketerRatio brokerageMarketerRatio, Page page){
+        Page<MarketerRatioVO> pages=brokerageMarketerRatioService.selectPage(page,brokerageMarketerRatio);
         return RestResponse.data(pages);
     }
 
@@ -55,7 +58,7 @@ public class BrokerageMarketerRatioController extends BaseController {
      * 项目提成比例(市场人员)更新
      */
     @PutMapping("")
-    public RestResponse<Boolean> update(@RequestBody BrokerageMarketerRatio brokerageMarketerRatio) {
+    public RestResponse<Boolean> update(@RequestBody  BrokerageMarketerRatio brokerageMarketerRatio) {
         Boolean ret = brokerageMarketerRatioService.update(brokerageMarketerRatio);
         return RestResponse.data(ret);
     }

+ 6 - 2
biz-base/src/main/java/com/dayou/controller/BrokeragePostRatioController.java

@@ -1,5 +1,6 @@
 package com.dayou.controller;
 
+import com.dayou.vo.PostRatioVO;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -20,6 +21,9 @@ import java.util.List;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import org.springframework.http.MediaType;
 import org.springframework.web.multipart.MultipartFile;
+
+import javax.validation.Valid;
+
 /**
  * 领导岗位抽成率
  *
@@ -37,8 +41,8 @@ public class BrokeragePostRatioController extends BaseController {
     * 领导岗位抽成率列表
     */
     @GetMapping("")
-    public RestResponse<Page<BrokeragePostRatio>> page(BrokeragePostRatio brokeragePostRatio, Page page){
-        Page<BrokeragePostRatio> pages=brokeragePostRatioService.selectPage(page,brokeragePostRatio);
+    public RestResponse<Page<PostRatioVO>> page(BrokeragePostRatio brokeragePostRatio, Page page){
+        Page<PostRatioVO> pages=brokeragePostRatioService.selectPage(page,brokeragePostRatio);
         return RestResponse.data(pages);
     }
 

+ 11 - 0
biz-base/src/main/java/com/dayou/controller/ItemUserController.java

@@ -1,5 +1,7 @@
 package com.dayou.controller;
 
+import com.dayou.entity.User;
+import com.dayou.vo.ItemStageUserVO;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -79,5 +81,14 @@ public class ItemUserController extends BaseController {
     }
 
 
+    /**
+     * 获取项目参与人员
+     * @return
+     */
+    @GetMapping("/user")
+    public RestResponse<List<ItemStageUserVO>> userList(ItemStageUserVO itemStageUserVO){
+        List<ItemStageUserVO> list = itemUserService.userList(itemStageUserVO);
+        return RestResponse.data(list);
+    }
 }
 

+ 5 - 0
common/src/main/java/com/dayou/aop/GlobalExceptionHandler.java

@@ -2,6 +2,7 @@ package com.dayou.aop;
 
 import com.dayou.exception.BusinessException;
 import com.dayou.exception.file.ExcelParseException;
+import com.fasterxml.jackson.databind.exc.InvalidFormatException;
 import com.github.liangbaika.validate.exception.ParamsInValidException;
 import com.dayou.common.RestResponse;
 import com.dayou.exception.ErrorCode;
@@ -10,6 +11,7 @@ import org.slf4j.LoggerFactory;
 import org.springframework.core.annotation.AnnotationUtils;
 import org.springframework.dao.DuplicateKeyException;
 import org.springframework.http.HttpStatus;
+import org.springframework.http.converter.HttpMessageNotReadableException;
 import org.springframework.validation.BindException;
 import org.springframework.validation.BindingResult;
 import org.springframework.validation.FieldError;
@@ -110,6 +112,9 @@ public class GlobalExceptionHandler {
         if (e.getMessage().contains("Data too long")) {
             return RestResponse.error("存在数据过长字段,请检查。");
         }
+        if ( e instanceof HttpMessageNotReadableException){
+            return RestResponse.error("参数格式不正确,请配置正确参数类型。");
+        }
         return RestResponse.error("系统出错了");
     }
 

+ 3 - 0
dao/src/main/java/com/dayou/mapper/BrokerageBaseAmountMapper.java

@@ -1,7 +1,9 @@
 package com.dayou.mapper;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.dayou.entity.BrokerageBaseAmount;
 import com.dayou.dao.CustomBaseMapper;
+import com.dayou.vo.BaseAmountVO;
 
 /**
  * <p>
@@ -13,4 +15,5 @@ import com.dayou.dao.CustomBaseMapper;
  */
 public interface BrokerageBaseAmountMapper extends CustomBaseMapper<BrokerageBaseAmount> {
 
+    Page<BaseAmountVO> xPage(Page page, BrokerageBaseAmount brokerageBaseAmount);
 }

+ 3 - 0
dao/src/main/java/com/dayou/mapper/BrokerageMarketerRatioMapper.java

@@ -1,7 +1,9 @@
 package com.dayou.mapper;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.dayou.entity.BrokerageMarketerRatio;
 import com.dayou.dao.CustomBaseMapper;
+import com.dayou.vo.MarketerRatioVO;
 
 /**
  * <p>
@@ -13,4 +15,5 @@ import com.dayou.dao.CustomBaseMapper;
  */
 public interface BrokerageMarketerRatioMapper extends CustomBaseMapper<BrokerageMarketerRatio> {
 
+    Page<MarketerRatioVO> xPage(Page page, BrokerageMarketerRatio brokerageMarketerRatio);
 }

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

@@ -1,8 +1,10 @@
 package com.dayou.mapper;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.dayou.bo.LeaderRatioBO;
 import com.dayou.entity.BrokeragePostRatio;
 import com.dayou.dao.CustomBaseMapper;
+import com.dayou.vo.PostRatioVO;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.Set;
@@ -18,4 +20,6 @@ import java.util.Set;
 public interface BrokeragePostRatioMapper extends CustomBaseMapper<BrokeragePostRatio> {
 
     Set<LeaderRatioBO> getLeadersRatio(@Param("parentPostIds") Set<Long> parentPostIds,@Param("userId") Long userId);
+
+    Page<PostRatioVO> page(Page page, BrokeragePostRatio brokeragePostRatio);
 }

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

@@ -2,6 +2,11 @@ package com.dayou.mapper;
 
 import com.dayou.entity.ItemUser;
 import com.dayou.dao.CustomBaseMapper;
+import com.dayou.entity.User;
+import com.dayou.vo.ItemStageUserVO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +18,5 @@ import com.dayou.dao.CustomBaseMapper;
  */
 public interface ItemUserMapper extends CustomBaseMapper<ItemUser> {
 
+    List<ItemStageUserVO> userList(@Param("itemStageUserVO") ItemStageUserVO itemStageUserVO);
 }

+ 31 - 1
dao/src/main/resources/mapper/BrokerageBaseAmountMapper.xml

@@ -3,13 +3,16 @@
 <mapper namespace="com.dayou.mapper.BrokerageBaseAmountMapper">
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.dayou.entity.BrokerageBaseAmount">
+    <resultMap id="BaseResultMap" type="com.dayou.vo.BaseAmountVO">
         <result column="id" property="id" />
         <result column="deleted" property="deleted" />
         <result column="created" property="created" />
         <result column="modified" property="modified" />
         <result column="user_id" property="userId" />
         <result column="base_amount" property="baseAmount" />
+        <result column="name" property="name" />
+        <result column="staff_no" property="staffNo"/>
+        <collection property="departmentPostVOList" ofType="com.dayou.vo.DepartmentPostVO" select="selectDepartmentPostVO" column="user_id"/>
     </resultMap>
 
     <!-- 通用查询结果列 -->
@@ -21,4 +24,31 @@
         user_id, base_amount
     </sql>
 
+    <select id="selectDepartmentPostVO" parameterType="java.lang.Long" resultType="com.dayou.vo.DepartmentPostVO">
+        SELECT
+            d.NAME AS departmentName,
+            p.name as postName
+        FROM
+            user_post up
+                left join
+            post p
+            on up.post_id = p.id
+                LEFT JOIN department d ON p.department_id = d.id
+        where up.user_id = #{user_id} and up.deleted = 0 and d.deleted=0 and p.deleted=0
+    </select>
+    <select id="xPage" resultMap="BaseResultMap">
+        SELECT
+            ba.id,
+            u.NAME,
+            u.staff_no,
+            ba.base_amount,
+            u.id as user_id
+        FROM
+            user u
+                LEFT JOIN brokerage_base_amount ba ON u.id = ba.user_id
+        WHERE
+            u.deleted = 0
+        ORDER BY
+            ba.id DESC
+    </select>
 </mapper>

+ 27 - 0
dao/src/main/resources/mapper/BrokerageMarketerRatioMapper.xml

@@ -23,4 +23,31 @@
         item_cate, item_source, ratio, remark
     </sql>
 
+    <select id="xPage" resultType="com.dayou.vo.MarketerRatioVO">
+        SELECT
+            *
+        FROM
+            (
+                SELECT
+                    id AS itemCate,
+                    NAME AS itemCateName
+                FROM
+                    dict_data
+                WHERE
+                    dict_type_id = ( SELECT id FROM dict_type WHERE NAME = '项目类型' )
+                  AND deleted = 0
+            ) cate
+                JOIN (
+                SELECT
+                    id AS itemSource,
+                    NAME AS itemSourceName
+                FROM
+                    dict_data
+                WHERE
+                    dict_type_id = ( SELECT id FROM dict_type WHERE NAME = '业务来源' )
+                  AND deleted = 0
+            ) source
+                LEFT JOIN brokerage_marketer_ratio br ON br.item_cate = itemCate
+                AND br.item_source = itemSource order by br.id desc
+    </select>
 </mapper>

+ 18 - 0
dao/src/main/resources/mapper/BrokeragePostRatioMapper.xml

@@ -42,4 +42,22 @@
          </foreach>
     </select>
 
+    <select id="page" resultType="com.dayou.vo.PostRatioVO">
+        SELECT
+            r.id,
+            p.id AS postId,
+            p.NAME AS postName,
+            d.NAME AS departmentName,
+            r.brokerage_ratio
+        FROM
+            post p
+                LEFT JOIN department d ON p.department_id = d.id
+                LEFT JOIN brokerage_post_ratio r ON r.post_id = p.id
+        WHERE
+            p.deleted = 0
+          AND d.deleted = 0
+        ORDER BY
+            r.id DESC;
+    </select>
+
 </mapper>

+ 20 - 0
dao/src/main/resources/mapper/ItemUserMapper.xml

@@ -17,4 +17,24 @@
         item_id, user_id
     </sql>
 
+    <select id="userList" parameterType="com.dayou.vo.ItemStageUserVO" resultType="com.dayou.vo.ItemStageUserVO">
+        SELECT
+            t1.id,
+            t1.weight,
+            t.name as userName,
+            t.user_id
+        FROM
+            (
+                SELECT
+                    u.name,
+                    iu.user_id
+                FROM
+                    item_user iu
+                        LEFT JOIN USER u ON u.id = iu.user_id
+                WHERE
+                    iu.item_id = #{itemStageUserVO.itemId}
+                  AND u.deleted = 0
+            ) t
+                LEFT JOIN ( SELECT * FROM item_stage_user isu WHERE isu.stage_id = #{itemStageUserVO.stageId} ) t1 ON t.user_id = t1.user_id
+     </select>
 </mapper>

+ 4 - 0
domain/src/main/java/com/dayou/entity/BrokerageBaseAmount.java

@@ -1,5 +1,8 @@
 package com.dayou.entity;
 import java.math.BigDecimal;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.dayou.common.BaseEntity;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -31,6 +34,7 @@ public class BrokerageBaseAmount extends BaseEntity {
      */
     @ImportCell
     @ExportCell(columnName = "自定义提成基数金额")
+    @TableField(value = "base_amount", fill = FieldFill.UPDATE)
     private BigDecimal baseAmount;
 
 

+ 6 - 0
domain/src/main/java/com/dayou/entity/BrokerageMarketerRatio.java

@@ -1,11 +1,16 @@
 package com.dayou.entity;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.dayou.common.BaseEntity;
 import com.dayou.enums.MergeKeyInterface;
+import com.github.liangbaika.validate.annations.AbcValidate;
+import com.github.liangbaika.validate.enums.Check;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import com.dayou.annotation.ExcelSheet;
 import com.dayou.annotation.ExportCell;
 import com.dayou.annotation.ImportCell;
+import org.hibernate.validator.constraints.Range;
 
 import java.math.BigDecimal;
 
@@ -41,6 +46,7 @@ public class BrokerageMarketerRatio extends BaseEntity implements MergeKeyInterf
      */
     @ImportCell
     @ExportCell(columnName = "提成比例")
+    @TableField(value = "ratio", fill = FieldFill.UPDATE)
     private BigDecimal ratio;
 
     /**

+ 9 - 0
domain/src/main/java/com/dayou/entity/BrokeragePostRatio.java

@@ -1,11 +1,19 @@
 package com.dayou.entity;
 import java.math.BigDecimal;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.dayou.common.BaseEntity;
+import com.github.liangbaika.validate.annations.AbcValidate;
+import com.github.liangbaika.validate.enums.Check;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import com.dayou.annotation.ExcelSheet;
 import com.dayou.annotation.ExportCell;
 import com.dayou.annotation.ImportCell;
+
+import static com.dayou.common.Constants.MATH_REGULAR;
+
 /**
  * <p>
  * 领导岗位抽成率
@@ -31,6 +39,7 @@ public class BrokeragePostRatio extends BaseEntity {
      */
     @ImportCell
     @ExportCell(columnName = "岗位抽成率")
+    @TableField(value = "brokerage_ratio", fill = FieldFill.UPDATE)
     private BigDecimal brokerageRatio;
 
 

+ 23 - 0
domain/src/main/java/com/dayou/vo/BaseAmountVO.java

@@ -0,0 +1,23 @@
+package com.dayou.vo;
+
+import com.dayou.entity.BrokerageBaseAmount;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 类说明:
+ *
+ * @author: wucl
+ * @since: 2023/3/16
+ * created with IntelliJ IDEA.
+ */
+@Data
+public class BaseAmountVO extends BrokerageBaseAmount {
+
+    private String staffNo;
+
+    private String name;
+
+    private List<DepartmentPostVO> departmentPostVOList;
+}

+ 23 - 0
domain/src/main/java/com/dayou/vo/ItemStageUserVO.java

@@ -0,0 +1,23 @@
+package com.dayou.vo;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 类说明:
+ *
+ * @author: wucl
+ * @since: 2023/3/16
+ * created with IntelliJ IDEA.
+ */
+@Data
+public class ItemStageUserVO {
+
+    private Long id;
+    private Long userId;
+    private String userName;
+    private BigDecimal weight;
+    private Long itemId;
+    private Long stageId;
+}

+ 2 - 1
domain/src/main/java/com/dayou/vo/ItemStageVO.java

@@ -4,6 +4,7 @@ import com.dayou.entity.ItemStage;
 import lombok.Data;
 
 import java.math.BigDecimal;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
@@ -28,7 +29,7 @@ public class ItemStageVO extends ItemStage {
 
     private Set<Long> userIds;
 
-    private Set<ParticipatorWeight> participators;
+    private Set<ParticipatorWeight> participators = new HashSet<>();
 
     private List<Long> departmentIds;
 

+ 21 - 0
domain/src/main/java/com/dayou/vo/MarketerRatioVO.java

@@ -0,0 +1,21 @@
+package com.dayou.vo;
+
+import com.dayou.entity.BrokerageMarketerRatio;
+import lombok.Data;
+
+/**
+ * 类说明:
+ *
+ * @author: wucl
+ * @since: 2023/3/16
+ * created with IntelliJ IDEA.
+ */
+@Data
+public class MarketerRatioVO extends BrokerageMarketerRatio {
+
+    private String itemCateName;
+
+    private String itemSourceName;
+
+
+}

+ 20 - 0
domain/src/main/java/com/dayou/vo/PostRatioVO.java

@@ -0,0 +1,20 @@
+package com.dayou.vo;
+
+import com.dayou.entity.BrokeragePostRatio;
+import lombok.Data;
+
+/**
+ * 类说明:
+ *
+ * @author: wucl
+ * @since: 2023/3/16
+ * created with IntelliJ IDEA.
+ */
+@Data
+public class PostRatioVO extends BrokeragePostRatio {
+
+    private String departmentName;
+
+    private String postName;
+
+}

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

@@ -3,6 +3,7 @@ import com.dayou.entity.BrokerageBaseAmount;
 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.BaseAmountVO;
 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 IBrokerageBaseAmountService extends IService<BrokerageBaseAmount> {
 
-        Page<BrokerageBaseAmount> selectPage(Page page,BrokerageBaseAmount brokerageBaseAmount);
+        Page<BaseAmountVO> selectPage(Page page, BrokerageBaseAmount brokerageBaseAmount);
 
         BrokerageBaseAmount detail(Long id);
 

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

@@ -3,6 +3,7 @@ import com.dayou.entity.BrokerageMarketerRatio;
 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.MarketerRatioVO;
 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 IBrokerageMarketerRatioService extends IService<BrokerageMarketerRatio> {
 
-        Page<BrokerageMarketerRatio> selectPage(Page page,BrokerageMarketerRatio brokerageMarketerRatio);
+        Page<MarketerRatioVO> selectPage(Page page, BrokerageMarketerRatio brokerageMarketerRatio);
 
         BrokerageMarketerRatio detail(Long id);
 

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

@@ -3,6 +3,7 @@ import com.dayou.entity.BrokeragePostRatio;
 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.PostRatioVO;
 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 IBrokeragePostRatioService extends IService<BrokeragePostRatio> {
 
-        Page<BrokeragePostRatio> selectPage(Page page,BrokeragePostRatio brokeragePostRatio);
+        Page<PostRatioVO> selectPage(Page page, BrokeragePostRatio brokeragePostRatio);
 
         BrokeragePostRatio detail(Long id);
 

+ 6 - 0
service/src/main/java/com/dayou/service/IItemUserService.java

@@ -3,8 +3,13 @@ import com.dayou.entity.ItemUser;
 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.entity.User;
+import com.dayou.vo.ItemStageUserVO;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
+
 /**
  * <p>
  * 项目人员表 服务类
@@ -25,4 +30,5 @@ public interface IItemUserService extends IService<ItemUser> {
 
         Boolean delete(Long id);
 
+    List<ItemStageUserVO> userList(ItemStageUserVO itemStageUserVO);
 }

+ 14 - 4
service/src/main/java/com/dayou/service/impl/BrokerageBaseAmountServiceImpl.java

@@ -1,9 +1,12 @@
 package com.dayou.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.dayou.entity.BrokerageBaseAmount;
+import com.dayou.exception.ErrorCode;
 import com.dayou.mapper.BrokerageBaseAmountMapper;
 import com.dayou.service.IBrokerageBaseAmountService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dayou.vo.BaseAmountVO;
 import com.google.common.cache.LoadingCache;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -12,6 +15,9 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 
 import java.math.BigDecimal;
 import java.util.List;
+import java.util.regex.Pattern;
+
+import static com.dayou.common.Constants.MATH_REGULAR;
 
 /**
  * <p>
@@ -27,10 +33,14 @@ public class BrokerageBaseAmountServiceImpl extends ServiceImpl<BrokerageBaseAmo
 
     @Autowired
     private LoadingCache<Long, BigDecimal> baseAmountsCache;
+
+    @Autowired
+    private BrokerageBaseAmountMapper brokerageBaseAmountMapper;
     @Override
     @SuppressWarnings("unchecked")
-    public Page<BrokerageBaseAmount> selectPage(Page page,BrokerageBaseAmount brokerageBaseAmount){
-        return this.page(page, new QueryWrapper<BrokerageBaseAmount>(brokerageBaseAmount));
+    public Page<BaseAmountVO> selectPage(Page page, BrokerageBaseAmount brokerageBaseAmount){
+        Page<BaseAmountVO> xPage = brokerageBaseAmountMapper.xPage(page,brokerageBaseAmount);
+        return xPage;
     }
 
 
@@ -46,7 +56,7 @@ public class BrokerageBaseAmountServiceImpl extends ServiceImpl<BrokerageBaseAmo
 
     @Override
     public Boolean update(BrokerageBaseAmount brokerageBaseAmount){
-        boolean b = this.updateById(brokerageBaseAmount);
+        boolean b = this.saveOrUpdate(brokerageBaseAmount);
         this.cacheBaseAmount();
         return b;
     }
@@ -58,7 +68,7 @@ public class BrokerageBaseAmountServiceImpl extends ServiceImpl<BrokerageBaseAmo
     }
 
     public void cacheBaseAmount(){
-        List<BrokerageBaseAmount> list = this.list();
+        List<BrokerageBaseAmount> list = this.list(new LambdaQueryWrapper<BrokerageBaseAmount>().isNotNull(BrokerageBaseAmount::getBaseAmount));
         list.stream().forEach(x->{
             baseAmountsCache.put(x.getUserId(),x.getBaseAmount());
         });

+ 13 - 4
service/src/main/java/com/dayou/service/impl/BrokerageMarketerRatioServiceImpl.java

@@ -2,9 +2,11 @@ package com.dayou.service.impl;
 
 import com.dayou.common.BaseEntity;
 import com.dayou.entity.BrokerageMarketerRatio;
+import com.dayou.exception.ErrorCode;
 import com.dayou.mapper.BrokerageMarketerRatioMapper;
 import com.dayou.service.IBrokerageMarketerRatioService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dayou.vo.MarketerRatioVO;
 import com.google.common.cache.LoadingCache;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -14,6 +16,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 
 import java.math.BigDecimal;
 import java.util.List;
+import java.util.regex.Pattern;
+
+import static com.dayou.common.Constants.MATH_REGULAR;
 
 /**
  * <p>
@@ -29,10 +34,14 @@ public class BrokerageMarketerRatioServiceImpl extends ServiceImpl<BrokerageMark
     @Autowired
     private LoadingCache<String,BigDecimal> marketerRatioCache;
 
+    @Autowired
+    private BrokerageMarketerRatioMapper brokerageMarketerRatioMapper;
+
     @Override
     @SuppressWarnings("unchecked")
-    public Page<BrokerageMarketerRatio> selectPage(Page page,BrokerageMarketerRatio brokerageMarketerRatio){
-        return this.page(page, new QueryWrapper<BrokerageMarketerRatio>(brokerageMarketerRatio));
+    public Page<MarketerRatioVO> selectPage(Page page, BrokerageMarketerRatio brokerageMarketerRatio){
+        Page<MarketerRatioVO> xPage = brokerageMarketerRatioMapper.xPage(page,brokerageMarketerRatio);
+        return xPage;
     }
 
 
@@ -48,7 +57,7 @@ public class BrokerageMarketerRatioServiceImpl extends ServiceImpl<BrokerageMark
 
     @Override
     public Boolean update(BrokerageMarketerRatio brokerageMarketerRatio){
-        boolean b = this.updateById(brokerageMarketerRatio);
+        boolean b = this.saveOrUpdate(brokerageMarketerRatio);
         this.cacheMarketerRatio();
         return b;
     }
@@ -62,7 +71,7 @@ public class BrokerageMarketerRatioServiceImpl extends ServiceImpl<BrokerageMark
     @Override
     public void cacheMarketerRatio(){
         List<BrokerageMarketerRatio> list = this.list(new LambdaQueryWrapper<BrokerageMarketerRatio>()
-                .eq(BaseEntity::getDeleted, Boolean.FALSE));
+                .eq(BaseEntity::getDeleted, Boolean.FALSE).isNotNull(BrokerageMarketerRatio::getRatio));
         list.stream().forEach(x->{
             marketerRatioCache.put(x.mergeKey(),x.getRatio());
         });

+ 16 - 3
service/src/main/java/com/dayou/service/impl/BrokeragePostRatioServiceImpl.java

@@ -1,9 +1,12 @@
 package com.dayou.service.impl;
 
 import com.dayou.entity.BrokeragePostRatio;
+import com.dayou.exception.ErrorCode;
 import com.dayou.mapper.BrokeragePostRatioMapper;
 import com.dayou.service.IBrokeragePostRatioService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dayou.vo.PostRatioVO;
+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;
@@ -19,11 +22,17 @@ import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.web.multipart.MultipartFile;
+
+import java.math.BigDecimal;
 import java.util.List;
 import java.util.ArrayList;
+import java.util.regex.Pattern;
+
 import org.springframework.transaction.annotation.Transactional;
 import com.dayou.enums.BatchTaskTypeEnum;
 
+import static com.dayou.common.Constants.MATH_REGULAR;
+
 /**
  * <p>
  * 领导岗位抽成率 服务实现类
@@ -36,10 +45,14 @@ import com.dayou.enums.BatchTaskTypeEnum;
 public class BrokeragePostRatioServiceImpl extends ServiceImpl<BrokeragePostRatioMapper, BrokeragePostRatio> implements IBrokeragePostRatioService {
 
 
+    @Autowired
+    private BrokeragePostRatioMapper postRatioMapper;
+
     @Override
     @SuppressWarnings("unchecked")
-    public Page<BrokeragePostRatio> selectPage(Page page,BrokeragePostRatio brokeragePostRatio){
-        return this.page(page, new QueryWrapper<BrokeragePostRatio>(brokeragePostRatio));
+    public Page<PostRatioVO> selectPage(Page page, BrokeragePostRatio brokeragePostRatio){
+        Page<PostRatioVO> xPage = postRatioMapper.page(page,brokeragePostRatio);
+        return xPage;
     }
 
 
@@ -55,7 +68,7 @@ public class BrokeragePostRatioServiceImpl extends ServiceImpl<BrokeragePostRati
 
     @Override
     public Boolean update(BrokeragePostRatio brokeragePostRatio){
-        return  this.updateById(brokeragePostRatio);
+        return  this.saveOrUpdate(brokeragePostRatio);
     }
 
     @Override

+ 9 - 0
service/src/main/java/com/dayou/service/impl/GlobalConfigServiceImpl.java

@@ -5,6 +5,7 @@ import com.dayou.common.BaseEntity;
 import com.dayou.entity.GlobalConfig;
 import com.dayou.enums.CodeMsgEnumInterface;
 import com.dayou.enums.GlobalConfigEnum;
+import com.dayou.exception.ErrorCode;
 import com.dayou.mapper.GlobalConfigMapper;
 import com.dayou.service.IGlobalConfigService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -82,6 +83,14 @@ public class GlobalConfigServiceImpl extends ServiceImpl<GlobalConfigMapper, Glo
 
     @Override
     public Boolean update(GlobalConfig globalConfig){
+        if (globalConfig != null && globalConfig.getKey().equals(GlobalConfigEnum.FINANCE.getCode())){
+            Pattern pattern = Pattern.compile(MATH_REGULAR);
+            String value = globalConfig.getValue();
+            boolean isNumber = pattern.matcher(value).matches();
+            if (!isNumber){
+                ErrorCode.throwBusinessException(ErrorCode.CUSTOM_ERROR,"参数格式不正确,请配置正确参数类型。");
+            }
+        }
         boolean b = globalConfigMapper.updateBatchByKey(Lists.newArrayList(globalConfig));
         this.cacheBrokerageGlobalConfigData();
         return  b;

+ 7 - 4
service/src/main/java/com/dayou/service/impl/ItemStageServiceImpl.java

@@ -136,10 +136,13 @@ public class ItemStageServiceImpl extends ServiceImpl<ItemStageMapper, ItemStage
 
         iItemStageUserService.remove(new LambdaQueryWrapper<ItemStageUser>().eq(ItemStageUser::getStageId,itemStageVO.getId()));
         Set<ItemStageVO.ParticipatorWeight> participators = itemStageVO.getParticipators();
-        Set<ItemStageUser> itemStageUsers = participators.stream().map(x -> {
-            return ItemStageUser.builder().itemId(itemStageVO.getItemId()).stageId(itemStageVO.getId()).userId(x.getUserId()).weight(x.getWeight()).build();
-        }).collect(Collectors.toSet());
-        return iItemStageUserService.saveBatch(itemStageUsers);
+        if (CollectionUtils.isNotEmpty(participators)){
+            Set<ItemStageUser> itemStageUsers = participators.stream().map(x -> {
+                return ItemStageUser.builder().itemId(itemStageVO.getItemId()).stageId(itemStageVO.getId()).userId(x.getUserId()).weight(x.getWeight()).build();
+            }).collect(Collectors.toSet());
+            return iItemStageUserService.saveBatch(itemStageUsers);
+        }
+        return Boolean.TRUE;
     }
 
     @Override

+ 11 - 0
service/src/main/java/com/dayou/service/impl/ItemUserServiceImpl.java

@@ -1,9 +1,12 @@
 package com.dayou.service.impl;
 
 import com.dayou.entity.ItemUser;
+import com.dayou.entity.User;
 import com.dayou.mapper.ItemUserMapper;
 import com.dayou.service.IItemUserService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dayou.vo.ItemStageUserVO;
+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;
@@ -35,6 +38,8 @@ import com.dayou.enums.BatchTaskTypeEnum;
 @Service
 public class ItemUserServiceImpl extends ServiceImpl<ItemUserMapper, ItemUser> implements IItemUserService {
 
+    @Autowired
+    private ItemUserMapper itemUserMapper;
 
     @Override
     @SuppressWarnings("unchecked")
@@ -63,4 +68,10 @@ public class ItemUserServiceImpl extends ServiceImpl<ItemUserMapper, ItemUser> i
         //逻辑删除
         return this.removeById(id);
     }
+
+    @Override
+    public List<ItemStageUserVO> userList(ItemStageUserVO itemStageUserVO) {
+        List<ItemStageUserVO> list = itemUserMapper.userList(itemStageUserVO);
+        return list;
+    }
 }