|
|
@ -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)&¶mCodes.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(); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|