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

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 String formContextValue;
private Integer syncPayFlag;
/** 可更变的最大金额 */ /** 可更变的最大金额 */
@TableField(exist = false) @TableField(exist = false)
private BigDecimal maxChangeAmount; 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 @Data
public class VtbVerificationCodesDTO { public class VtbVerificationCodesDTO {
private List<String> codes; private String code;
} }

Loading…
Cancel
Save