Эх сурвалжийг харах

客户排序问题以及问题处理

yzc 1 жил өмнө
parent
commit
743e65dc7b

+ 7 - 0
hx-customer/src/main/java/com/fjhx/customer/entity/customer/po/Customer.java

@@ -6,6 +6,8 @@ import com.ruoyi.common.core.domain.BasePo;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.Date;
+
 /**
  * <p>
  * 客户表
@@ -132,4 +134,9 @@ public class Customer extends BasePo {
      */
     private String beneficiaryAccountNumber;
 
+    /**
+     * 业务员分配时间
+     */
+    private Date allocationTime;
+
 }

+ 13 - 1
hx-customer/src/main/java/com/fjhx/customer/service/customer/impl/CustomerServiceImpl.java

@@ -163,7 +163,7 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer> i
             wrapper.orderByDesc("c.id IN ( " + join + " )");
         }
 
-        wrapper.orderByDesc("c", Customer::getUpdateTime);
+        wrapper.orderByDesc("c", Customer::getAllocationTime);
         wrapper.orderByDesc("c", Customer::getCreateTime);
 
         Page<CustomerVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
@@ -229,6 +229,11 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer> i
     @Override
     @DSTransactional
     public void add(CustomerDto customerDto) {
+        //赋值业务员分配时间
+        if (ObjectUtil.isNotEmpty(customerDto.getUserId())) {
+            customerDto.setAllocationTime(new Date());
+        }
+
         //客户名称 唯一检查
         Customer repeatCustomer = this.getOne(q -> q.eq(Customer::getName, customerDto.getName()));
         if (ObjectUtil.isNotEmpty(repeatCustomer)) {
@@ -253,6 +258,13 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer> i
     @DSTransactional
     @Override
     public void edit(CustomerDto customerDto) {
+
+        //修改业务员时 重新赋值分配时间
+        Customer oldCustomer = this.getById(customerDto.getId());
+        if (!Objects.equals(oldCustomer.getUserId(), customerDto.getUserId())) {
+            customerDto.setAllocationTime(new Date());
+        }
+
         //客户名称 唯一检查
         Customer repeatCustomer = this.getOne(q -> q.eq(Customer::getName, customerDto.getName()).ne(Customer::getId, customerDto.getId()));
         if (ObjectUtil.isNotEmpty(repeatCustomer)) {

+ 1 - 1
hx-sale/src/main/java/com/fjhx/sale/flow/ContractUpdateFlow.java

@@ -80,7 +80,7 @@ public class ContractUpdateFlow extends FlowDelegate {
         ContractDto contract = submitData.toJavaObject(ContractDto.class);
 
         //判断合同是否在变更中,防止用户缓存导致重复变更
-        Contract byId = contractService.getById(contract.getId());
+        Contract byId = contractService.getById(contract.getOldContractId());
         Assert.notEmpty(byId, "查询不到合同信息");
         if (byId.getStatus().equals(FlowStatusEnum1.UPDATE_LOADING.getKey())) {
             throw new ServiceException("合同正在变更中,禁止重复变更!");