Browse Source

fix:bir兼容历史客户空异常

opt: 申请类型选择科目的时候只能选择行销费用
checkBack
Yen 1 year ago
parent
commit
0d4241890d
  1. 18
      src/main/java/com/qs/serve/modules/bir/controller/BirActivityCenterGoodsController.java
  2. 25
      src/main/java/com/qs/serve/modules/bir/service/impl/BirActivityCenterGoodsServiceImpl.java
  3. 3
      src/main/java/com/qs/serve/modules/bir/service/impl/BirBaseActivityServiceImpl.java
  4. 34
      src/main/java/com/qs/serve/modules/bms/controller/BmsSubjectController.java
  5. 16
      src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java
  6. 2
      src/main/java/com/qs/serve/modules/pay/service/impl/PayPaymentServiceImpl.java
  7. 2
      src/main/resources/mapper/bms/BmsSupplierMapper.xml

18
src/main/java/com/qs/serve/modules/bir/controller/BirActivityCenterGoodsController.java

@ -155,12 +155,12 @@ public class BirActivityCenterGoodsController {
public R<?> syncBir(Integer idType){
LambdaQueryWrapper<TbsCostApply> lqw = new LambdaQueryWrapper<>();
lqw
.select(TbsCostApply::getId).ne(TbsCostApply::getChargeState,0)
.eq(TbsCostApply::getCancelFlag,0)
.gt(TbsCostApply::getTotalActivity,0)
.ne(TbsCostApply::getTmpState,11)
.le(TbsCostApply::getCreateTime, LocalDate.of(2024,1,1).atStartOfDay())
.ge(TbsCostApply::getCreateTime, LocalDate.of(2024,2,1).atStartOfDay()) ;
.select(TbsCostApply::getId).in(TbsCostApply::getChargeState,1,2,3,7)
//.eq(TbsCostApply::getCancelFlag,0)
//.ne(TbsCostApply::getTotalActivity,0)
.ne(TbsCostApply::getTmpState,20)
.ge(TbsCostApply::getCreateTime, LocalDate.of(2023,9,1).atStartOfDay())
.le(TbsCostApply::getCreateTime, LocalDate.of(2024,1,1).atStartOfDay()) ;
boolean ex = extracted(lqw);
while (!ex){
ex = extracted(lqw);
@ -173,11 +173,13 @@ public class BirActivityCenterGoodsController {
if(CollectionUtil.isEmpty(costIds)){
return true;
}
for (Long costId : costIds) {
for (int i = 0; i < costIds.size(); i++) {
Long costId = costIds.get(i);
centerGoodsService.rebuildBir(Arrays.asList(costId));
tbsCostApplyService.update(new LambdaUpdateWrapper<TbsCostApply>()
.eq(TbsCostApply::getId,costId)
.set(TbsCostApply::getTmpState,11));
.set(TbsCostApply::getTmpState,20));
log.info("{}/{} {}",i,costIds.size(),costId);
}
return costIds.size()<100;
}

25
src/main/java/com/qs/serve/modules/bir/service/impl/BirActivityCenterGoodsServiceImpl.java

@ -139,19 +139,22 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl<BirActivityCe
.collect(Collectors.groupingBy(TbsActivityCenterGoods::getActivityId));
LambdaQueryWrapper<BmsSupplier> supplierLqw = new LambdaQueryWrapper<>();
supplierLqw.in(BmsSupplier::getId,activityCenterGoodsAllList.stream().map(a->a.getSupplierId()).distinct().collect(Collectors.toList()));
supplierLqw.in(BmsSupplier::getCode,activityCenterGoodsAllList.stream().map(TbsActivityCenterGoods::getSupplierCode).distinct().collect(Collectors.toList()));
List<BmsSupplier> bmsSupplierList = bmsSupplierMapper.selectList(supplierLqw);
Map<String,BmsSupplier> supplierMap = bmsSupplierList.stream().collect(Collectors.toMap(BmsSupplier::getId,a->a));
LambdaQueryWrapper<BmsRegion> regionLqw = new LambdaQueryWrapper<>();
regionLqw.in(BmsRegion::getId,bmsSupplierList.stream().map(a->a.getRegionLast()).collect(Collectors.toList()));
List<BmsRegion> saleRegionList = regionMapper.selectList(regionLqw);
Map<String,BmsRegion> saleRegionMap = saleRegionList.stream().collect(Collectors.toMap(BmsRegion::getId,a->a));
LambdaQueryWrapper<BmsRegion2> region2Lqw = new LambdaQueryWrapper<>();
region2Lqw.in(BmsRegion2::getId,bmsSupplierList.stream().map(a->a.getRegion2Last()).collect(Collectors.toList()));
List<BmsRegion2> bizRegionList = region2Mapper.selectList(region2Lqw);
Map<String,BmsRegion2> bizRegionMap = bizRegionList.stream().collect(Collectors.toMap(BmsRegion2::getId,a->a));
Map<String,BmsRegion> saleRegionMap = null;
Map<String,BmsRegion2> bizRegionMap = null;
if(CollUtil.isNotEmpty(bmsSupplierList)) {
LambdaQueryWrapper<BmsRegion> regionLqw = new LambdaQueryWrapper<>();
regionLqw.in(BmsRegion::getId,bmsSupplierList.stream().map(BmsSupplier::getRegionLast).collect(Collectors.toList()));
List<BmsRegion> saleRegionList = regionMapper.selectList(regionLqw);
saleRegionMap = saleRegionList.stream().collect(Collectors.toMap(BmsRegion::getId, a->a));
LambdaQueryWrapper<BmsRegion2> region2Lqw = new LambdaQueryWrapper<>();
region2Lqw.in(BmsRegion2::getId,bmsSupplierList.stream().map(BmsSupplier::getRegion2Last).collect(Collectors.toList()));
List<BmsRegion2> bizRegionList = region2Mapper.selectList(region2Lqw);
bizRegionMap = bizRegionList.stream().collect(Collectors.toMap(BmsRegion2::getId, a->a));
}
//过滤无效的费用申请
LambdaQueryWrapper<TbsCostApply> costLqw = new LambdaQueryWrapper<>();
@ -225,8 +228,10 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl<BirActivityCe
}
}
if(bacgList.size()>0){
LocalDateTime nowTime = LocalDateTime.now();
for (BirActivityCenterGoods bir : bacgList) {
bir.setId(IdUtil.getSnowflakeNextId());
bir.setUpdateTime(nowTime);
super.getBaseMapper().insert(bir);
}
}

3
src/main/java/com/qs/serve/modules/bir/service/impl/BirBaseActivityServiceImpl.java

@ -24,6 +24,7 @@ import com.qs.serve.modules.bir.mapper.BirBaseActivityMapper;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.Period;
import java.util.ArrayList;
import java.util.List;
@ -176,8 +177,10 @@ public class BirBaseActivityServiceImpl extends ServiceImpl<BirBaseActivityMappe
}
//保存
LocalDateTime nowTime = LocalDateTime.now();
for (BirBaseActivity baseActivity : birBaseActivities) {
baseActivity.setId(IdUtil.getSnowflakeNextId());
baseActivity.setUpdateTime(nowTime);
super.getBaseMapper().insert(baseActivity);
}
}

