Browse Source

fix:核销状态异常

checkBack
Yen 1 year ago
parent
commit
4838e1e97b
  1. 3
      src/main/java/com/qs/serve/Application.java
  2. 1
      src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java
  3. 3
      src/main/java/com/qs/serve/modules/goods/entity/vo/GoodsSpuExportVo.java
  4. 9
      src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java
  5. 47
      src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java
  6. 2
      src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationOperationServiceImpl.java
  7. 1
      src/main/resources/application.yml

3
src/main/java/com/qs/serve/Application.java

@ -42,7 +42,8 @@ public class Application extends SpringBootServletInitializer {
SpringApplication.run(Application.class,args);
long end = System.currentTimeMillis();
double diff = (end-start)/1000.0;
System.out.println("启动时间:"+diff+"\n ____ _ _ __ _ _ \n" +
System.out.println("启动时间:"+diff
+"\n ____ _ _ __ _ _ \n" +
" / ___| | |_ __ _ _ __ | |_ _ _ _ __ ___ _ _ ___ ___ ___ ___ ___ / _| _ _ | || |\n" +
" \\___ \\ | __|/ _` || '__|| __| | | | || '_ \\ / __|| | | | / __|/ __|/ _ \\/ __|/ __|| |_ | | | || || |\n" +
" ___) || |_| (_| || | | |_ | |_| || |_) | \\__ \\| |_| || (__| (__| __/\\__ \\\\__ \\| _|| |_| || ||_|\n" +

1
src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java

@ -534,6 +534,7 @@ public class GoodsSpuController {
vo.setOrderFlag(a.getOrderFlag());
vo.setCostFlag(a.getCostFlag());
vo.setGoodsSaleType(a.getGoodsSaleType());
vo.setCateCode(a.getCategoryThird());
vo.setCateName(a.getCateThirdLabel());
return vo;
}).collect(Collectors.toList());

3
src/main/java/com/qs/serve/modules/goods/entity/vo/GoodsSpuExportVo.java

@ -53,6 +53,9 @@ public class GoodsSpuExportVo implements Serializable {
/** 商品销售类型:0-普通商品;1-赠品 */
private Integer goodsSaleType;
/** 三级类目:系列编码 */
private String cateCode;
/** 三级类目:系列名称 */
private String cateName;

9
src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java

File diff suppressed because one or more lines are too long

47
src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java

@ -8,6 +8,8 @@ import com.qs.serve.common.util.*;
import com.qs.serve.modules.data.entity.DataAffairCommit;
import com.qs.serve.modules.data.mapper.DataAffairCommitMapper;
import com.qs.serve.modules.seeyon.entity.CtpAffair;
import com.qs.serve.modules.seeyon.entity.SyAffairStateResult;
import com.qs.serve.modules.seeyon.enums.SyAffairState;
import com.qs.serve.modules.seeyon.service.SeeYonRequestService;
import com.qs.serve.modules.sys.entity.SysPostUser;
import com.qs.serve.modules.sys.entity.SysUser;
@ -30,6 +32,7 @@ import com.qs.serve.modules.vtb.entity.*;
import com.qs.serve.modules.vtb.service.impl.VtbVerificationOperationServiceImpl;
import com.qs.serve.task.TbsTask;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import org.springframework.beans.BeansException;
import org.springframework.stereotype.Service;
@ -51,6 +54,7 @@ import java.util.stream.Collectors;
* @author YenHex
* @since 2023/2/14
*/
@Slf4j
@Service
@AllArgsConstructor
public class VtbVerificationApplication {
@ -69,6 +73,7 @@ public class VtbVerificationApplication {
private SysUserService sysUserService;
private SeeYonRequestService seeYonService;
private VtbFundFlowService vtbFundFlowService;
private VtbVerificationOperationServiceImpl verificationOperationService;
public R<?> commitAffair(@RequestBody @Valid TbsAffairCommitBo affairCommit){
//临时测试
@ -85,6 +90,7 @@ public class VtbVerificationApplication {
List<VtbVerificationSubjectCenter> verificationSubjectCenterList = vtbVerificationSubjectCenterService.listByVerificationId(verification.getId());
List<VtbVerificationSubject> verificationSubjects = vtbVerificationSubjectService.listByVerificationId(verification.getId());
//检测参数的金额
log.debug("checkParamAmount 检测参数的核销金额");
this.checkParamAmount(affairCommit, verificationSubjectCenterList, verificationSubjects);
boolean isBackCommit = affairCommit.getState()==2;
R<String> result;
@ -94,24 +100,41 @@ public class VtbVerificationApplication {
result = R.ok();
}
if(result.getStatus()==200){
//提交审批
log.debug("提交审批到致远,{}",JsonUtil.objectToJson(result));
// 判断是否含有下个节点
try {
Thread.sleep(3000);
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
String summeryResult = result.getData();
if(!result.getData().equals("stop")){
VtbVerificationOperationServiceImpl verificationOperationService = SpringUtils.getBean(VtbVerificationOperationServiceImpl.class);
summeryResult = verificationOperationService.checkAffairSummery(verification.getId().toString());
if(devFlag){
summeryResult = "finished";
return R.ok();
}
}else {
//verificationOperationService.runCompensate(verification.getId()+"");
String templateCode = verificationOperationService.getTemplateCode();
SyAffairStateResult stateResult = verificationOperationService.checkAffairState(verification.getId()+"",templateCode);
SyAffairState affairState = stateResult.getState();
String summeryResult = affairState.toString();
if(affairState.equals(SyAffairState.backed)||affairState.equals(SyAffairState.refuse)){
summeryResult = "refuse";
}
//提交审批
log.debug("提交审批到致远,检查单据[{}]状态:{}",verification.getVerificationCode(),affairState);
R r = commitAffairSuccess(affairCommit, verification, isBackCommit, summeryResult);
// String summeryResult = result.getData();
// if(!result.getData().equals("stop")){
// VtbVerificationOperationServiceImpl verificationOperationService = SpringUtils.getBean(VtbVerificationOperationServiceImpl.class);
// summeryResult = verificationOperationService.checkAffairSummery(verification.getId().toString());
// if(devFlag){
// summeryResult = "finished";
// return R.ok();
// }
// }else {
// summeryResult = "refuse";
// }
// R r = commitAffairSuccess(affairCommit, verification, isBackCommit, summeryResult);
try {
//解决同步冻结时有过期的活动
TbsTask tbsTask = SpringUtils.getBean(TbsTask.class);
@ -182,6 +205,8 @@ public class VtbVerificationApplication {
@NotNull
@Transactional(rollbackFor = Exception.class)
public R commitAffairSuccess(TbsAffairCommitBo affairCommit, VtbVerification verification, boolean isBackCommit, String flag) {
log.debug("单据[{}]状态:{},",verification.getVerificationCode(),flag);
String userId = AuthContextUtils.getSysUserId();
SysUser sysUser = sysUserService.getById(userId);
try {
@ -226,8 +251,10 @@ public class VtbVerificationApplication {
//释放费用
boolean isRelease = affairCommit.getReleaseFlag()!=null&&affairCommit.getReleaseFlag().equals(1);
if (isStop){
log.debug("单据[{}]状态:{},中止审批",verification.getVerificationCode(),flag);
backCommitAndStop(verification, isBackCommit);
if(isRelease){
log.debug("单据[{}]状态:{},中止审批并释放费用",verification.getVerificationCode(),flag);
vtbVerificationService.release(verification.getActivityId(),sysUser.getCode(),false);
}
}else if (!isFinish && !isNext){

2
src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationOperationServiceImpl.java

@ -94,7 +94,7 @@ public class VtbVerificationOperationServiceImpl implements SeeYonOperationServi
@Override
public Object compensateNext(String targetId) {
VtbVerification verification = vtbVerificationMapper.selectById(targetId);
if(!verification.getVerificationState().equals(VtbVerificationState.Commiting.getCode())){
if(verification!=null&&!verification.getVerificationState().equals(VtbVerificationState.Commiting.getCode())){
VtbVerification vtbVer = new VtbVerification();
vtbVer.setId(verification.getId());
vtbVer.setVerificationState(VtbVerificationState.Commiting.getCode());

1
src/main/resources/application.yml

@ -26,6 +26,7 @@ project:
- /web/*
permits: #忽略登录
- /thirty/** #第三方接口
- /portal/flushToken #第三方接口
- /common/upload #支持API上传调整
- /common/validToken #验证token
- /api/**

Loading…
Cancel
Save