Browse Source

核销调整;bir调整

v1.0
Yen 1 year ago
parent
commit
f6294107d3
  1. 7
      src/main/java/com/qs/serve/common/util/StringUtils.java
  2. 26
      src/main/java/com/qs/serve/modules/bir/controller/BirRoiRateController.java
  3. 11
      src/main/java/com/qs/serve/modules/bir/service/BirRemoveIdService.java
  4. 36
      src/main/java/com/qs/serve/modules/bir/service/impl/BirActivityCenterGoodsServiceImpl.java
  5. 22
      src/main/java/com/qs/serve/modules/bir/service/impl/BirRemoveIdServiceImpl.java
  6. 1
      src/main/java/com/qs/serve/modules/erp/entity/ErpDispatchData.java
  7. 53
      src/main/java/com/qs/serve/modules/third/PortalOfCostController.java
  8. 2
      src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java
  9. 16
      src/main/java/com/qs/serve/modules/vtb/entity/dto/VtbVerificationCodesDTO.java
  10. 7
      src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerificationMapper.java
  11. 2
      src/main/java/com/qs/serve/task/BitTask.java
  12. 2
      src/main/java/com/qs/serve/task/controller/TaskActivityController.java
  13. 1
      src/main/resources/mapper/erp/ErpDispatchDataMapper.xml
  14. 8
      src/main/resources/mapper/vtb/VtbVerfifcationMapper.xml

7
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);

26
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<BirBaseActivity> 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<TbsCostApply> lqw = new LambdaQueryWrapper<>();
lqw.select(TbsCostApply::getId);
lqw.ge(TbsCostApply::getCreateTime,startTime);
lqw.le(TbsCostApply::getCreateTime,endTime);
List<TbsCostApply> costApplyList = costApplyService.list(lqw);
List<Long> 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<TbsCostApply> lqw = new LambdaQueryWrapper<>();
// lqw.select(TbsCostApply::getId);
// lqw.gt(TbsCostApply::getCreateTime,startTime);
// lqw.le(TbsCostApply::getCreateTime,endTime);
// lqw.in(TbsCostApply::getChargeState,2,3);
// List<TbsCostApply> costApplyList = costApplyService.list(lqw);
// List<Long> 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();

11
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<BirRemoveId> {
}

