瀏覽代碼

项目提成业务代码

wucl 2 年之前
父節點
當前提交
b81b89b637
共有 24 個文件被更改,包括 295 次插入49 次删除
  1. 2 0
      biz-base/src/main/java/com/dayou/controller/ItemBrokerageDetailController.java
  2. 2 0
      biz-base/src/main/java/com/dayou/controller/ItemBrokerageGeneralController.java
  3. 11 0
      biz-base/src/main/java/com/dayou/controller/ItemBrokerageSequenceController.java
  4. 2 2
      common/src/main/java/com/dayou/exception/ErrorCode.java
  5. 4 0
      dao/src/main/java/com/dayou/mapper/ItemBrokerageSequenceMapper.java
  6. 2 0
      dao/src/main/java/com/dayou/mapper/PaymentCollectionMapper.java
  7. 6 0
      dao/src/main/resources/mapper/ItemBrokerageDetailMapper.xml
  8. 6 0
      dao/src/main/resources/mapper/ItemBrokerageGeneralMapper.xml
  9. 23 0
      dao/src/main/resources/mapper/ItemBrokerageSequenceMapper.xml
  10. 4 0
      dao/src/main/resources/mapper/PaymentCollectionMapper.xml
  11. 3 0
      domain/src/main/java/com/dayou/vo/BrokerageDetailVO.java
  12. 3 0
      domain/src/main/java/com/dayou/vo/BrokerageGeneralVO.java
  13. 6 3
      domain/src/main/java/com/dayou/vo/BrokerageSequenceVO.java
  14. 7 0
      service/src/main/java/com/dayou/aspect/DataPermissionAop.java
  15. 21 3
      service/src/main/java/com/dayou/brokerage/BrokerageCalculateSupport.java
  16. 1 1
      service/src/main/java/com/dayou/brokerage/handler/LandNonMarketerBrokerageHandler.java
  17. 44 5
      service/src/main/java/com/dayou/brokerage/interceptor/BrokerageInterceptor.java
  18. 26 9
      service/src/main/java/com/dayou/brokerage/validator/BrokerageValidator.java
  19. 16 2
      service/src/main/java/com/dayou/service/IItemBrokerageGeneralService.java
  20. 1 0
      service/src/main/java/com/dayou/service/IItemBrokerageSequenceService.java
  21. 86 8
      service/src/main/java/com/dayou/service/impl/ItemBrokerageGeneralServiceImpl.java
  22. 14 5
      service/src/main/java/com/dayou/service/impl/ItemBrokerageSequenceServiceImpl.java
  23. 3 9
      service/src/main/java/com/dayou/service/impl/ItemEvaluateServiceImpl.java
  24. 2 2
      service/src/main/java/com/dayou/service/impl/PaymentCollectionServiceImpl.java

+ 2 - 0
biz-base/src/main/java/com/dayou/controller/ItemBrokerageDetailController.java

@@ -1,5 +1,6 @@
 package com.dayou.controller;
 
+import com.dayou.annotation.DataPermission;
 import com.dayou.vo.BrokerageDetailVO;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import lombok.extern.slf4j.Slf4j;