34
src/main/java/com/qs/serve/modules/bms/controller/BmsSubjectController.java

@ -106,7 +106,7 @@ public class BmsSubjectController {
List<String> subjectIds2 = subjectRegionList.stream().map(a->a.getSubjectId().toString())
.distinct().collect(Collectors.toList());
subjectIds.addAll(subjectIds2);
recursionToSetSelectAble(treeVoList, subjectIds);
recursionToSetSelectAble(treeVoList, subjectIds,null);
}
}
@ -123,30 +123,42 @@ public class BmsSubjectController {
findParentVoAndAddToList(treeVoList,newTreeVoList,pVo);
}
}
/**
* 递归设置可选
* @param treeVoList
* @param subjectIds
* @param parentNode
*/
private void recursionToSetSelectAble(List<?> treeVoList, List<String> subjectIds) {
private void recursionToSetSelectAble(List<?> treeVoList, List<String> subjectIds,BmsSubjectTreeVo parentNode) {
if(CollectionUtil.isEmpty(treeVoList)){
return;
}
for (Object object : treeVoList) {
BmsSubjectTreeVo subjectTreeVo = (BmsSubjectTreeVo)object;
if(CollectionUtil.isEmpty(subjectTreeVo.getChildren())){
if(subjectTreeVo.getBizRegionFlag().equals(0)||subjectTreeVo.getSaleRegionFlag().equals(0)){
subjectTreeVo.setApiSelectAble(1);
}else {
for (String subjectId : subjectIds) {
if(subjectTreeVo.getId().equals(subjectId)){
if(subjectTreeVo.getPid().equals(0L)){
for (String subjectId : subjectIds) {
if(subjectTreeVo.getId().equals(subjectId)){
subjectTreeVo.setApiSelectAble(1);
break;
}
}
parentNode = subjectTreeVo;
}else {
if(parentNode.getApiSelectAble().equals(1)){
if(subjectTreeVo.getBizRegionFlag().equals(0)||subjectTreeVo.getSaleRegionFlag().equals(0)){
if(!parentNode.getApiSelectAble().equals(0)){
subjectTreeVo.setApiSelectAble(1);
break;
}
}
}
}else {
recursionToSetSelectAble(subjectTreeVo.getChildren(),subjectIds);
}
if(CollectionUtil.isNotEmpty(subjectTreeVo.getChildren())){
if(parentNode.getApiSelectAble().equals(0)){
recursionToSetSelectAble(subjectTreeVo.getChildren(),subjectIds,subjectTreeVo);
}else {
recursionToSetSelectAble(subjectTreeVo.getChildren(),subjectIds,subjectTreeVo);
}
}
}
}

16
src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java

@ -3,6 +3,7 @@ package com.qs.serve.modules.goods.controller;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.qs.serve.common.config.DevEnvironmentConfig;
import com.qs.serve.common.model.annotation.SysLog;
import com.qs.serve.common.model.dto.PageVo;
@ -123,6 +124,21 @@ public class GoodsSpuController {
return R.ok(result);
}
/**
* 更新spu下单状态
* @param spuCode
* @param state
* @return
*/
@PutMapping("/orderState/{spuCode}/{state}")
public R<?> updateOrderState(@PathVariable("spuCode")String spuCode,
@PathVariable("state") Integer state){
boolean ok = goodsSpuService.update(new LambdaUpdateWrapper<GoodsSpu>()
.eq(GoodsSpu::getSpuCode,spuCode).set(GoodsSpu::getOrderFlag,state));
return R.isTrue(ok);
}
/**
* spu下单查询
* @param param

2
src/main/java/com/qs/serve/modules/pay/service/impl/PayPaymentServiceImpl.java

@ -135,7 +135,7 @@ public class PayPaymentServiceImpl extends ServiceImpl<PayPaymentMapper,PayPayme
LambdaQueryWrapper<PayPaymentItem> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(PayPaymentItem::getVerificationId,vtb.getId());
List<PayPaymentItem> payPaymentItemList = paymentItemService.list(lambdaQueryWrapper);
BigDecimal usedAmount = payPaymentItemList.stream().map(a->a.getItemPayAmount()).reduce(BigDecimal.ZERO,BigDecimal::add);
BigDecimal usedAmount = payPaymentItemList.stream().map(PayPaymentItem::getItemPayAmount).reduce(BigDecimal.ZERO,BigDecimal::add);
if(usedAmount==null){
usedAmount = BigDecimal.ZERO;
}

2
src/main/resources/mapper/bms/BmsSupplierMapper.xml

@ -92,7 +92,6 @@
<if test="query.regionFirst != null"> and `bms_supplier`.`region_first` = #{query.regionFirst}</if>
<if test="query.regionSecond != null"> and `bms_supplier`.`region_second` = #{query.regionSecond}</if>
<if test="query.regionThird != null"> and `bms_supplier`.`region_third` = #{query.regionThird}</if>
<if test="query.cdOrderFlag != null"> and `bms_supplier`.`cd_order_flag` = #{query.regionThird}</if>
<if test="query.supplierFlag != null"> and `bms_supplier`.`supplier_flag` = #{query.supplierFlag}</if>
<if test="query.address != null and query.address != ''"> and `bms_supplier`.`address` = #{query.address}</if>
<if test="query.name != null and query.name != ''"> and `bms_supplier`.`name` like concat('%',#{query.name},'%') </if>
@ -103,6 +102,7 @@
<if test="query.parentCode != null and query.parentCode != ''"> and `bms_supplier`.`parent_code` = #{query.parentCode}</if>
<if test="query.stopFlag != null"> and `bms_supplier`.`stop_flag` = #{query.stopFlag}</if>
<if test="query.belong != null and query.belong != ''"> and `bms_supplier`.`belong` = #{query.belong}</if>
<if test="query.cdOrderFlag != null"> and `bms_supplier`.`cd_order_flag` = #{query.cdOrderFlag}</if>
<if test="query.createTime != null"> and `bms_supplier`.`create_time` = #{query.createTime}</if>
<if test="query.createBy != null and query.createBy != ''"> and `bms_supplier`.`create_by` = #{query.createBy}</if>
<if test="query.updateTime != null"> and `bms_supplier`.`update_time` = #{query.updateTime}</if>

Loading…
Cancel
Save