Explorar el Código

个贷流程优化4 自动关联实物状况

wucl hace 1 año
padre
commit
bc6c59d756

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

@@ -174,5 +174,7 @@ public class PersonalController extends BaseController {
         return RestResponse.data(ret);
     }
 
+
 }
 
+

+ 15 - 0
biz-base/src/main/java/com/dayou/controller/PersonalSceneController.java

@@ -1,5 +1,8 @@
 package com.dayou.controller;
 
+import com.dayou.dto.TaskRecordDTO;
+import com.dayou.entity.Personal;
+import com.dayou.workflow.annotation.FinishTask;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -20,6 +23,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;
+
 /**
  * 个贷实勘表
  *
@@ -78,6 +84,15 @@ public class PersonalSceneController extends BaseController {
         return RestResponse.data(ret);
     }
 
+    /**
+     * 个贷业务订单更新
+     */
+    @FinishTask
+    @PutMapping("/scene")
+    public RestResponse<Boolean> saveSceneInfo(@RequestBody @Valid TaskRecordDTO<PersonalScene> taskRecordDTO) {
+        Boolean ret = personalSceneService.saveSceneInfo(taskRecordDTO);
+        return RestResponse.data(ret);
+    }
 
 }
 

+ 12 - 0
biz-base/src/main/java/com/dayou/controller/PersonalTargetController.java

@@ -16,6 +16,7 @@ import com.dayou.common.RestResponse;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
+import java.util.List;
 
 /**
  * 个贷估价对象
@@ -159,5 +160,16 @@ public class PersonalTargetController extends BaseController {
         return RestResponse.data(ret);
     }
 
+    /**
+     * 模糊匹配区位状况
+     * @param location
+     * @return
+     */
+    @PostMapping("/bg/fuzzy")
+    public RestResponse<List<PersonalBackgroundInfo>> fuzzyBackgroundList(String location){
+        List<PersonalBackgroundInfo> result = personalTargetService.fuzzyBackgroundList(location);
+        return RestResponse.data(result);
+    }
+
 }
 

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

@@ -5,6 +5,8 @@ import com.dayou.dao.CustomBaseMapper;
 import com.dayou.vo.ProdValidateVO;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * <p>
  * 个贷估价对象 Mapper 接口
@@ -16,4 +18,6 @@ import org.apache.ibatis.annotations.Param;
 public interface PersonalTargetMapper extends CustomBaseMapper<PersonalTarget> {
 
     ProdValidateVO validateProd(@Param("id") Long id);
+
+    List<String> fuzzyBackgroundList(@Param("location") String location);
 }

+ 12 - 0
dao/src/main/resources/mapper/PersonalTargetMapper.xml

@@ -44,4 +44,16 @@
           AND pt.deleted = 0
           and p.deleted =0
     </select>
