Browse Source

feat(order): 搭赠通案表单对接和调试;修复错误的费用状态;预算条件停启用(未改匹配规则)

master
Yen 1 month ago
parent
commit
6a0ea379fc
  1. 3
      cms-api/cms-admin-svc/src/main/java/com/qs/serve/task/TbsTask.java
  2. 9
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/controller/OmsPromotionGiftController.java
  3. 2
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/service/impl/OmsPromotionGiftOptionsServiceImpl.java
  4. 8
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java
  5. 13
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java
  6. 3
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetCondition.java
  7. 20
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsBudgetConditionStateBo.java
  8. 13
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/mapper/TbsCostApplyMapper.java
  9. 9
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetService.java
  10. 9
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java
  11. 14
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/third/service/PortalOfCostApplication.java

3
cms-api/cms-admin-svc/src/main/java/com/qs/serve/task/TbsTask.java

@ -8,6 +8,7 @@ import com.qs.serve.modules.tbs.entity.TbsCostApply;
import com.qs.serve.modules.tbs.service.TbsActivityService;
import com.qs.serve.modules.tbs.service.TbsActivityTemplateService;
import com.qs.serve.modules.tbs.service.TbsCostApplyService;
import com.qs.serve.modules.third.service.PortalOfCostApplication;
import com.qs.serve.modules.vtb.service.VtbVerificationService;
import lombok.AllArgsConstructor;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
@ -31,6 +32,7 @@ public class TbsTask {
private final TbsCostApplyService tbsCostApplyService;
private final TbsActivityTemplateService activityTemplateService;
private final VtbVerificationService vtbVerificationService;
private final PortalOfCostApplication portalOfCostApplication;
//每日更新过期的活动,过期则进行冻结
@ -68,6 +70,7 @@ public class TbsTask {
@Scheduled(cron="0 0/30 * * * ?")
public void syncPayToErp(){
AuthContextUtils.setTenant("001");
portalOfCostApplication.fixSuccessButErrorState();
vtbVerificationService.toPayRequest();
}

9
cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/controller/OmsPromotionGiftController.java

@ -11,6 +11,7 @@ import com.qs.serve.framework.base.model.R;
import com.qs.serve.modules.oms.entity.OmsPromotionGift;
import com.qs.serve.modules.oms.entity.bo.OmsPromotionGiftBo;
import com.qs.serve.modules.oms.entity.vo.OmsPromotionGiftVo;
import com.qs.serve.modules.oms.service.OmsPromotionGiftOptionsService;
import com.qs.serve.modules.oms.service.OmsPromotionGiftService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@ -31,6 +32,7 @@ import java.util.List;
public class OmsPromotionGiftController {
private OmsPromotionGiftService omsPromotionGiftService;
private OmsPromotionGiftOptionsService omsPromotionGiftOptionsService;
/**
* 获取客户所有搭赠方案
@ -64,6 +66,13 @@ public class OmsPromotionGiftController {
@SysLog(module = SystemModule.BASE, title = "搭赠方案", biz = BizType.QUERY)
public R<OmsPromotionGiftVo> getById(@PathVariable("id") String id){
OmsPromotionGiftVo omsPromotionGift = omsPromotionGiftService.getDetailVo(id);
if (omsPromotionGift!=null&&omsPromotionGift.getGiftStatus()==1){
try {
omsPromotionGiftOptionsService.runCompensate(id);
} finally {
}
}
return R.ok(omsPromotionGift);
}

2
cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/service/impl/OmsPromotionGiftOptionsServiceImpl.java

@ -245,7 +245,7 @@ public class OmsPromotionGiftOptionsServiceImpl implements OmsPromotionGiftOptio
public String getSyFormIdByTargetInfo(TbsAffairCommitBo affairCommit) {
OmsPromotionGift entity = omsPromotionGiftService.getById(affairCommit.getTargetId());
if(entity!=null&&entity.getSyFormId()!=null){
if (!entity.getGiftStatus().equals(OmsPromGitStatus.STATUS_0_Save)
if (!entity.getGiftStatus().equals(OmsPromGitStatus.STATUS_1_Checking)
&&!entity.getGiftStatus().equals(OmsPromGitStatus.STATUS_3_Back)){
Assert.throwEx("单据状态已更新,请刷新当前页面");
}

8
cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java

@ -23,6 +23,7 @@ import com.qs.serve.modules.tbs.entity.bo.TbsActivityReopenBo;
import com.qs.serve.modules.tbs.entity.vo.TbsActivityCenterGoodsVo;
import com.qs.serve.modules.tbs.entity.vo.TbsActivityDefaultCenterVo;
import com.qs.serve.modules.tbs.service.*;
import com.qs.serve.modules.third.service.PortalOfCostApplication;
import com.qs.serve.modules.vtb.service.VtbVerificationService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@ -63,9 +64,16 @@ public class TbsActivityController {
private final TbsActivityApplicationService tbsActivityApplicationService;
private final TbsCostApplyPart1Service tbsCostApplyPart1Service;
private final TbsCostApplyService tbsCostApplyService;
private final PortalOfCostApplication portalOfCostApplication;
TbsActivityDebugApplicationService tbsActivityDebugApplicationService;
@GetMapping("/fixErrorSuccess")
public R<?> fixErrorSuccess(){
portalOfCostApplication.fixSuccessButErrorState();
return R.ok();
}
/**
* 跳过支付
* @param id

13
cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java

@ -27,6 +27,7 @@ import com.qs.serve.modules.tbs.service.*;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import com.qs.serve.modules.tbs.entity.so.TbsBudgetSo;
@ -201,6 +202,18 @@ public class TbsBudgetController {
return R.ok(vo);
}
/**
* 预算不运作状态
* @return
*/
@SysLog(module = SystemModule.Budget, title = "停用预算条件", biz = BizType.GRANT)
@PostMapping("/updateConditionMatchFlag/{conditionId}")
public R<?> updateConditionMatchFlag(@PathVariable("conditionId")Long conditionId,
@RequestBody @Validated TbsBudgetConditionStateBo param){
tbsBudgetService.updateConditionMatchFlag(param.getBudgetId(),conditionId,param.getStopMatchFlag());
return R.ok();
}
/**
* 更新
* @param param

3
cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetCondition.java

@ -37,6 +37,9 @@ public class TbsBudgetCondition implements Serializable {
private Long changeId;
/** 暂用这个匹配条件,仅限与匹配预算流程,不影响历史匹配的费用 */
private Integer stopMatchFlag;
/** 目标类型(brand、category、series、spu、sku) */
@NotBlank(message = "目标类型(brand、category、series、spu、sku)不能为空")
@Length(max = 30,message = "目标类型(brand、category、series、spu、sku)长度不能超过30字")

20
cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsBudgetConditionStateBo.java

@ -0,0 +1,20 @@
package com.qs.serve.modules.tbs.entity.bo;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @author YenHex
* @since 2025/6/19
*/
@Data
public class TbsBudgetConditionStateBo {
@NotNull
private Long budgetId;
@NotNull
private Integer stopMatchFlag;
}

13
cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/mapper/TbsCostApplyMapper.java

@ -23,6 +23,19 @@ import java.util.List;
*/
public interface TbsCostApplyMapper extends BaseMapper<TbsCostApply> {
/**
* 单据正常但是主表状态异常的费用id
* @return
*/
@Select(" SELECT id FROM tbs_cost_apply WHERE charge_state = 2 AND del_flag = 0 AND id in ( " +
" SELECT cost_apply_id FROM tbs_activity WHERE del_flag = 0 " +
" GROUP BY cost_apply_id " +
" HAVING COUNT(*) > 0 " +
" AND SUM( CASE WHEN activity_state NOT IN ( 2, 4, 5 ) THEN 1 ELSE 0 END ) = 0 " +
" AND COUNT( DISTINCT activity_state ) > 0 " +
") ")
List<Long> listSuccessButErrorStateCostApplyIds();
/**
* 更新协议类状态
* @return

9
cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetService.java

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.tbs.entity.TbsBudget;
import com.qs.serve.modules.tbs.entity.bo.*;
import com.qs.serve.modules.tbs.entity.vo.TbsBudgetVo;
import org.springframework.web.bind.annotation.PathVariable;
/**
* 预算 服务接口
@ -12,6 +13,14 @@ import com.qs.serve.modules.tbs.entity.vo.TbsBudgetVo;
*/
public interface TbsBudgetService extends IService<TbsBudget> {
/**
* 停用预算的匹配条件
* @param budgetId
* @param conditionId
* @param matchFlag
*/
void updateConditionMatchFlag(Long budgetId,Long conditionId,Integer matchFlag);
/**
* 提交申请
* @param id

9
cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java

@ -93,6 +93,15 @@ public class TbsBudgetServiceImpl extends ServiceImpl<TbsBudgetMapper,TbsBudget>
private SeeYonRequestService seeYonService;
private ProjectProperties projectProperties;
@Override
public void updateConditionMatchFlag(Long budgetId, Long conditionId, Integer matchFlag) {
TbsBudgetCondition condition = budgetConditionService.getById(conditionId);
if (condition==null || !condition.getBudgetId().equals(budgetId)){
Assert.throwEx("请求参数与业务不匹配");
}
condition.setStopMatchFlag(matchFlag);
budgetConditionService.updateById(condition);
}
@Override
public void commitApply(Long id) {

14
cms-modules/cms-system/src/main/java/com/qs/serve/modules/third/service/PortalOfCostApplication.java

@ -1,8 +1,10 @@
package com.qs.serve.modules.third.service;
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.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.qs.serve.framework.base.config.properties.ProjectApisProperties;
import com.qs.serve.common.exception.Assert;
import com.qs.serve.framework.base.model.consts.SysConfigKey;
@ -133,6 +135,18 @@ public class PortalOfCostApplication {
private ProjectApisProperties projectApisProperties;
private SysConfigService sysConfigService;
public void fixSuccessButErrorState(){
List<Long> ids = tbsCostApplyMapper.listSuccessButErrorStateCostApplyIds();
if (CollUtil.isNotEmpty(ids)){
costApplyService.update(
new LambdaUpdateWrapper<TbsCostApply>()
.in(TbsCostApply::getId,ids)
.set(TbsCostApply::getChargeState,3)
);
}
}
/**
*
* @param recId

Loading…
Cancel
Save