diff --git a/src/main/java/com/qs/serve/modules/third/PortalOfCostController.java b/src/main/java/com/qs/serve/modules/third/PortalOfCostController.java index 00602f7d..c21c8beb 100644 --- a/src/main/java/com/qs/serve/modules/third/PortalOfCostController.java +++ b/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 paramCodes = codesDTO.getCodes().stream().map(String::trim).distinct().collect(Collectors.toList()); - if(paramCodes.size()>5000){ - return R.error("每次最多处理5000条"); - } + String verifyCode = codesDTO.getCode(); LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.select(VtbVerification::getId,VtbVerification::getVerificationCode) - .in(VtbVerification::getVerificationCode,paramCodes) + .eq(VtbVerification::getVerificationCode,verifyCode) .eq(VtbVerification::getVerificationState, VtbVerificationState.Finished.getCode()); - - List vtbVerificationList = vtbVerificationService.list(lqw); - - List codes = vtbVerificationList.stream().map(VtbVerification::getVerificationCode) - .distinct().collect(Collectors.toList()); - - List notMatchList = new ArrayList<>(); - List 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 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)&¶mCodes.size()==1){ - return R.error(); - } - if(CollUtil.isNotEmpty(matchList)){ - vtbVerificationMapper.updateSyncPayStatus(matchList); - } - Map result = new HashMap<>(); - result.put("notMatchList",notMatchList); - result.put("matchList",matchList); - return R.ok(result); + return R.ok(); } } diff --git a/src/main/java/com/qs/serve/modules/vtb/entity/VtbVerificationSubject.java b/src/main/java/com/qs/serve/modules/vtb/entity/VtbVerificationSubject.java index 5a9569e6..2c07b56b 100644 --- a/src/main/java/com/qs/serve/modules/vtb/entity/VtbVerificationSubject.java +++ b/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; diff --git a/src/main/java/com/qs/serve/modules/vtb/entity/dto/VtbVerificationCodesDTO.java b/src/main/java/com/qs/serve/modules/vtb/entity/dto/VtbVerificationCodesDTO.java index 630904bc..cfadbca5 100644 --- a/src/main/java/com/qs/serve/modules/vtb/entity/dto/VtbVerificationCodesDTO.java +++ b/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 codes; + private String code; }