+
+    <select id="fuzzyBackgroundList" parameterType="java.lang.String" resultType="java.lang.String">
+        SELECT
+            background_info
+        FROM
+            personal_target
+        WHERE
+            background_info IS NOT NULL
+          AND deleted = 0
+          AND JSON_EXTRACT( background_info, '$.location' ) LIKE concat ('%',#{location},'%')
+        order by id desc
+    </select>
 </mapper>

+ 2 - 1
dao/src/main/resources/mapper/WorkTaskRecordMapper.xml

@@ -273,7 +273,8 @@
         wfni.created AS nodeCreated,
         pt.acreage,
         pt.amount,
-        pt.price
+        pt.price,
+        pt.is_online
         FROM
         work_task_record wtr
         LEFT JOIN work_node_task wnt ON wnt.id = wtr.task_id

+ 2 - 0
domain/src/main/java/com/dayou/vo/PersonalTodoVO.java

@@ -80,4 +80,6 @@ public class PersonalTodoVO {
 
     private String endDate;
 
+    private Boolean isOnline;
+
 }

+ 3 - 0
service/src/main/java/com/dayou/service/IPersonalSceneService.java

@@ -1,4 +1,6 @@
 package com.dayou.service;
+import com.dayou.dto.TaskRecordDTO;
+import com.dayou.entity.Personal;
 import com.dayou.entity.PersonalScene;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -25,4 +27,5 @@ public interface IPersonalSceneService extends IService<PersonalScene> {
 
         Boolean delete(Long id);
 
+    Boolean saveSceneInfo(TaskRecordDTO<PersonalScene> taskRecordDTO);
 }

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

@@ -58,4 +58,5 @@ public interface IPersonalService extends IService<Personal> {
     Page<PersonalVO> waitingAllotOrderPage(Page page);
 
     Boolean doAllotOrder(PersonalAllotOrderDTO dto);
+
 }

+ 5 - 0
service/src/main/java/com/dayou/service/IPersonalTargetService.java

@@ -7,6 +7,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.dayou.vo.*;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
+
 /**
  * <p>
  * 个贷估价对象 服务类
@@ -41,4 +44,6 @@ public interface IPersonalTargetService extends IService<PersonalTarget> {
     Boolean sellingAbility(PersonalSellingAbilityVO sellingAbilityVO);
 
     Boolean doFeedback(TaskRecordDTO<PersonalTarget> taskRecordDTO);
+
+    List<PersonalBackgroundInfo> fuzzyBackgroundList(String location);
 }

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

@@ -1,6 +1,8 @@
 package com.dayou.service.impl;
 
 import com.dayou.common.BaseEntity;
+import com.dayou.dto.TaskRecordDTO;
+import com.dayou.entity.Personal;
 import com.dayou.entity.PersonalScene;
 import com.dayou.mapper.PersonalSceneMapper;
 import com.dayou.service.IPersonalSceneService;
@@ -67,4 +69,11 @@ public class PersonalSceneServiceImpl extends ServiceImpl<PersonalSceneMapper, P
         //逻辑删除
         return this.removeById(id);
     }
+
+    @Override
+    public Boolean saveSceneInfo(TaskRecordDTO<PersonalScene> taskRecordDTO) {
+        PersonalScene taskData = taskRecordDTO.getTaskData();
+        taskData.setUserId(LoginContext.getCurrentUserId());
+        return this.saveOrUpdate(taskData);
+    }
 }

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

@@ -390,6 +390,7 @@ public class PersonalServiceImpl extends ServiceImpl<PersonalMapper, Personal> i
         return Boolean.FALSE;
     }
 
+
     private void batchCheckNodeState(List<Long> instanceIds) {
         List<WorkFlowNodeInstance> list = workFlowNodeInstanceService.list(new LambdaQueryWrapper<WorkFlowNodeInstance>()
                 .select(WorkFlowNodeInstance::getState).in(BaseEntity::getId, instanceIds).eq(BaseEntity::getDeleted, Boolean.FALSE));

+ 18 - 0
service/src/main/java/com/dayou/service/impl/PersonalTargetServiceImpl.java

@@ -1,5 +1,6 @@
 package com.dayou.service.impl;
 
+import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
@@ -13,6 +14,7 @@ import com.dayou.service.IPersonalService;
 import com.dayou.service.IPersonalTargetService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.dayou.vo.*;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -31,8 +33,11 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.sql.Struct;
+import java.util.Collections;
 import java.util.List;
 import java.util.ArrayList;
+import java.util.stream.Collectors;
+
 import org.springframework.transaction.annotation.Transactional;
 import com.dayou.enums.BatchTaskTypeEnum;
 
@@ -51,6 +56,8 @@ public class PersonalTargetServiceImpl extends ServiceImpl<PersonalTargetMapper,
 
     @Autowired
     private IPersonalService personalService;
+    @Autowired
+    private PersonalTargetMapper personalTargetMapper;
 
     @Override
     @SuppressWarnings("unchecked")
@@ -159,4 +166,15 @@ public class PersonalTargetServiceImpl extends ServiceImpl<PersonalTargetMapper,
         PersonalTarget taskData = taskRecordDTO.getTaskData();
         return this.update(new LambdaUpdateWrapper<PersonalTarget>().eq(BaseEntity::getId,taskData.getId()).set(PersonalTarget::getFeedback,taskData.getFeedback()));
     }
+
+    @Override
+    public List<PersonalBackgroundInfo> fuzzyBackgroundList(String location) {
+        List<String> list = personalTargetMapper.fuzzyBackgroundList(location);
+        List<PersonalBackgroundInfo> result = list.stream().map(x -> {
+            PersonalBackgroundInfo personalBackgroundInfo = JSON.parseObject(x, PersonalBackgroundInfo.class);
+            personalBackgroundInfo.setId(null);
+            return personalBackgroundInfo;
+        }).collect(Collectors.toList());
+        return result;
+    }
 }

+ 1 - 1
service/src/main/java/com/dayou/service/workflow/WorkFlowServiceImpl.java

@@ -176,7 +176,7 @@ public class WorkFlowServiceImpl extends ServiceImpl<WorkFlowMapper, WorkFlow> i
         instance.setBusinessSubId(businessSubId);
         instance.setBusinessType(mainBusinessEnum.getCode());
         instance.setSequence(0);
-        instance.setState(NodeStateEnum.FINISHED.name());
+        instance.setState(NodeStateEnum.PENDING.name());
         instance.setComment(remark);
         workFlowNodeInstanceService.save(instance);