diff --git a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java index 4b45caff3..713e73875 100644 --- a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java +++ b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java @@ -27,6 +27,12 @@ public enum ErrorCode{ SYS_EXTEND_JSON_ERROR(1012, "JSON格式异常"), SYS_REPEAT_SUBMIT_EXCEPTION(1013, "请勿重复操作"), + /** + * 数据库 + */ + FLOW_FAIL(24000, "审批流操作出错"), + + /** * 数据库 */ diff --git a/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java b/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java index 1ff06f420..1de4b358b 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java @@ -30,14 +30,15 @@ public interface WxRentContractService { * @return */ ResultData getById(Long id); - - /** + + /** * 保存或更新实体 - * - * @param record - * @param id - */ - ResultData save(WxRentContract record, Long userId,String userName); + * @param record + * @param userId + * @param userName + * @return + */ + ResultData save(WxRentContract record,Long userId,String userName); ResultData update(WxRentContract record, Long userId); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java index e0d385842..2e296fb55 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -13,6 +13,7 @@ import com.iformall.enums.*; import com.iformall.exception.MallinkException; import com.iformall.mapper.*; import com.iformall.service.WxFlowRecordService; +import com.iformall.service.WxFlowService; import com.iformall.service.WxMerchantService; import com.iformall.service.WxRentContractService; import com.iformall.utils.Constant; @@ -86,6 +87,9 @@ public class WxRentContractServiceImpl implements WxRentContractService { @Autowired private TaskService taskService; + @Autowired + private WxFlowService wxFlowService; + @Override public Map listAsPage(WxRentContract record, Integer pageIndex, Integer pageSize) { Object rentContractStatusInfo = getRentContractStatusInfo(record); @@ -132,7 +136,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { @Transactional(rollbackFor = {Exception.class}) @Override - public ResultData save(WxRentContract record, Long userId) { + public ResultData save(WxRentContract record,Long userId,String userName) { //保存租赁合同信息 final IdWorker idWorker = IdWorker.get(); record.setId(idWorker.nextId()); @@ -185,6 +189,18 @@ public class WxRentContractServiceImpl implements WxRentContractService { logger.error("保存租赁合同信息失败,e:" + e.getMessage()); throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); } + + try { + // 如果是补录,启动审批流 + if(record.getMerchantId() != null && record.getFlowParams() != null){ + record.getFlowParams().put("businessId",record.getId()); + wxFlowService.start(record.getFlowParams(),userId,userName,record.getTenantId()); + } + } catch (Exception e) { + logger.error("启动审批流失败,e:" + e.getMessage()); + throw new MallinkException(ErrorCode.FLOW_FAIL.getCode(), "FLOW FAILD " + e.getMessage()); + } + return new ResultData(Result.SUCCESS, "保存租赁合同信息成功", record); }