Browse Source

兼容核销同步状态

v1.0
Yen 1 year ago
parent
commit
ea50788737
  1. 59
      src/main/java/com/qs/serve/modules/third/PortalOfCostController.java
  2. 2
      src/main/java/com/qs/serve/modules/vtb/entity/VtbVerificationSubject.java
  3. 2
      src/main/java/com/qs/serve/modules/vtb/entity/dto/VtbVerificationCodesDTO.java

59
src/main/java/com/qs/serve/modules/third/PortalOfCostController.java

@ -19,9 +19,11 @@ import com.qs.serve.modules.third.service.PortalOfCostApplication;
import com.qs.serve.modules.tzc.service.TzcPolicyGoodsSyncService;
import com.qs.serve.modules.vtb.common.VtbVerificationState;
import com.qs.serve.modules.vtb.entity.VtbVerification;
import com.qs.serve.modules.vtb.entity.VtbVerificationSubject;
import com.qs.serve.modules.vtb.entity.dto.VtbVerificationCodesDTO;
import com.qs.serve.modules.vtb.mapper.VtbVerificationMapper;
import com.qs.serve.modules.vtb.service.VtbVerificationService;
import com.qs.serve.modules.vtb.service.VtbVerificationSubjectService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
@ -33,10 +35,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -52,6 +51,7 @@ public class PortalOfCostController {
private VtbVerificationMapper vtbVerificationMapper;
private VtbVerificationService vtbVerificationService;
private VtbVerificationSubjectService verificationSubjectService;
private PortalOfCostApplication portalOfCostApplication;
private SysSyncLogService sysSyncLogService;
@ -176,40 +176,33 @@ public class PortalOfCostController {
@PostMapping("/updateCheckSyncPayFlag")
public R<?> updateSyncPayFlag(@RequestBody VtbVerificationCodesDTO codesDTO){
List<String> paramCodes = codesDTO.getCodes().stream().map(String::trim).distinct().collect(Collectors.toList());
if(paramCodes.size()>5000){
return R.error("每次最多处理5000条");
}
String verifyCode = codesDTO.getCode();
LambdaQueryWrapper<VtbVerification> lqw = new LambdaQueryWrapper<>();
lqw.select(VtbVerification::getId,VtbVerification::getVerificationCode)
.in(VtbVerification::getVerificationCode,paramCodes)
.eq(VtbVerification::getVerificationCode,verifyCode)
.eq(VtbVerification::getVerificationState, VtbVerificationState.Finished.getCode());
List<VtbVerification> vtbVerificationList = vtbVerificationService.list(lqw);
List<String> codes = vtbVerificationList.stream().map(VtbVerification::getVerificationCode)
.distinct().collect(Collectors.toList());
List<String> notMatchList = new ArrayList<>();
List<String> matchList = new ArrayList<>();
for (String code : paramCodes) {
boolean match = codes.stream().anyMatch(a->a.equals(code));
if(!match){
notMatchList.add(code);
}else {
matchList.add(code);
VtbVerification verification = vtbVerificationService.getOne(lqw,false);
//需要做兼容,code返回有主表和item表的code
if(verification==null){
VtbVerificationSubject verificationSubject = verificationSubjectService.getByVerificationSubjectCode(verifyCode);
if(verificationSubject==null){
return R.error("code not found");
}
verificationSubject.setSyncPayFlag(1);
verificationSubjectService.updateById(verificationSubject);
//更新到主表
LambdaQueryWrapper<VtbVerificationSubject> countLqw = new LambdaQueryWrapper<>();
countLqw.eq(VtbVerificationSubject::getVerificationId,verificationSubject.getVerificationId());
countLqw.eq(VtbVerificationSubject::getSyncPayFlag,0);
long c = verificationSubjectService.count(countLqw);
if(c==0){
VtbVerification verification1 = vtbVerificationMapper.selectById(verificationSubject.getVerificationId());
vtbVerificationMapper.updateSyncPayStatus(Arrays.asList(verification1.getVerificationCode()));
}
}else {
vtbVerificationMapper.updateSyncPayStatus(Arrays.asList(verifyCode));
}
if(CollUtil.isNotEmpty(notMatchList)&&paramCodes.size()==1){
return R.error();
}
if(CollUtil.isNotEmpty(matchList)){
vtbVerificationMapper.updateSyncPayStatus(matchList);
}
Map<String,Object> result = new HashMap<>();
result.put("notMatchList",notMatchList);
result.put("matchList",matchList);
return R.ok(result);
return R.ok();
}
}

2
src/main/java/com/qs/serve/modules/vtb/entity/VtbVerificationSubject.java

@ -159,6 +159,8 @@ public class VtbVerificationSubject implements Serializable {
/** 表单内容值 */
private String formContextValue;
private Integer syncPayFlag;
/** 可更变的最大金额 */
@TableField(exist = false)
private BigDecimal maxChangeAmount;

2
src/main/java/com/qs/serve/modules/vtb/entity/dto/VtbVerificationCodesDTO.java

@ -11,6 +11,6 @@ import java.util.List;
@Data
public class VtbVerificationCodesDTO {
private List<String> codes;
private String code;
}

Loading…
Cancel
Save