Browse Source

补录发起审批流,并走同一个事务

release_toaliyun_real
luozukai 7 years ago
parent
commit
013bfc8d8b
3 changed files with 31 additions and 8 deletions
  1. +6
    -0
      mallinkService/src/main/java/com/iformall/common/ErrorCode.java
  2. +8
    -7
      mallinkService/src/main/java/com/iformall/service/WxRentContractService.java
  3. +17
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java

+ 6
- 0
mallinkService/src/main/java/com/iformall/common/ErrorCode.java View File

@@ -27,6 +27,12 @@ public enum ErrorCode{
SYS_EXTEND_JSON_ERROR(1012, "JSON格式异常"),
SYS_REPEAT_SUBMIT_EXCEPTION(1013, "请勿重复操作"),

/**
* 数据库
*/
FLOW_FAIL(24000, "审批流操作出错"),


/**
* 数据库
*/


+ 8
- 7
mallinkService/src/main/java/com/iformall/service/WxRentContractService.java View File

@@ -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);



+ 17
- 1
mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java View File

@@ -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<String, Object> 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);
}



Loading…
Cancel
Save