diff --git a/src/main/java/com/qs/serve/common/util/StringUtils.java b/src/main/java/com/qs/serve/common/util/StringUtils.java index 1e758ddb..0b88a7cf 100644 --- a/src/main/java/com/qs/serve/common/util/StringUtils.java +++ b/src/main/java/com/qs/serve/common/util/StringUtils.java @@ -66,6 +66,13 @@ public class StringUtils extends org.springframework.util.StringUtils { } } + public static String tailorLen(String str,int len){ + if(StringUtils.hasText(str)&&str.length()>len){ + return str.substring(0,len-2)+"..."; + } + return str; + } + /** 非空 */ public static boolean isNotEmpty(String str){ return !isEmpty(str); diff --git a/src/main/java/com/qs/serve/modules/bir/controller/BirRoiRateController.java b/src/main/java/com/qs/serve/modules/bir/controller/BirRoiRateController.java index af92bc12..b152caef 100644 --- a/src/main/java/com/qs/serve/modules/bir/controller/BirRoiRateController.java +++ b/src/main/java/com/qs/serve/modules/bir/controller/BirRoiRateController.java @@ -90,13 +90,10 @@ public class BirRoiRateController { public R test22(){ //移除当年所有 int year = 2023; -// LambdaQueryWrapper rmLqw = new LambdaQueryWrapper<>(); -// rmLqw.likeRight(BirBaseActivity::getKeyNum,year); -// activityService.remove(rmLqw); - //重新生成记录 for (int i = 0; i < 12; i++) { activityService.buildReport(year,i+1); } + activityService.buildReport(2024,1); return R.ok(); } @@ -202,18 +199,19 @@ public class BirRoiRateController { @GetMapping("/rebuildBir") public R rebuildBir(){ //select count(1) from tbs_cost_apply where create_time >= '2023-03-01' and create_time < '2023-04-01' - LocalDate startTime = LocalDate.of(2023,6,1); - LocalDate endTime = LocalDate.of(2023,7,1); - LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); - lqw.select(TbsCostApply::getId); - lqw.ge(TbsCostApply::getCreateTime,startTime); - lqw.le(TbsCostApply::getCreateTime,endTime); - List costApplyList = costApplyService.list(lqw); - List costIds = costApplyList.stream().map(a->a.getId()).distinct().collect(Collectors.toList()); - birActivityCenterGoodsService.rebuildBir(costIds); +// LocalDate startTime = LocalDate.of(2023,7,1); +// LocalDate endTime = LocalDate.of(2023,12,1); +// LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); +// lqw.select(TbsCostApply::getId); +// lqw.gt(TbsCostApply::getCreateTime,startTime); +// lqw.le(TbsCostApply::getCreateTime,endTime); +// lqw.in(TbsCostApply::getChargeState,2,3); +// List costApplyList = costApplyService.list(lqw); +// List costIds = costApplyList.stream().map(a->a.getId()).distinct().collect(Collectors.toList()); +// birActivityCenterGoodsService.rebuildBir(costIds); // Long[] costIds = new Long[]{ -// 267638L +// 6234L // }; // birActivityCenterGoodsService.rebuildBir(Arrays.asList(costIds).stream().distinct().collect(Collectors.toList())); return R.ok(); diff --git a/src/main/java/com/qs/serve/modules/bir/service/BirRemoveIdService.java b/src/main/java/com/qs/serve/modules/bir/service/BirRemoveIdService.java new file mode 100644 index 00000000..017b7766 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bir/service/BirRemoveIdService.java @@ -0,0 +1,11 @@ +package com.qs.serve.modules.bir.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.qs.serve.modules.bir.entity.BirRemoveId; + +/** + * @author YenHex + * @since 2024/1/29 + */ +public interface BirRemoveIdService extends IService { +} diff --git a/src/main/java/com/qs/serve/modules/bir/service/impl/BirActivityCenterGoodsServiceImpl.java b/src/main/java/com/qs/serve/modules/bir/service/impl/BirActivityCenterGoodsServiceImpl.java index fe145d41..51f3d54b 100644 --- a/src/main/java/com/qs/serve/modules/bir/service/impl/BirActivityCenterGoodsServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/bir/service/impl/BirActivityCenterGoodsServiceImpl.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.qs.serve.common.model.dto.DateSplitDTO; +import com.qs.serve.common.util.Assert; import com.qs.serve.common.util.CollectionUtil; import com.qs.serve.common.util.DateSplitUtil; import com.qs.serve.common.util.PageUtil; @@ -14,6 +15,7 @@ import com.qs.serve.modules.bir.entity.so.BirMonthCusCenterSo; import com.qs.serve.modules.bir.entity.vo.BirActivityCenterGoodsMonthVo; import com.qs.serve.modules.bir.mapper.BirBaseActivityMapper; import com.qs.serve.modules.bir.mapper.BirRemoveIdMapper; +import com.qs.serve.modules.bir.service.BirRemoveIdService; import com.qs.serve.modules.bms.entity.BmsCostCenter; import com.qs.serve.modules.bms.entity.BmsRegion; import com.qs.serve.modules.bms.entity.BmsRegion2; @@ -22,11 +24,13 @@ import com.qs.serve.modules.bms.mapper.BmsCostCenterMapper; import com.qs.serve.modules.bms.mapper.BmsRegion2Mapper; import com.qs.serve.modules.bms.mapper.BmsRegionMapper; import com.qs.serve.modules.bms.mapper.BmsSupplierMapper; +import com.qs.serve.modules.tbs.common.TbsActivityState; import com.qs.serve.modules.tbs.entity.TbsActivity; import com.qs.serve.modules.tbs.entity.TbsActivityCenter; import com.qs.serve.modules.tbs.entity.TbsActivityCenterGoods; import com.qs.serve.modules.tbs.entity.TbsCostApply; import com.qs.serve.modules.tbs.mapper.TbsActivityCenterGoodsMapper; +import com.qs.serve.modules.tbs.mapper.TbsActivityMapper; import com.qs.serve.modules.tbs.mapper.TbsCostApplyMapper; import com.qs.serve.modules.tbs.service.TbsActivityCenterGoodsService; import com.qs.serve.modules.vtb.common.VtbFundFlowType; @@ -72,12 +76,16 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl{ - birRemoveIdMapper.insert(a); - }); + birRemoveIdService.saveBatch(removeIds); } this.removeBatchByIds(noExist); @@ -165,6 +171,9 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl> costApplyMap = costApplyList.stream().collect(Collectors.groupingBy(TbsCostApply::getId)); for (Long activityId : collectMap.keySet()) { + + TbsActivity activity = activityMapper.selectById(activityId); + //用于保存的对象列表 List bacgList = new ArrayList<>(); @@ -182,7 +191,7 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl1){ for (DateSplitDTO currDateSplit : dateSplitList) { //获取该项分割金额对象 - BirCenterGoodSplitDTO goodSplitDTO = this.buildSplitAmount(activityCenterGoods, + BirCenterGoodSplitDTO goodSplitDTO = this.buildSplitAmount(activity,activityCenterGoods, dateSplitList, currDateSplit,currentActDays); //创建底表对象 BirActivityCenterGoods entity = createBirActivityCenterGoodsEntity(costCenterList, @@ -192,7 +201,7 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl> costApplyMap = costApplyList.stream().collect(Collectors.groupingBy(TbsCostApply::getId)); for (Long activityId : collectMap.keySet()) { + + TbsActivity activity = activityMapper.selectById(activityId); //用于保存的对象列表 List bacgList = new ArrayList<>(); @@ -268,7 +279,7 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl1){ for (DateSplitDTO currDateSplit : dateSplitList) { //获取该项分割金额对象 - BirCenterGoodSplitDTO goodSplitDTO = this.buildSplitAmount(activityCenterGoods, + BirCenterGoodSplitDTO goodSplitDTO = this.buildSplitAmount(activity,activityCenterGoods, dateSplitList, currDateSplit,currentActDays); //创建底表对象 BirActivityCenterGoods entity = createBirActivityCenterGoodsEntity(costCenterList, @@ -278,7 +289,7 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl { - birRemoveIdMapper.insert(a); - }); + birRemoveIdService.saveBatch(removeIds); } this.remove(birBaseActivityLqw); } @@ -500,7 +509,7 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl dateSplitList , DateSplitDTO currDateSplit, Integer currentActDays){ @@ -539,7 +548,8 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl implements BirRemoveIdService { + + +} diff --git a/src/main/java/com/qs/serve/modules/erp/entity/ErpDispatchData.java b/src/main/java/com/qs/serve/modules/erp/entity/ErpDispatchData.java index 9a8d2ba8..a8ff62ef 100644 --- a/src/main/java/com/qs/serve/modules/erp/entity/ErpDispatchData.java +++ b/src/main/java/com/qs/serve/modules/erp/entity/ErpDispatchData.java @@ -103,6 +103,7 @@ public class ErpDispatchData implements Serializable { @TableField(fill = FieldFill.INSERT) private LocalDateTime createTime; + private Integer delFlag; public static ErpDispatchData toNewObject(ErpDispatchData source){ ErpDispatchData dispatchData = new ErpDispatchData(); 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 b77c00f1..00602f7d 100644 --- a/src/main/java/com/qs/serve/modules/third/PortalOfCostController.java +++ b/src/main/java/com/qs/serve/modules/third/PortalOfCostController.java @@ -1,9 +1,12 @@ package com.qs.serve.modules.third; +import cn.hutool.core.collection.CollUtil; import cn.hutool.crypto.SecureUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.qs.serve.common.config.DevEnvironmentConfig; import com.qs.serve.common.model.dto.R; import com.qs.serve.common.util.Assert; +import com.qs.serve.common.util.CollectionUtil; import com.qs.serve.common.util.JsonUtil; import com.qs.serve.modules.sys.entity.SysSyncLog; import com.qs.serve.modules.sys.service.SysSyncLogService; @@ -14,6 +17,11 @@ import com.qs.serve.modules.third.entity.ProcessCreatePolicyCostBo; import com.qs.serve.modules.third.entity.ProcessReleaseContractBo; 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.dto.VtbVerificationCodesDTO; +import com.qs.serve.modules.vtb.mapper.VtbVerificationMapper; +import com.qs.serve.modules.vtb.service.VtbVerificationService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.PostMapping; @@ -25,6 +33,11 @@ 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.stream.Collectors; /** * 【第三方接口】核销系统 @@ -37,6 +50,8 @@ import java.time.LocalDateTime; @RequestMapping("thirty/cost") public class PortalOfCostController { + private VtbVerificationMapper vtbVerificationMapper; + private VtbVerificationService vtbVerificationService; private PortalOfCostApplication portalOfCostApplication; private SysSyncLogService sysSyncLogService; @@ -159,4 +174,42 @@ 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条"); + } + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.select(VtbVerification::getId,VtbVerification::getVerificationCode) + .in(VtbVerification::getVerificationCode,paramCodes) + .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); + } + } + 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); + } + } diff --git a/src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java b/src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java index e27dda84..09980efb 100644 --- a/src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java +++ b/src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java @@ -28,6 +28,7 @@ import com.qs.serve.modules.vtb.entity.*; import com.qs.serve.modules.vtb.entity.bo.VtbVerificationCenterCommitBo; import com.qs.serve.modules.vtb.entity.bo.VtbVerificationContactBo; import com.qs.serve.modules.vtb.entity.bo.VtbVerificationSubjectCommitBo; +import com.qs.serve.modules.vtb.entity.dto.VtbVerificationCodesDTO; import com.qs.serve.modules.vtb.entity.vo.VtbCostInfo; import com.qs.serve.modules.vtb.service.*; import com.qs.serve.modules.vtb.service.impl.VtbVerificationOperationServiceImpl; @@ -479,6 +480,7 @@ public class VtbVerificationController { return R.ok(costInfo); } + /** * 成功提交回调 * @param verificationId 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 new file mode 100644 index 00000000..630904bc --- /dev/null +++ b/src/main/java/com/qs/serve/modules/vtb/entity/dto/VtbVerificationCodesDTO.java @@ -0,0 +1,16 @@ +package com.qs.serve.modules.vtb.entity.dto; + +import lombok.Data; + +import java.util.List; + +/** + * @author YenHex + * @since 2024/1/29 + */ +@Data +public class VtbVerificationCodesDTO { + + private List codes; + +} diff --git a/src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerificationMapper.java b/src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerificationMapper.java index fed6955e..187966ae 100644 --- a/src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerificationMapper.java +++ b/src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerificationMapper.java @@ -29,6 +29,13 @@ public interface VtbVerificationMapper extends BaseMapper { ) int updateCostExtUser(@Param("userId") String userId, @Param("obj") SysUser sysUser); + /** + * 设置同步支付状态 + * @param codes + * @return + */ + int updateSyncPayStatus(@Param("codes") List codes); + /** * 设空继承人 * @param costIds diff --git a/src/main/java/com/qs/serve/task/BitTask.java b/src/main/java/com/qs/serve/task/BitTask.java index c830ab4c..cc33e77a 100644 --- a/src/main/java/com/qs/serve/task/BitTask.java +++ b/src/main/java/com/qs/serve/task/BitTask.java @@ -31,6 +31,8 @@ public class BitTask { for (int i = 0; i < 12; i++) { activityService.buildReport(year,i+1); } + activityService.buildReport(2024,1); + activityService.buildReport(2024,2); } } diff --git a/src/main/java/com/qs/serve/task/controller/TaskActivityController.java b/src/main/java/com/qs/serve/task/controller/TaskActivityController.java index 72190d5e..4896fef4 100644 --- a/src/main/java/com/qs/serve/task/controller/TaskActivityController.java +++ b/src/main/java/com/qs/serve/task/controller/TaskActivityController.java @@ -34,7 +34,7 @@ import java.util.List; @AllArgsConstructor @RestController @RequestMapping("/task/activity") -@ConditionalOnProperty(value = "project.task", havingValue = "true") +//@ConditionalOnProperty(value = "project.task", havingValue = "true") public class TaskActivityController { private final TbsActivityService activityService; diff --git a/src/main/resources/mapper/erp/ErpDispatchDataMapper.xml b/src/main/resources/mapper/erp/ErpDispatchDataMapper.xml index 1edc23c9..be2c6dcc 100644 --- a/src/main/resources/mapper/erp/ErpDispatchDataMapper.xml +++ b/src/main/resources/mapper/erp/ErpDispatchDataMapper.xml @@ -63,6 +63,7 @@ #{selectId} + and source_table like 'autoId-%' GROUP BY DATE_FORMAT(date,'%Y%m') diff --git a/src/main/resources/mapper/vtb/VtbVerfifcationMapper.xml b/src/main/resources/mapper/vtb/VtbVerfifcationMapper.xml index f9e21b77..4b01e7d8 100644 --- a/src/main/resources/mapper/vtb/VtbVerfifcationMapper.xml +++ b/src/main/resources/mapper/vtb/VtbVerfifcationMapper.xml @@ -11,6 +11,14 @@ #{selectId} + + + update vtb_verification set sync_pay_flag=1 where verification_code in + + #{selectId} + + + update vtb_verification set ext_user_id = null,ext_user_id=null,ext_user_name=null where cost_apply_id in