36
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<BirActivityCe
private final VtbFundFlowMapper fundFlowMapper;
private final TbsActivityMapper activityMapper;
private final TbsActivityCenterGoodsMapper tbsActivityCenterGoodsMapper;
private final BirBaseActivityMapper birBaseActivityMapper;
private final BmsSupplierMapper bmsSupplierMapper;
private final BirRemoveIdMapper birRemoveIdMapper;
//private final BirRemoveIdMapper birRemoveIdMapper;
private final BirRemoveIdService birRemoveIdService;
private final TbsCostApplyMapper tbsCostApplyMapper;
@ -115,9 +123,7 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl<BirActivityCe
return birRemoveId;
}).collect(Collectors.toList());
removeIds.forEach(a->{
birRemoveIdMapper.insert(a);
});
birRemoveIdService.saveBatch(removeIds);
}
this.removeBatchByIds(noExist);
@ -165,6 +171,9 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl<BirActivityCe
Map<Long,List<TbsCostApply>> costApplyMap = costApplyList.stream().collect(Collectors.groupingBy(TbsCostApply::getId));
for (Long activityId : collectMap.keySet()) {
TbsActivity activity = activityMapper.selectById(activityId);
//用于保存的对象列表
List<BirActivityCenterGoods> bacgList = new ArrayList<>();
@ -182,7 +191,7 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl<BirActivityCe
if(dateSplitList.size()>1){
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<BirActivityCe
}else if (dateSplitList.size()==1){
DateSplitDTO currDateSplit = dateSplitList.get(0);
//获取该项分割金额对象
BirCenterGoodSplitDTO goodSplitDTO = this.buildSplitAmount(activityCenterGoods,
BirCenterGoodSplitDTO goodSplitDTO = this.buildSplitAmount(activity,activityCenterGoods,
dateSplitList, currDateSplit,currentActDays);
//创建底表对象
BirActivityCenterGoods entity = createBirActivityCenterGoodsEntity(costCenterList,
@ -251,6 +260,8 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl<BirActivityCe
Map<Long,List<TbsCostApply>> costApplyMap = costApplyList.stream().collect(Collectors.groupingBy(TbsCostApply::getId));
for (Long activityId : collectMap.keySet()) {
TbsActivity activity = activityMapper.selectById(activityId);
//用于保存的对象列表
List<BirActivityCenterGoods> bacgList = new ArrayList<>();
@ -268,7 +279,7 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl<BirActivityCe
if(dateSplitList.size()>1){
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<BirActivityCe
}else if (dateSplitList.size()==1){
DateSplitDTO currDateSplit = dateSplitList.get(0);
//获取该项分割金额对象
BirCenterGoodSplitDTO goodSplitDTO = this.buildSplitAmount(activityCenterGoods,
BirCenterGoodSplitDTO goodSplitDTO = this.buildSplitAmount(activity,activityCenterGoods,
dateSplitList, currDateSplit,currentActDays);
//创建底表对象
BirActivityCenterGoods entity = createBirActivityCenterGoodsEntity(costCenterList,
@ -307,9 +318,7 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl<BirActivityCe
return birRemoveId;
}).collect(Collectors.toList());
removeIds.forEach(a -> {
birRemoveIdMapper.insert(a);
});
birRemoveIdService.saveBatch(removeIds);
}
this.remove(birBaseActivityLqw);
}
@ -500,7 +509,7 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl<BirActivityCe
* @param currentActDays
* @return
*/
private BirCenterGoodSplitDTO buildSplitAmount(TbsActivityCenterGoods activityCenterGoods,
private BirCenterGoodSplitDTO buildSplitAmount(TbsActivity activity,TbsActivityCenterGoods activityCenterGoods,
List<DateSplitDTO> dateSplitList ,
DateSplitDTO currDateSplit,
Integer currentActDays){
@ -539,7 +548,8 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl<BirActivityCe
goodSplitDTO.setCurrentSplitCheckAmount(splitCenterGoodsAmount);
goodSplitDTO.setCurrentSplitPayAmount(splitPayAmount);
goodSplitDTO.setCurrentSplitReleaseAmount(BigDecimal.ZERO);
if(activityCenterGoods.getActivityFinishedFlag()!=null&&activityCenterGoods.getActivityFinishedFlag().equals(1)){
if(activity.getActivityState()!=null&&activity.getActivityState().equals(TbsActivityState.STATE_1_Finished)
||activity.getActivityState().equals(TbsActivityState.STATE_4_Release)){
BigDecimal currentReleaseAmount = splitCenterGoodsAmount.subtract(splitCheckAmount);
goodSplitDTO.setCurrentSplitReleaseAmount(currentReleaseAmount);
goodSplitDTO.setCurrentSplitCheckAmount(splitCheckAmount);

22
src/main/java/com/qs/serve/modules/bir/service/impl/BirRemoveIdServiceImpl.java

@ -0,0 +1,22 @@
package com.qs.serve.modules.bir.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qs.serve.modules.bir.entity.BirRemoveId;
import com.qs.serve.modules.bir.mapper.BirRemoveIdMapper;
import com.qs.serve.modules.bir.service.BirRemoveIdService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
/**
* @author YenHex
* @since 2024/1/29
*/
@Slf4j
@Service
@AllArgsConstructor
public class BirRemoveIdServiceImpl extends ServiceImpl<BirRemoveIdMapper, BirRemoveId> implements BirRemoveIdService {
}

1
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();

53
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<String> paramCodes = codesDTO.getCodes().stream().map(String::trim).distinct().collect(Collectors.toList());
if(paramCodes.size()>5000){
return R.error("每次最多处理5000条");
}
LambdaQueryWrapper<VtbVerification> lqw = new LambdaQueryWrapper<>();
lqw.select(VtbVerification::getId,VtbVerification::getVerificationCode)
.in(VtbVerification::getVerificationCode,paramCodes)
.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);
}
}
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);
}
}

2
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

16
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<String> codes;
}

7
src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerificationMapper.java

@ -29,6 +29,13 @@ public interface VtbVerificationMapper extends BaseMapper<VtbVerification> {
)
int updateCostExtUser(@Param("userId") String userId, @Param("obj") SysUser sysUser);
/**
* 设置同步支付状态
* @param codes
* @return
*/
int updateSyncPayStatus(@Param("codes") List<String> codes);
/**
* 设空继承人
* @param costIds

2
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);
}
}

2
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;

1
src/main/resources/mapper/erp/ErpDispatchDataMapper.xml

@ -63,6 +63,7 @@
#{selectId}
</foreach>
</if>
and source_table like 'autoId-%'
GROUP BY DATE_FORMAT(date,'%Y%m')
</select>

8
src/main/resources/mapper/vtb/VtbVerfifcationMapper.xml

@ -11,6 +11,14 @@
#{selectId}
</foreach>
</update>
<update id="updateSyncPayStatus">
update vtb_verification set sync_pay_flag=1 where verification_code in
<foreach collection="codes" item="selectId" index="i" open="(" close=")" separator=",">
#{selectId}
</foreach>
</update>
<delete id="cancelCostExtUserByCostIds">
update vtb_verification set ext_user_id = null,ext_user_id=null,ext_user_name=null where cost_apply_id in
<foreach collection="costIds" item="selectId" index="i" open="(" close=")" separator=",">

Loading…
Cancel
Save