@@ -37,6 +38,7 @@ public class ItemBrokerageDetailController extends BaseController {
     /**
     * 项目提成明细列表
     */
+    @DataPermission
     @GetMapping("")
     public RestResponse<Page<BrokerageDetailVO>> page(BrokerageDetailVO itemBrokerageDetailVO, Page page){
         Page<BrokerageDetailVO> pages=itemBrokerageDetailService.selectPage(page,itemBrokerageDetailVO);

+ 2 - 0
biz-base/src/main/java/com/dayou/controller/ItemBrokerageGeneralController.java

@@ -1,5 +1,6 @@
 package com.dayou.controller;
 
+import com.dayou.annotation.DataPermission;
 import com.dayou.vo.BrokerageGeneralVO;
 import org.apache.ibatis.annotations.Param;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
@@ -38,6 +39,7 @@ public class ItemBrokerageGeneralController extends BaseController {
     /**
     * 项目提成总表列表
     */
+    @DataPermission
     @GetMapping("")
     public RestResponse<Page<BrokerageGeneralVO>> page(BrokerageGeneralVO brokerageGeneralVO, Page page){
         Page<BrokerageGeneralVO> pages=itemBrokerageGeneralService.selectPage(page,brokerageGeneralVO);

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

@@ -1,5 +1,6 @@
 package com.dayou.controller;
 
+import com.dayou.annotation.DataPermission;
 import com.dayou.vo.BrokerageSequenceVO;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import lombok.extern.slf4j.Slf4j;
@@ -37,6 +38,7 @@ public class ItemBrokerageSequenceController extends BaseController {
     /**
     * 项目提成流水列表
     */
+    @DataPermission(postChild = false)
     @GetMapping("")
     public RestResponse<Page<BrokerageSequenceVO>> page(BrokerageSequenceVO brokerageSequenceVO, Page page){
         Page<BrokerageSequenceVO> pages=itemBrokerageSequenceService.selectPage(page,brokerageSequenceVO);
@@ -44,6 +46,15 @@ public class ItemBrokerageSequenceController extends BaseController {
     }
 
     /**
+     * 项目提成结算抵扣
+     */
+    @DataPermission(postChild = false)
+    @GetMapping("/deduction")
+    public RestResponse<List<BrokerageSequenceVO>> deduction(BrokerageSequenceVO brokerageSequenceVO){
+        List<BrokerageSequenceVO> list = itemBrokerageSequenceService.deduction(brokerageSequenceVO);
+        return RestResponse.data(list);
+    }
+    /**
      * 项目提成流水详情
      */
     @GetMapping("/{id}")

+ 2 - 2
common/src/main/java/com/dayou/exception/ErrorCode.java

@@ -37,9 +37,9 @@ public class ErrorCode {
 
     public static final ErrorCode FILE_EXT_ERROR = ErrorCode("10016", "不支持此文件扩展名");
 
-    public static final ErrorCode BROKERAGE_ITEM_STATE_ERROR = ErrorCode("10017", "项目已被结算或冻结,无法计算提成");
+    public static final ErrorCode BROKERAGE_ITEM_STATE_ERROR = ErrorCode("10017", "项目已被结算,无法再次计算提成");
 
-    public static final ErrorCode BROKERAGE_ITEM_STATE_ERROR1 = ErrorCode("10018", "项目未开始,无法计算提成");
+    public static final ErrorCode BROKERAGE_ITEM_STATE_ERROR1 = ErrorCode("10018", "抱歉,项目已被结算不支持修改项目信息.");
 
     public static final ErrorCode BROKERAGE_ITEM_STATE_ERROR2 = ErrorCode("10019", "客户经理未达到回款目标,无法计算提成");
 

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

@@ -6,6 +6,8 @@ import com.dayou.dao.CustomBaseMapper;
 import com.dayou.vo.BrokerageSequenceVO;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * <p>
  * 项目提成流水 Mapper 接口
@@ -17,4 +19,6 @@ import org.apache.ibatis.annotations.Param;
 public interface ItemBrokerageSequenceMapper extends CustomBaseMapper<ItemBrokerageSequence> {
 
     Page<BrokerageSequenceVO> getPage(Page page, @Param("vo") BrokerageSequenceVO vo);
+
+    List<BrokerageSequenceVO> deduction( @Param("vo") BrokerageSequenceVO brokerageSequenceVO);
 }

+ 2 - 0
dao/src/main/java/com/dayou/mapper/PaymentCollectionMapper.java

@@ -21,4 +21,6 @@ public interface PaymentCollectionMapper extends CustomBaseMapper<PaymentCollect
     IPage<ItemPaymentVO> getItemPayment(Page page,@Param("dto") PaymentCollectionVO paymentCollectionVO);
 
     Page<PaymentCollectionVO> page(Page page, @Param("dto") PaymentCollectionVO paymentCollection);
+
+    PaymentCollection getDeleted(@Param("id") Long id);
 }

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

@@ -57,6 +57,12 @@
     <if test="vo!=null and vo.brokerageMode!=null and vo.brokerageMode!='' ">
         and ibd.brokerage_mode =  #{vo.brokerageMode}
     </if>
+        <if test="vo!=null and vo.userIds!=null and vo.userIds.size!=0">
+            and  ibd.user_id in
+            <foreach collection="vo.userIds" open="(" close=")" separator="," item="userId">
+                #{userId}
+            </foreach>
+        </if>
         order by ibd.id DESC
     </select>
 </mapper>

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

@@ -84,6 +84,12 @@
         <if test="itemBrokerageGeneral!=null and itemBrokerageGeneral.marketerStatus!=null and itemBrokerageGeneral.marketerStatus!='' ">
             and ibg.marketer_status=#{itemBrokerageGeneral.marketerStatus}
         </if>
+        <if test="itemBrokerageGeneral!=null and itemBrokerageGeneral.userIds!=null and itemBrokerageGeneral.userIds.size!=0">
+            and  i.user_id in
+            <foreach collection="itemBrokerageGeneral.userIds" open="(" close=")" separator="," item="userId">
+                #{userId}
+            </foreach>
+        </if>
         ORDER BY
             ibg.id DESC
     </select>

+ 23 - 0
dao/src/main/resources/mapper/ItemBrokerageSequenceMapper.xml

@@ -35,6 +35,12 @@
         <if test="vo!=null and vo.cate!=null and vo.cate!='' ">
             and ibs.cate =#{vo.cate}
         </if>
+        <if test="vo!=null and vo.userIds!=null and vo.userIds.size!=0">
+            and  ibs.user_id in
+            <foreach collection="vo.userIds" open="(" close=")" separator="," item="userId">
+                #{userId}
+            </foreach>
+        </if>
         order by ibs.id DESC
     </select>
 
@@ -60,4 +66,21 @@
             and ibsd.sequence_id = #{id}
     </select>
 
+    <select id="deduction" parameterType="com.dayou.vo.BrokerageSequenceVO" resultType="com.dayou.vo.BrokerageSequenceVO">
+        select ibs.*,u.name as userName from item_brokerage_sequence ibs left join user u on u.id = ibs.user_id
+        where u.deleted = 0 and ibs.deleted = 0
+        <if test="vo!=null and vo.userName!=null and vo.userName!='' ">
+            and u.name like concat ('%',#{vo.userName},'%')
+        </if>
+        <if test="vo!=null and vo.cate!=null and vo.cate!='' ">
+            and ibs.cate =#{vo.cate}
+        </if>
+        <if test="vo!=null and vo.userIds!=null and vo.userIds.size!=0">
+            and  ibs.user_id in
+            <foreach collection="vo.userIds" open="(" close=")" separator="," item="userId">
+                #{userId}
+            </foreach>
+        </if>
+        order by ibs.id DESC
+    </select>
 </mapper>

+ 4 - 0
dao/src/main/resources/mapper/PaymentCollectionMapper.xml

@@ -79,4 +79,8 @@
         </if>
 order by i.id DESC
     </select>
+
+    <select id="getDeleted" parameterType="java.lang.Long" resultType="com.dayou.entity.PaymentCollection">
+        select * from payment_collection where id = #{id} and deleted = 1
+    </select>
 </mapper>

+ 3 - 0
domain/src/main/java/com/dayou/vo/BrokerageDetailVO.java

@@ -4,6 +4,7 @@ import com.dayou.entity.ItemBrokerageDetail;
 import lombok.Data;
 
 import java.math.BigDecimal;
+import java.util.Set;
 
 /**
  * 类说明:
@@ -26,4 +27,6 @@ public class BrokerageDetailVO extends ItemBrokerageDetail {
 
     private String stageName;
 
+    private Set<Long> userIds;
+
 }

+ 3 - 0
domain/src/main/java/com/dayou/vo/BrokerageGeneralVO.java

@@ -5,6 +5,7 @@ import lombok.Data;
 
 
 import java.math.BigDecimal;
+import java.util.Set;
 
 /**
  * 类说明:
@@ -123,4 +124,6 @@ public class BrokerageGeneralVO {
      */
     private String participantStatus;
 
+    private Set<Long> userIds;
+
 }

+ 6 - 3
domain/src/main/java/com/dayou/vo/BrokerageSequenceVO.java

@@ -1,13 +1,11 @@
 package com.dayou.vo;
 
-import com.dayou.annotation.ExportCell;
-import com.dayou.annotation.ImportCell;
-import com.dayou.entity.ItemBrokerageSequence;
 import lombok.Data;
 
 import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
+import java.util.Set;
 
 /**
  * 类说明:
@@ -78,5 +76,10 @@ public class BrokerageSequenceVO  {
      */
     private Boolean deleted;
 
+    /**
+     * 所属员工查询条件
+     */
+    private Set<Long> userIds;
+
 
 }

+ 7 - 0
service/src/main/java/com/dayou/aspect/DataPermissionAop.java

@@ -86,6 +86,13 @@ public class DataPermissionAop {
             Field userIds = arg.getClass().getDeclaredField("userIds");
             userIds.setAccessible(Boolean.TRUE);
             userIds.set(arg,users);
+        }else {
+            Long userId = LoginContext.getUserId();
+            Set<Long> users = new HashSet<>();
+            users.add(userId);
+            Field userIds = arg.getClass().getDeclaredField("userIds");
+            userIds.setAccessible(Boolean.TRUE);
+            userIds.set(arg,users);
         }
 
         return joinPoint.proceed();

+ 21 - 3
service/src/main/java/com/dayou/brokerage/BrokerageCalculateSupport.java

@@ -65,17 +65,35 @@ public class BrokerageCalculateSupport implements BrokerageCalculateFactory,Brok
         brokerageValidator.checkItemBrokerageStatus(brokerageDetailBo);
     }
 
+
+    /**
+     * 校验项目提成状态 (参与人实际提成预算)
+     * @param brokerageStatus
+     * @return
+     */
+    public void checkItemBrokerageStatusOnParticipantPredict(String brokerageStatus){
+        brokerageValidator.checkItemBrokerageStatusOnParticipantPredict(brokerageStatus);
+    }
+
+    /**
+     * 校验项目提成状态 (市场人员实际提成预算)
+     * @param brokerageStatus
+     * @return
+     */
+    public void checkItemBrokerageStatusOnMarketerPredict(String brokerageStatus){
+        brokerageValidator.checkItemBrokerageStatusOnMarketerPredict(brokerageStatus);
+    }
     /**
-     * 校验项目提成状态 (参与人实际提成)
+     * 校验项目提成状态 (参与人实际提成结算)
      * @param brokerageStatus
      * @return
      */
-    protected void checkItemBrokerageStatusOnParticipantSettle(String brokerageStatus){
+    public void checkItemBrokerageStatusOnParticipantSettle(String brokerageStatus){
         brokerageValidator.checkItemBrokerageStatusOnParticipantSettle(brokerageStatus);
     }
 
     /**
-     * 校验项目提成状态 (客户经理实际提成)
+     * 校验项目提成状态 (客户经理实际提成结算)
      * @param brokerageStatus
      * @return
      */

+ 1 - 1
service/src/main/java/com/dayou/brokerage/handler/LandNonMarketerBrokerageHandler.java

@@ -84,7 +84,7 @@ public class LandNonMarketerBrokerageHandler extends BrokerageCalculateSupport i
     }
     @Override
     public List<ItemBrokerageDetail> actualAmount(ParticipantSettleDTO participantSettleDTO) {
-        checkItemBrokerageStatusOnParticipantSettle(participantSettleDTO.getBrokerageState());
+        checkItemBrokerageStatusOnParticipantPredict(participantSettleDTO.getBrokerageState());
         List<ItemBrokerageDetail> participantBrokerageDetails = brokerageDetailService.list(new LambdaQueryWrapper<ItemBrokerageDetail>().eq(ItemBrokerageDetail::getGeneralId, participantSettleDTO.getGeneralId())
                 .eq(BaseEntity::getDeleted, Boolean.FALSE).eq(ItemBrokerageDetail::getBrokerageRule, BrokerageRule.LAND_OTHER_RULE.getCode()));
         Map<Long, List<ItemBrokerageDetail>> brokerageByStage = participantBrokerageDetails.stream().collect(Collectors.groupingBy(ItemBrokerageDetail::getBrokerageStageId));

+ 44 - 5
service/src/main/java/com/dayou/brokerage/interceptor/BrokerageInterceptor.java

@@ -38,8 +38,39 @@ public class BrokerageInterceptor implements MethodInterceptor {
     public Object invoke(MethodInvocation methodInvocation) throws Throwable {
         Method method = methodInvocation.getMethod();
         DoBrokerage doBrokerageAnnotation = method.getAnnotation(DoBrokerage.class);
-        Object result = methodInvocation.proceed();
 
+        if (doBrokerageAnnotation!=null && doBrokerageAnnotation.rule() == LAND_OTHER_RULE &&doBrokerageAnnotation.operation() == SETTLE){
+            ItemEvaluate evaluate = (ItemEvaluate) methodInvocation.getArguments()[0];
+            iItemBrokerageGeneralService.beforeToSettleParticipatorBrokerage(evaluate.getItemId());
+        }
+        if (doBrokerageAnnotation!=null && doBrokerageAnnotation.rule() == LAND_MARKETER_RULE && doBrokerageAnnotation.operation() == SETTLE){
+            Object argument = methodInvocation.getArguments()[0];
+            if (argument instanceof Long){
+                Long paymentId = (Long) argument;
+                iItemBrokerageGeneralService.beforeToSettleMarketerBrokerage(paymentId);
+            }else if (argument instanceof PaymentCollection){
+                PaymentCollection payment = (PaymentCollection) argument;
+                iItemBrokerageGeneralService.beforeToSettleMarketerBrokerage(payment);
+            }
+
+        }
+        if (doBrokerageAnnotation!=null && doBrokerageAnnotation.rule() == LAND_MARKETER_RULE && doBrokerageAnnotation.operation() == EDIT){
+            ItemDTO itemDTO = (ItemDTO) methodInvocation.getArguments()[0];
+            iItemBrokerageGeneralService.beforeEditMarketerBrokerage(itemDTO);
+        }
+        if (doBrokerageAnnotation!=null && doBrokerageAnnotation.rule() == LAND_OTHER_RULE && doBrokerageAnnotation.operation() == ADD){
+            ItemStageVO itemStageVO = (ItemStageVO) methodInvocation.getArguments()[0];
+            iItemBrokerageGeneralService.beforeAddParticipatorBrokerage(itemStageVO );
+        }
+        if (doBrokerageAnnotation!=null && doBrokerageAnnotation.rule() == LAND_OTHER_RULE && doBrokerageAnnotation.operation() == EDIT){
+            ItemStageVO itemStageVO = (ItemStageVO) methodInvocation.getArguments()[0];
+            iItemBrokerageGeneralService.beforeAddParticipatorBrokerage(itemStageVO);
+        }
+        if (doBrokerageAnnotation!=null && doBrokerageAnnotation.rule() == LAND_OTHER_RULE && doBrokerageAnnotation.operation() == DELETE){
+            Long itemStageId = (Long) methodInvocation.getArguments()[0];
+            iItemBrokerageGeneralService.beforeRemoveParticipatorBrokerage(itemStageId);
+        }
+        Object result = methodInvocation.proceed();
         if (doBrokerageAnnotation!=null && doBrokerageAnnotation.rule() == LAND_MARKETER_RULE && doBrokerageAnnotation.operation() == ADD){
             if (result instanceof Long){
                 iItemBrokerageGeneralService.addMarketerBrokerage((Long) result);
@@ -80,15 +111,23 @@ public class BrokerageInterceptor implements MethodInterceptor {
         if (doBrokerageAnnotation!=null && doBrokerageAnnotation.rule() == LAND_OTHER_RULE &&doBrokerageAnnotation.operation() == SETTLE){
             if (result instanceof Boolean && (Boolean) result){
                 ItemEvaluate evaluate = (ItemEvaluate) methodInvocation.getArguments()[0];
-                iItemBrokerageGeneralService.settleParticipatorBrokerage(evaluate.getItemId());
+                iItemBrokerageGeneralService.toSettleParticipatorBrokerage(evaluate.getItemId());
                 log.info("settle non-marketer detail,itemId[{}]", evaluate.getItemId());
             }
         }
         if (doBrokerageAnnotation!=null && doBrokerageAnnotation.rule() == LAND_MARKETER_RULE && doBrokerageAnnotation.operation() == SETTLE){
             if (result instanceof Boolean && (Boolean) result){
-                PaymentCollection payment = (PaymentCollection) methodInvocation.getArguments()[0];
-                iItemBrokerageGeneralService.settleMarketerBrokerage(payment);
-                log.info("try settle marketer detail,itemId[{}]", payment.getItemId());
+                Object argument = methodInvocation.getArguments()[0];
+                if (argument instanceof PaymentCollection){
+                    PaymentCollection payment = (PaymentCollection) argument;
+                    iItemBrokerageGeneralService.toSettleMarketerBrokerage(payment);
+                    log.info("try settle marketer detail,itemId[{}]", payment.getItemId());
+                }
+                if (argument instanceof Long){
+                    Long paymentId = (Long) argument;
+                    iItemBrokerageGeneralService.toSettleMarketerBrokerage(paymentId);
+                    log.info("try settle marketer detail,itemId[{}]", paymentId);
+                }
             }
         }
         return result;

+ 26 - 9
service/src/main/java/com/dayou/brokerage/validator/BrokerageValidator.java

@@ -42,27 +42,44 @@ public class BrokerageValidator {
     //校验项目提成状态
     public void checkItemBrokerageStatus(BrokerageDetailBO brokerageDetailBo){
         if (StrUtil.equals(BrokerageRule.LAND_MARKETER_RULE.getCode(),brokerageDetailBo.getBrokerageRule())){
-            if (StrUtil.equals(BrokerageState.CLOSED.getCode(),brokerageDetailBo.getMarketerStatus()) ||
-                    StrUtil.equals(BrokerageState.FREEZE.getCode(),brokerageDetailBo.getMarketerStatus())){
-                                    ErrorCode.throwBusinessException(ErrorCode.BROKERAGE_ITEM_STATE_ERROR);
+            if (StrUtil.equals(BrokerageState.CLOSED.getCode(),brokerageDetailBo.getMarketerStatus())){
+                                    ErrorCode.throwBusinessException(ErrorCode.BROKERAGE_ITEM_STATE_ERROR1);
             }
         }
 
         if (StrUtil.equals(BrokerageRule.LAND_OTHER_RULE.getCode(),brokerageDetailBo.getBrokerageRule())){
-                if (StrUtil.equals(BrokerageState.NOT_START.getCode(),brokerageDetailBo.getParticipantStatus()) ||
-                    StrUtil.equals(BrokerageState.CLOSED.getCode(),brokerageDetailBo.getParticipantStatus()) ||
-                        StrUtil.equals(BrokerageState.FREEZE.getCode(),brokerageDetailBo.getParticipantStatus())){
-                            ErrorCode.throwBusinessException(ErrorCode.BROKERAGE_ITEM_STATE_ERROR);
+                if (StrUtil.equals(BrokerageState.CLOSED.getCode(),brokerageDetailBo.getParticipantStatus())){
+                            ErrorCode.throwBusinessException(ErrorCode.BROKERAGE_ITEM_STATE_ERROR1);
                 }
         }
     }
 
     /**
+     * 项目状态验证(预算非市场人员)
+     * @param participantStatus
+     */
+    public void checkItemBrokerageStatusOnParticipantPredict(String participantStatus){
+        if (StrUtil.equals(BrokerageState.CLOSED.getCode(),participantStatus)){
+            ErrorCode.throwBusinessException(ErrorCode.BROKERAGE_ITEM_STATE_ERROR1);
+        }
+    }
+
+    /**
+     * 项目状态验证(预算市场人员)
+     * @param brokerageStatus
+     */
+    public void checkItemBrokerageStatusOnMarketerPredict(String brokerageStatus){
+        if (StrUtil.equals(BrokerageState.CLOSED.getCode(),brokerageStatus)){
+            ErrorCode.throwBusinessException(ErrorCode.BROKERAGE_ITEM_STATE_ERROR1);
+        }
+    }
+
+    /**
      * 项目状态验证(结算非市场人员)
      * @param participantStatus
      */
     public void checkItemBrokerageStatusOnParticipantSettle(String participantStatus){
-        if (!StrUtil.equals(BrokerageState.NOT_SETTLE.getCode(),participantStatus) ){
+        if (!StrUtil.equals(BrokerageState.NOT_SETTLE.getCode(),participantStatus)){
             ErrorCode.throwBusinessException(ErrorCode.BROKERAGE_ITEM_STATE_ERROR);
         }
     }
@@ -72,7 +89,7 @@ public class BrokerageValidator {
      * @param brokerageStatus
      */
     public void checkItemBrokerageStatusOnMarketerSettle(String brokerageStatus){
-        if (!StrUtil.equals(BrokerageState.NOT_SETTLE.getCode(),brokerageStatus) && !StrUtil.equals(BrokerageState.TO_PREDICTING.getCode(),brokerageStatus)){
+        if (!StrUtil.equals(BrokerageState.NOT_SETTLE.getCode(),brokerageStatus)){
             ErrorCode.throwBusinessException(ErrorCode.BROKERAGE_ITEM_STATE_ERROR);
         }
     }

+ 16 - 2
service/src/main/java/com/dayou/service/IItemBrokerageGeneralService.java

@@ -47,11 +47,25 @@ public interface IItemBrokerageGeneralService extends IService<ItemBrokerageGene
 
     void removeParticipatorBrokerage(Long itemStageId);
 
-    void settleParticipatorBrokerage(Long itemId);
+    void toSettleParticipatorBrokerage(Long itemId);
 
-    void settleMarketerBrokerage(PaymentCollection payment);
+    void toSettleMarketerBrokerage(PaymentCollection payment);
 
     List<ItemBrokerageGeneral> computedAbleList();
 
     Boolean updateMarketerStatus(Long id, Boolean marketerStatus);
+
+    void beforeToSettleParticipatorBrokerage(Long itemId);
+
+    void beforeToSettleMarketerBrokerage(PaymentCollection payment);
+
+    void beforeEditMarketerBrokerage(ItemDTO itemDTO);
+
+    void beforeAddParticipatorBrokerage(ItemStageVO itemStageVO);
+
+    void beforeRemoveParticipatorBrokerage(Long itemStageId);
+
+    void beforeToSettleMarketerBrokerage(Long paymentId);
+
+    void toSettleMarketerBrokerage(Long paymentId);
 }

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

@@ -34,4 +34,5 @@ public interface IItemBrokerageSequenceService extends IService<ItemBrokerageSeq
 
         Boolean doAbleItemBrokerageSettle();
 
+        List<BrokerageSequenceVO> deduction(BrokerageSequenceVO brokerageSequenceVO);
 }

+ 86 - 8
service/src/main/java/com/dayou/service/impl/ItemBrokerageGeneralServiceImpl.java

@@ -10,6 +10,7 @@ import com.dayou.brokerage.NonMarketerMarketerBrokerageCalculator;
 import com.dayou.brokerage.constants.BrokerageMode;
 import com.dayou.brokerage.constants.BrokerageRule;
 import com.dayou.brokerage.constants.BrokerageState;
+import com.dayou.brokerage.validator.BrokerageValidator;
 import com.dayou.common.BaseEntity;
 import com.dayou.dto.ItemDTO;
 import com.dayou.dto.ParticipantSettleDTO;
@@ -79,6 +80,7 @@ public class ItemBrokerageGeneralServiceImpl extends ServiceImpl<ItemBrokerageGe
     @Autowired
     private ItemBrokerageGeneralMapper brokerageGeneralMapper;
 
+
     @Override
     @SuppressWarnings("unchecked")
     public Page<BrokerageGeneralVO> selectPage(Page page, BrokerageGeneralVO itemBrokerageGeneral){
@@ -164,7 +166,8 @@ public class ItemBrokerageGeneralServiceImpl extends ServiceImpl<ItemBrokerageGe
     @Override
     public void editMarketerBrokerage(ItemDTO itemDTO) {
         ItemBrokerageGeneral general = this.getOne(new LambdaQueryWrapper<ItemBrokerageGeneral>().eq(ItemBrokerageGeneral::getItemId, itemDTO.getId()).eq(BaseEntity::getDeleted,Boolean.FALSE));
-        ItemBrokerageDetail marketerDetail = iItemBrokerageDetailService.getOne(new LambdaQueryWrapper<ItemBrokerageDetail>().eq(ItemBrokerageDetail::getGeneralId, general.getId()).eq(BaseEntity::getDeleted, Boolean.FALSE).eq(ItemBrokerageDetail::getBrokerageMode,BrokerageMode.PERSONAL.getCode()));
+        ItemBrokerageDetail marketerDetail = iItemBrokerageDetailService.getOne(new LambdaQueryWrapper<ItemBrokerageDetail>().eq(ItemBrokerageDetail::getGeneralId, general.getId())
+                .eq(BaseEntity::getDeleted, Boolean.FALSE).eq(ItemBrokerageDetail::getBrokerageMode,BrokerageMode.PERSONAL.getCode()).eq(ItemBrokerageDetail::getBrokerageRule,BrokerageRule.LAND_MARKETER_RULE.getCode()));
         if (general == null || marketerDetail == null){
             addMarketerBrokerage(itemDTO.getId());
             log.info("更新项目信息时创建了相关的提成记录");
@@ -180,6 +183,7 @@ public class ItemBrokerageGeneralServiceImpl extends ServiceImpl<ItemBrokerageGe
         brokerageDetailBO.setUserId(marketerDetail.getUserId());
         brokerageDetailBO.setId(marketerDetail.getId());
         brokerageDetailBO.setGeneralId(general.getId());
+        brokerageDetailBO.setMarketerStatus(general.getMarketerStatus());
         brokerageDetailBO = calculator.predictPersonalAmount(brokerageDetailBO);
         iItemBrokerageDetailService.update(brokerageDetailBO);
 
@@ -234,6 +238,7 @@ public class ItemBrokerageGeneralServiceImpl extends ServiceImpl<ItemBrokerageGe
                 brokerageDetailBO.setBrokerageStageId(brokerageStageId);
                 brokerageDetailBO.setStageWeight(itemStageVO.getWeight());
                 brokerageDetailBO.setParticipantWeight(x.getWeight());
+                brokerageDetailBO.setParticipantStatus(general.getParticipantStatus());
                 ItemBrokerageDetail itemBrokerageDetail = calculator.predictAmount(brokerageDetailBO);
                 return itemBrokerageDetail;
             }).collect(Collectors.toSet());
@@ -257,9 +262,21 @@ public class ItemBrokerageGeneralServiceImpl extends ServiceImpl<ItemBrokerageGe
 
     }
 
+    @Transactional
     @Override
     public void editParticipatorBrokerage(ItemStageVO itemStageVO) {
+        //从总表中 删除阶段中的预计提成和实际提成金额 更新总表
+        List<ItemBrokerageDetail> list = iItemBrokerageDetailService.list(new LambdaQueryWrapper<ItemBrokerageDetail>().eq(ItemBrokerageDetail::getBrokerageStageId, itemStageVO.getId()));
+        BigDecimal predictAmounts = list.stream().map(ItemBrokerageDetail::getPredictAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
+        BigDecimal actualAmounts = list.stream().map(ItemBrokerageDetail::getActualAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
+        ItemBrokerageGeneral general = this.getOne(new LambdaQueryWrapper<ItemBrokerageGeneral>().eq(ItemBrokerageGeneral::getItemId, itemStageVO.getItemId()));
+        general.setParticipantPredictBrokerageAmount(general.getParticipantPredictBrokerageAmount().subtract(predictAmounts));
+        general.setParticipantActualBrokerageAmount(general.getParticipantActualBrokerageAmount().subtract(actualAmounts));
+        general.setBrokeragePredictAmount(general.getBrokeragePredictAmount().subtract(predictAmounts));
         iItemBrokerageDetailService.remove(new LambdaQueryWrapper<ItemBrokerageDetail>().eq(ItemBrokerageDetail::getBrokerageStageId,itemStageVO.getId()));
+        this.updateById(general);
+        //如果项目已经被评价 需重新评价
+        itemEvaluateMapper.delete(new LambdaQueryWrapper<ItemEvaluate>().eq(ItemEvaluate::getItemId,itemStageVO.getItemId()));
         addParticipatorBrokerage(itemStageVO,itemStageVO.getId());
     }
 
@@ -276,16 +293,19 @@ public class ItemBrokerageGeneralServiceImpl extends ServiceImpl<ItemBrokerageGe
             return ;
         }
         ItemBrokerageGeneral general = this.getById(generalId);
+        brokerageCalculateSupport.checkItemBrokerageStatusOnParticipantPredict(general.getParticipantStatus());
         BigDecimal participatorPredictTotalAmount = list.stream().map(ItemBrokerageDetail::getPredictAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
+        BigDecimal actualAmounts = list.stream().map(ItemBrokerageDetail::getActualAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
         general.setParticipantPredictBrokerageAmount(general.getParticipantPredictBrokerageAmount().subtract(participatorPredictTotalAmount));
+        general.setParticipantActualBrokerageAmount(general.getParticipantActualBrokerageAmount().subtract(actualAmounts));
         general.setBrokeragePredictAmount(general.getBrokeragePredictAmount().subtract(participatorPredictTotalAmount));
-       this.updateById(general);
+        this.updateById(general);
         iItemBrokerageDetailService.remove(new LambdaQueryWrapper<ItemBrokerageDetail>().eq(ItemBrokerageDetail::getBrokerageStageId,itemStageId));
     }
 
     @Transactional
     @Override
-    public void settleParticipatorBrokerage(Long itemId) {
+    public void toSettleParticipatorBrokerage(Long itemId) {
         ItemBrokerageGeneral general = this.getOne(new LambdaQueryWrapper<ItemBrokerageGeneral>().eq(ItemBrokerageGeneral::getItemId, itemId).eq(BaseEntity::getDeleted, Boolean.FALSE));
         List<ItemStage> stages = itemStageMapper.selectList(new LambdaQueryWrapper<ItemStage>().eq(ItemStage::getItemId, itemId));
         ItemEvaluate settle = itemEvaluateMapper.selectOne(new LambdaQueryWrapper<ItemEvaluate>().eq(ItemEvaluate::getItemId, itemId).eq(BaseEntity::getDeleted, Boolean.FALSE));
@@ -298,8 +318,8 @@ public class ItemBrokerageGeneralServiceImpl extends ServiceImpl<ItemBrokerageGe
             BigDecimal participatorActualTotalAmount = itemBrokerageDetails.stream().map(ItemBrokerageDetail::getActualAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
             general.setParticipantActualBrokerageAmount(participatorActualTotalAmount);
             general.setParticipantAdvanceStatus(Boolean.FALSE);
-            general.setBrokerageActualAmount(participatorActualTotalAmount.add(general.getBrokerageActualAmount()));
-            general.setParticipantStatus(BrokerageState.CLOSED.getCode());
+//            general.setBrokerageActualAmount(participatorActualTotalAmount.add(general.getBrokerageActualAmount()));
+            general.setParticipantStatus(BrokerageState.NOT_SETTLE.getCode());
             this.updateById(general);
         }else {
             log.info(ErrorCode.BROKERAGE_SETTLE_FAILED.getErrorMsg()+"项目id:[{}]",itemId);
@@ -308,18 +328,19 @@ public class ItemBrokerageGeneralServiceImpl extends ServiceImpl<ItemBrokerageGe
     }
 
     @Override
-    public void settleMarketerBrokerage(PaymentCollection payment) {
+    public void toSettleMarketerBrokerage(PaymentCollection payment) {
         ItemBrokerageGeneral general = this.getOne(new LambdaQueryWrapper<ItemBrokerageGeneral>().eq(ItemBrokerageGeneral::getItemId, payment.getItemId()).eq(BaseEntity::getDeleted, Boolean.FALSE));
         Item item = itemMapper.selectById(payment.getItemId());
         List<PaymentCollection> paymentList = paymentCollectionMapper.selectList(new LambdaQueryWrapper<PaymentCollection>()
                 .eq(PaymentCollection::getItemId, payment.getItemId()).eq(BaseEntity::getDeleted, Boolean.FALSE));
         BigDecimal payDone = BigDecimal.valueOf(paymentList.stream().mapToDouble(PaymentCollection::getAmount).sum());
-        brokerageCalculateSupport.checkItemBrokerageStatusOnMarketerSettle(general.getMarketerStatus());
+        brokerageCalculateSupport.checkItemBrokerageStatusOnMarketerPredict(general.getMarketerStatus());
         if (item.getAmount()!=null && item.getAmount().compareTo(payDone)==0){
             general.setMarketerStatus(BrokerageState.NOT_SETTLE.getCode());
             this.updateById(general);
+        }else {
+            log.info("还有未回款项,暂不执行客户经理提成结算。");
         }
-        log.info("还有未回款项,暂不执行客户经理提成结算。");
     }
 
     /**
@@ -342,6 +363,63 @@ public class ItemBrokerageGeneralServiceImpl extends ServiceImpl<ItemBrokerageGe
         return update;
     }
 
+    @Override
+    public void beforeToSettleParticipatorBrokerage(Long itemId) {
+        ItemBrokerageGeneral general = this.getOne(new LambdaQueryWrapper<ItemBrokerageGeneral>().eq(ItemBrokerageGeneral::getItemId, itemId).eq(BaseEntity::getDeleted, Boolean.FALSE));
+        if (general!=null && general.getParticipantStatus().equals(BrokerageState.CLOSED.getCode())){
+            ErrorCode.throwBusinessException(ErrorCode.BROKERAGE_ITEM_STATE_ERROR1);
+        }
+    }
+
+    @Override
+    public void beforeToSettleMarketerBrokerage(PaymentCollection payment) {
+        ItemBrokerageGeneral general = this.getOne(new LambdaQueryWrapper<ItemBrokerageGeneral>().eq(ItemBrokerageGeneral::getItemId, payment.getItemId()).eq(BaseEntity::getDeleted, Boolean.FALSE));
+        if (general.getMarketerStatus().equals(BrokerageState.CLOSED.getCode())){
+            ErrorCode.throwBusinessException(ErrorCode.BROKERAGE_ITEM_STATE_ERROR1);
+        }
+    }
+
+    @Override
+    public void beforeEditMarketerBrokerage(ItemDTO itemDTO) {
+        ItemBrokerageGeneral general = this.getOne(new LambdaQueryWrapper<ItemBrokerageGeneral>().eq(ItemBrokerageGeneral::getItemId, itemDTO.getId()).eq(BaseEntity::getDeleted, Boolean.FALSE));
+        if (general.getMarketerStatus().equals(BrokerageState.CLOSED.getCode())){
+            ErrorCode.throwBusinessException(ErrorCode.BROKERAGE_ITEM_STATE_ERROR1);
+        }
+    }
+
+    @Override
+    public void beforeAddParticipatorBrokerage(ItemStageVO itemStageVO) {
+        ItemBrokerageGeneral general = this.getOne(new LambdaQueryWrapper<ItemBrokerageGeneral>().eq(ItemBrokerageGeneral::getItemId, itemStageVO.getItemId()).eq(BaseEntity::getDeleted, Boolean.FALSE));
+        if (general.getParticipantStatus().equals(BrokerageState.CLOSED.getCode())){
+            ErrorCode.throwBusinessException(ErrorCode.BROKERAGE_ITEM_STATE_ERROR1);
+        }
+    }
+
+    @Override
+    public void beforeRemoveParticipatorBrokerage(Long itemStageId) {
+        ItemStage itemStage = itemStageMapper.selectById(itemStageId);
+        ItemBrokerageGeneral general = this.getOne(new LambdaQueryWrapper<ItemBrokerageGeneral>().eq(ItemBrokerageGeneral::getItemId, itemStage.getItemId()).eq(BaseEntity::getDeleted, Boolean.FALSE));
+        if (general.getParticipantStatus().equals(BrokerageState.CLOSED.getCode())){
+            ErrorCode.throwBusinessException(ErrorCode.BROKERAGE_ITEM_STATE_ERROR1);
+        }
+    }
+
+    @Override
+    public void beforeToSettleMarketerBrokerage(Long paymentId) {
+        PaymentCollection payment = paymentCollectionMapper.selectById(paymentId);
+        beforeToSettleMarketerBrokerage(payment);
+    }
+
+    @Override
+    public void toSettleMarketerBrokerage(Long paymentId) {
+        PaymentCollection payment = paymentCollectionMapper.getDeleted(paymentId);
+        ItemBrokerageGeneral general = this.getOne(new LambdaQueryWrapper<ItemBrokerageGeneral>().eq(ItemBrokerageGeneral::getItemId, payment.getItemId()).eq(BaseEntity::getDeleted, Boolean.FALSE));
+        if (general.getMarketerStatus().equals(BrokerageState.NOT_SETTLE.getCode())){
+            general.setMarketerStatus(BrokerageState.NOT_PAYMENT.getCode());
+            this.updateById(general);
+        }
+    }
+
     /**
      * 获取客户经理年回款目标
      * @param userId

+ 14 - 5
service/src/main/java/com/dayou/service/impl/ItemBrokerageSequenceServiceImpl.java

@@ -131,7 +131,7 @@ public class ItemBrokerageSequenceServiceImpl extends ServiceImpl<ItemBrokerageS
                     ItemBrokerageGeneral general = idGeneral.get(x.getGeneralId());
                     if (general.getMarketerStatus().equals(BrokerageState.TO_PREDICTING.getCode())
                             && x.getBrokerageMode().equals(BrokerageMode.PERSONAL.getCode())
-                            && x.getBrokerageRule().equals(BrokerageRule.LAND_MARKETER_RULE.getCode())){
+                            && x.getBrokerageRule().equals(BrokerageRule.LAND_MARKETER_RULE.getCode())) {
                         ItemBrokerageSequenceDetail sequenceDetail = ItemBrokerageSequenceDetail.builder()
                                 .brokerageDetailId(x.getId()).userId(x.getUserId()).brokerageCate(BrokerageBusiness.AHEAD.getCode()).brokerageAmount(x.getAheadAmount()).generalId(x.getGeneralId()).build();
                         x.setAdvanceAmount(x.getAheadAmount());
@@ -140,21 +140,22 @@ public class ItemBrokerageSequenceServiceImpl extends ServiceImpl<ItemBrokerageS
                     }else if (general.getMarketerStatus().equals(BrokerageState.NOT_SETTLE.getCode()) && x.getBrokerageRule().equals(BrokerageRule.LAND_MARKETER_RULE.getCode())) {
                         //减去已预提金额
                         BigDecimal actualAmount = x.getActualAmount();
-                        if (general.getMarketerAdvanceBrokerageDone()){
+                        if (general.getMarketerAdvanceBrokerageDone()) {
                             actualAmount = x.getActualAmount().subtract(x.getAheadAmount());
                         }
                         ItemBrokerageSequenceDetail sequenceDetail = ItemBrokerageSequenceDetail.builder()
                                 .brokerageDetailId(x.getId()).userId(x.getUserId()).brokerageCate(BrokerageBusiness.SETTLE.getCode()).brokerageAmount(actualAmount).generalId(x.getGeneralId()).build();
-                        x.setAdvanceAmount(actualAmount);
+                        x.setAdvanceAmount(x.getActualAmount());
                         toUpdateItemBrokerageDetails.add(x);
                         return sequenceDetail;
-                    }else if (general.getParticipantStatus().equals(BrokerageState.NOT_SETTLE.getCode()) && x.getBrokerageRule().equals(BrokerageRule.LAND_OTHER_RULE.getCode())) {
+                    } else if (general.getParticipantStatus().equals(BrokerageState.NOT_SETTLE.getCode()) && x.getBrokerageRule().equals(BrokerageRule.LAND_OTHER_RULE.getCode())) {
                         ItemBrokerageSequenceDetail sequenceDetail = ItemBrokerageSequenceDetail.builder()
                                 .brokerageDetailId(x.getId()).userId(x.getUserId()).brokerageCate(BrokerageBusiness.SETTLE.getCode()).brokerageAmount(x.getActualAmount()).generalId(x.getGeneralId()).build();
                         x.setAdvanceAmount(x.getActualAmount());
                         toUpdateItemBrokerageDetails.add(x);
                         return sequenceDetail;
-                    }else {
+                    }
+                    else {
                         return null;
                     }
                 }).collect(Collectors.toSet());
@@ -187,6 +188,8 @@ public class ItemBrokerageSequenceServiceImpl extends ServiceImpl<ItemBrokerageS
                         //如果预提金额不为空,且已结算金额为空
                         if (general.getMarketerStatus().equals(BrokerageState.TO_PREDICTING.getCode()) && sequenceDetail.getBrokerageCate().equals(BrokerageBusiness.AHEAD.getCode())) {
                             gAheadTotal = gAheadTotal.add(sequenceDetail.getBrokerageAmount());
+                        }else if (general.getMarketerStatus().equals(BrokerageState.PREDICTED.getCode()) && sequenceDetail.getBrokerageCate().equals(BrokerageBusiness.SETTLE.getCode())){
+                            gAdvanceTotal = gAdvanceTotal.add(sequenceDetail.getBrokerageAmount());
                         }else if (general.getMarketerStatus().equals(BrokerageState.NOT_SETTLE.getCode()) && sequenceDetail.getBrokerageCate().equals(BrokerageBusiness.SETTLE.getCode())){
                             gAdvanceTotal = gAdvanceTotal.add(sequenceDetail.getBrokerageAmount());
                         }else if (general.getParticipantStatus().equals(BrokerageState.NOT_SETTLE.getCode()) && sequenceDetail.getBrokerageCate().equals(BrokerageBusiness.SETTLE.getCode())){
@@ -215,4 +218,10 @@ public class ItemBrokerageSequenceServiceImpl extends ServiceImpl<ItemBrokerageS
         log.info("当前暂无可结算的项目");
         return Boolean.FALSE;
     }
+
+    @Override
+    public List<BrokerageSequenceVO> deduction(BrokerageSequenceVO brokerageSequenceVO) {
+        List<BrokerageSequenceVO> list = brokerageSequenceMapper.deduction(brokerageSequenceVO);
+        return list;
+    }
 }

+ 3 - 9
service/src/main/java/com/dayou/service/impl/ItemEvaluateServiceImpl.java

@@ -71,26 +71,20 @@ public class ItemEvaluateServiceImpl extends ServiceImpl<ItemEvaluateMapper, Ite
     }
 
     @Transactional
-    //@DoBrokerage(operation = OperationTypeEnum.SETTLE,rule = BrokerageRule.LAND_OTHER_RULE ,business = BrokerageBusiness.ITEM_SETTLE)
+    @DoBrokerage(operation = OperationTypeEnum.SETTLE,rule = BrokerageRule.LAND_OTHER_RULE)
     @Override
     public Boolean add(ItemEvaluate itemEvaluate){
         String itemState = iItemService.getItemState(itemEvaluate.getItemId());
-        //List<ItemStage> stages = itemStageService.list(new LambdaQueryWrapper<ItemStage>().eq(ItemStage::getItemId, itemEvaluate.getItemId()).isNull(ItemStage::getOverdue));
         if (!ItemStateEnum.COMPLETED.getName().equals(itemState)){
             ErrorCode.throwBusinessException(ITEM_EVALUATE_ERROR);
         }
-        this.save(itemEvaluate);
-        boolean update = iItemBrokerageGeneralService.update(new LambdaUpdateWrapper<ItemBrokerageGeneral>()
-                .eq(ItemBrokerageGeneral::getItemId, itemEvaluate.getItemId()).eq(BaseEntity::getDeleted, Boolean.FALSE)
-                .set(ItemBrokerageGeneral::getParticipantStatus, BrokerageState.NOT_SETTLE.getCode()));
-        return  update;
+        return  this.save(itemEvaluate);
     }
 
-    //@DoBrokerage(operation = OperationTypeEnum.SETTLE,rule = BrokerageRule.LAND_OTHER_RULE ,business = BrokerageBusiness.ITEM_SETTLE)
+    @DoBrokerage(operation = OperationTypeEnum.SETTLE,rule = BrokerageRule.LAND_OTHER_RULE)
     @Override
     public Boolean update(ItemEvaluate itemEvaluate){
         String itemState = iItemService.getItemState(itemEvaluate.getItemId());
-        //List<ItemStage> stages = itemStageService.list(new LambdaQueryWrapper<ItemStage>().eq(ItemStage::getItemId, itemEvaluate.getItemId()).isNull(ItemStage::getOverdue));
         if (!ItemStateEnum.COMPLETED.getName().equals(itemState)){
             ErrorCode.throwBusinessException(ITEM_EVALUATE_ERROR);
         }

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

@@ -68,7 +68,7 @@ public class PaymentCollectionServiceImpl extends ServiceImpl<PaymentCollectionM
         return this.getById(id);
     }
 
-    @DoBrokerage(operation = OperationTypeEnum.EDIT,rule = BrokerageRule.LAND_MARKETER_RULE,business = BrokerageBusiness.ITEM_SETTLE)
+    @DoBrokerage(operation = OperationTypeEnum.SETTLE,rule = BrokerageRule.LAND_MARKETER_RULE)
     @Override
     public Boolean add(PaymentCollection paymentCollection){
         BigDecimal totalAmount = iItemService.getById(paymentCollection.getItemId()).getAmount();
@@ -91,7 +91,7 @@ public class PaymentCollectionServiceImpl extends ServiceImpl<PaymentCollectionM
     public Boolean update(PaymentCollection paymentCollection){
         return  this.updateById(paymentCollection);
     }
-
+    @DoBrokerage(operation = OperationTypeEnum.SETTLE,rule = BrokerageRule.LAND_MARKETER_RULE)
     @Override
     public Boolean delete(Long id){
         //逻辑删除