From 843e2eaca7e5a754532c26f46ff48674612945a6 Mon Sep 17 00:00:00 2001 From: Yen Date: Wed, 16 Aug 2023 16:42:33 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E5=8C=B9=E9=85=8D=E8=A7=84=E5=88=99?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E4=BF=AE=E5=A4=8D=EF=BC=9B=E4=BA=BA=E5=91=98?= =?UTF-8?q?=E7=A6=BB=E8=81=8C=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ExlTableConfController.java | 2 +- .../controller/ExlTableDataController.java | 23 ++++++++++++-- .../tbs/common/util/CostSort2WrapperUtil.java | 4 +-- .../TbsBudgetApplyOperationServiceImpl.java | 31 ++++++++++++++++++- .../TbsBudgetChangeOperationServiceImpl.java | 4 +-- .../impl/TbsBudgetChangeServiceImpl.java | 2 +- .../service/impl/TbsBudgetServiceImpl.java | 2 +- .../impl/VtbVerificationServiceImpl.java | 2 +- src/main/java/com/qs/serve/task/SysTask.java | 11 +++++++ .../task/controller/TaskUserController.java | 28 +++++++++++++++++ 10 files changed, 97 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/qs/serve/modules/exl/controller/ExlTableConfController.java b/src/main/java/com/qs/serve/modules/exl/controller/ExlTableConfController.java index 4ffadbb6..7ac3c139 100644 --- a/src/main/java/com/qs/serve/modules/exl/controller/ExlTableConfController.java +++ b/src/main/java/com/qs/serve/modules/exl/controller/ExlTableConfController.java @@ -55,7 +55,7 @@ public class ExlTableConfController { * @param param * @return */ - //@GetMapping("/list") + @GetMapping("/list") public R> getList(ExlTableConf param){ LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(param); List list = exlTableConfService.list(lqw); diff --git a/src/main/java/com/qs/serve/modules/exl/controller/ExlTableDataController.java b/src/main/java/com/qs/serve/modules/exl/controller/ExlTableDataController.java index 8d97b54b..e959c5e5 100644 --- a/src/main/java/com/qs/serve/modules/exl/controller/ExlTableDataController.java +++ b/src/main/java/com/qs/serve/modules/exl/controller/ExlTableDataController.java @@ -36,7 +36,7 @@ import java.util.Map; import java.util.stream.Collectors; /** - * 动态Excel表 表配置 + * 动态Excel表 数据查询 * @author YenHex * @since 2023-08-11 */ @@ -52,11 +52,11 @@ public class ExlTableDataController { private ExlTableConfMapper exlTableConfMapper; /** - * test + * 翻页查询 * @return */ @GetMapping("/page/{tableConfigId}") - public R test(@PathVariable("tableConfigId") Long tableConfigId,@RequestParam Map map){ + public R page(@PathVariable("tableConfigId") Long tableConfigId,@RequestParam Map map){ // table ExlTableConf tableConf = exlTableConfService.getById(tableConfigId); // columns @@ -124,6 +124,23 @@ public class ExlTableDataController { List columnList = exlColumnConfService.list(columnLqw); String targetTableName = ExlConst.TABLE_NAME_PRE + tableConf.getTableName(); + //移除旧历史 + int keyCount = (int) columnList.stream().filter(a -> a.getKeyFlag().equals(1)).count(); + if(keyCount>0){ + StringBuilder removeSql = new StringBuilder("delete from "+targetTableName+" where union_row_id in ("); + for (int k = 0;k < param.size(); k++) { + Object obj = param.get(k); + JSONObject jsonObject = JSONObject.parseObject(JsonUtil.objectToJson(obj)); + String unionId = TableCreateSqlUtil.buildUnionId(columnList,jsonObject); + removeSql.append("'"+unionId+"'"); + if(k+1 { - int len1 = o1.getConditionGoodsIds().split("_").length; - int len2 = o2.getConditionGoodsIds().split("_").length; + int len1 = o1.getConditionGoodsIds()==null?0:o1.getConditionGoodsIds().split("_").length; + int len2 = o2.getConditionGoodsIds()==null?0:o2.getConditionGoodsIds().split("_").length; log.debug("时间区间相同,len1:{} , len2:{}",len1,len2); return len2 - len1; }); diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetApplyOperationServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetApplyOperationServiceImpl.java index 23dcf8cb..e707d29a 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetApplyOperationServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetApplyOperationServiceImpl.java @@ -1,18 +1,30 @@ package com.qs.serve.modules.tbs.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.qs.serve.common.framework.manager.AsyncFactory; import com.qs.serve.common.framework.manager.AsyncManager; +import com.qs.serve.common.model.enums.BudgetLogOptFlag; import com.qs.serve.common.util.Assert; +import com.qs.serve.common.util.AuthContextUtils; import com.qs.serve.modules.seeyon.service.SeeYonOperationService; +import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.tbs.common.TbsBudgetCheckState; import com.qs.serve.modules.tbs.common.TbsSeeYonConst; +import com.qs.serve.modules.tbs.common.util.TbsBudgetLogBuildUtil; import com.qs.serve.modules.tbs.entity.TbsBudget; +import com.qs.serve.modules.tbs.entity.TbsBudgetLog; +import com.qs.serve.modules.tbs.entity.TbsScheduleItemBudget; import com.qs.serve.modules.tbs.entity.bo.TbsAffairCommitBo; import com.qs.serve.modules.tbs.mapper.TbsBudgetMapper; +import com.qs.serve.modules.tbs.service.TbsBudgetLogService; +import com.qs.serve.modules.tbs.service.TbsScheduleItemBudgetService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.List; + /** * 预算申请 * @author YenHex @@ -23,7 +35,9 @@ import org.springframework.stereotype.Service; @AllArgsConstructor public class TbsBudgetApplyOperationServiceImpl implements SeeYonOperationService { - private TbsBudgetMapper budgetMapper; + private final TbsBudgetMapper budgetMapper; + private final TbsBudgetLogService budgetLogService; + private final TbsScheduleItemBudgetService scheduleItemBudgetService; @Override public boolean checkSyFormIdIsNotNull(String targetId) { @@ -68,6 +82,21 @@ public class TbsBudgetApplyOperationServiceImpl implements SeeYonOperationServic //启用预算 tbsBudget.setBudgetState(1); budgetMapper.updateById(tbsBudget); + + SysUser sysUser = getSysUserService().getById(AuthContextUtils.getSysUserId()); + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(TbsScheduleItemBudget::getBudgetId,param.getTargetId()); + List scheduleItemBudgets = scheduleItemBudgetService.list(lqw); + //保存预算流水日志 + List budgetLogList = new ArrayList<>(); + for (TbsScheduleItemBudget scheduleItemBudget : scheduleItemBudgets) { + TbsBudgetLog budgetLog = TbsBudgetLogBuildUtil.toTbsBudgetLog(sysUser, tbsBudget, scheduleItemBudget, BudgetLogOptFlag.State_0,scheduleItemBudget.getBudgetAmount()); + if (budgetLog!=null){ + budgetLogList.add(budgetLog); + } + } + budgetLogService.saveBatch(budgetLogList); + } return null; } diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeOperationServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeOperationServiceImpl.java index a2c717cc..9d12e728 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeOperationServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeOperationServiceImpl.java @@ -103,7 +103,7 @@ public class TbsBudgetChangeOperationServiceImpl implements SeeYonOperationServi } //更新金额 List changeScheduleItemList = tbsBudgetChangeScheduleItemService.listByChangeId(budgetChange.getId()); - if(CollectionUtil.isNotEmpty(changeConditionList)){ + if(CollectionUtil.isNotEmpty(changeScheduleItemList)){ List scheduleItemBudgetIds = changeScheduleItemList.stream().map(TbsBudgetChangeScheduleItem::getSourceId).collect(Collectors.toList()); List scheduleItemBudgetList = tbsScheduleItemBudgetService.listByIds(scheduleItemBudgetIds); for (TbsScheduleItemBudget item : scheduleItemBudgetList) { @@ -127,7 +127,7 @@ public class TbsBudgetChangeOperationServiceImpl implements SeeYonOperationServi boolean changeAmtIsNotNull = changeItem.getBudgetAmount()!=null&&changeItem.getNewBudgetAmount()!=null; if(changeAmtIsNotNull && changeItem.getBudgetAmount().compareTo(changeItem.getNewBudgetAmount())!=0){ BudgetLogOptFlag optType; - BigDecimal amount = changeItem.getBudgetAmount().subtract(changeItem.getNewBudgetAmount()); + BigDecimal amount = changeItem.getNewBudgetAmount().subtract(changeItem.getBudgetAmount()); if(amount.compareTo(BigDecimal.ZERO)>0){ optType = BudgetLogOptFlag.State_2; }else if(amount.compareTo(BigDecimal.ZERO)<0){ diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java index 32ede9e9..031e42e0 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java @@ -140,7 +140,7 @@ public class TbsBudgetChangeServiceImpl extends ServiceImpl budgetConditionService.remove(lqw); }else { budget = CopierUtil.copy(budgetBo,new TbsBudget()); - budget.setBudgetNumber(CodeGenUtil.generate(CodeGenUtil.SourceKey.Budget)); + budget.setBudgetNumber("BM"+CodeGenUtil.generate(CodeGenUtil.SourceKey.Budget)); } List skuIds = budgetBo.getSkuIds(); List spuIds = budgetBo.getSpuIds(); diff --git a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java index f8865990..e877a3bf 100644 --- a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java @@ -515,7 +515,7 @@ public class VtbVerificationServiceImpl extends ServiceImpl doLeave(){ + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.select(SysUserLeave::getUserId,SysUserLeave::getId); + lqw.le(SysUserLeave::getLeaveEffectDate, LocalDate.now()); + lqw.eq(SysUserLeave::getLeaveStatus,0); + List sysUserLeaves = sysUserLeaveService.list(lqw); + if(sysUserLeaves.size()<1){ + return null; + } + for (SysUserLeave userLeaf : sysUserLeaves) { + userLeaf.setLeaveStatus(1); + } + sysUserLeaveService.updateBatchById(sysUserLeaves); + List userIds = sysUserLeaves.stream().map(a->a.getUserId()).collect(Collectors.toList()); + LambdaQueryWrapper updLqw = new LambdaQueryWrapper<>(); + updLqw.in(SysUser::getId,userIds); + SysUser sysUser = new SysUser(); + sysUser.setServingState(0); + sysUser.setServingLeaveDate(LocalDate.now()); + sysUserService.update(sysUser,updLqw); + return R.ok(); + } /** * 同步致远的用户到CRM From ac0ffa9077be91e24c9abc68f6d7d459aee01060 Mon Sep 17 00:00:00 2001 From: Yen Date: Wed, 16 Aug 2023 18:02:29 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E5=8C=B9=E9=85=8D=E8=A7=84=E5=88=99?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E4=BF=AE=E5=A4=8D=EF=BC=9B=E4=BA=BA=E5=91=98?= =?UTF-8?q?=E7=A6=BB=E8=81=8C=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 6 +++ .../bir/entity/BirActivityCenterGoods.java | 42 +++++++++++++++++++ .../qs/serve/modules/exl/common/ExlConst.java | 3 ++ .../exl/common/TableCreateSqlUtil.java | 6 ++- .../controller/ExlTableDataController.java | 30 ++++++++++--- .../exl/entity/dto/ExlBatchSaveBo.java | 21 ++++++++++ .../exl/mapper/ExlTableConfMapper.java | 3 ++ .../mapper/exl/ExlTableConfMapper.xml | 31 +++++++++----- 8 files changed, 125 insertions(+), 17 deletions(-) create mode 100644 src/main/java/com/qs/serve/modules/exl/entity/dto/ExlBatchSaveBo.java diff --git a/pom.xml b/pom.xml index d7146001..40a8e590 100644 --- a/pom.xml +++ b/pom.xml @@ -32,6 +32,12 @@ + + com.alibaba + easyexcel + 3.3.2 + + com.fasterxml.jackson.datatype jackson-datatype-jsr310 diff --git a/src/main/java/com/qs/serve/modules/bir/entity/BirActivityCenterGoods.java b/src/main/java/com/qs/serve/modules/bir/entity/BirActivityCenterGoods.java index b9a0a49f..3df444de 100644 --- a/src/main/java/com/qs/serve/modules/bir/entity/BirActivityCenterGoods.java +++ b/src/main/java/com/qs/serve/modules/bir/entity/BirActivityCenterGoods.java @@ -5,6 +5,7 @@ import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnore; @@ -32,72 +33,89 @@ public class BirActivityCenterGoods implements Serializable { private Long id; /** 活动费用明细 */ + @ExcelProperty("活动费用明细ID") @NotNull(message = "活动费用明细不能为空") private Long activityCenterGoodsId; /** 年月 */ + @ExcelProperty("年月") @NotNull(message = "年月不能为空") private Integer keyNum; /** 天数 */ + @ExcelProperty("天数") @NotNull(message = "天数不能为空") private Integer days; + @ExcelProperty("当月有多少天") @NotNull(message = "天数不能为空") private Integer dayOfMouth; /** 开始日期 */ + @ExcelProperty("开始日期") @NotNull(message = "开始日期不能为空") @DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") private LocalDate starDate; /** 结束日期 */ + @ExcelProperty("结束日期") @NotNull(message = "结束日期不能为空") @DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") private LocalDate endDate; /** 分配的预算金额 */ + @ExcelProperty("分配的预算金额") @NotNull(message = "分配的预算金额不能为空") private BigDecimal splitAmount; /** 分配的核销金额 */ + @ExcelProperty("分配的核销金额") @NotNull(message = "分配的核销金额不能为空") private BigDecimal splitUsedAmount; /** 分配的释放金额 */ + @ExcelProperty("分配的释放金额") @NotNull(message = "分配的释放金额不能为空") private BigDecimal splitReleaseAmount; /** 成本明细编码 */ + @ExcelProperty("成本明细编码") @Length(max = 30,message = "成本明细编码长度不能超过30字") private String centerGoodsCode; /** 费用申请id */ + @ExcelProperty("费用申请id") @NotNull(message = "费用申请id不能为空") private Long costApplyId; /** 活动id */ + @ExcelProperty("活动id") @NotNull(message = "活动id不能为空") private Long activityId; /** 活动编码 */ + @ExcelProperty("活动编码") @NotBlank(message = "活动编码不能为空") @Length(max = 30,message = "活动编码长度不能超过30字") @TableField(condition = SqlCondition.LIKE) private String activityCode; /** 活动总金额 */ + @ExcelProperty("活动总金额") private BigDecimal activityTotalAmount; /** 活动总核销金额 */ + @ExcelProperty("活动总核销金额") private BigDecimal activityTotalCheckAmount; /** 活动完成主题 */ + @ExcelProperty("活动完成主题") private Integer activityFinishedFlag; /** 活动释放 */ + @ExcelProperty("活动释放金额") private BigDecimal activityTotalReleaseAmount; /** 科目id */ @@ -105,18 +123,21 @@ public class BirActivityCenterGoods implements Serializable { private Long subjectId; /** 科目编码 */ + @ExcelProperty("科目编码") @NotBlank(message = "科目编码不能为空") @Length(max = 50,message = "科目编码长度不能超过50字") @TableField(condition = SqlCondition.LIKE) private String subjectCode; /** 科目名称 */ + @ExcelProperty("科目名称") @NotBlank(message = "科目名称不能为空") @Length(max = 50,message = "科目名称长度不能超过50字") @TableField(condition = SqlCondition.LIKE) private String subjectName; /** 成本中心类型 */ + @ExcelProperty("成本中心类型") @NotBlank(message = "成本中心类型不能为空") @Length(max = 50,message = "成本中心类型长度不能超过50字") private String centerType; @@ -127,38 +148,46 @@ public class BirActivityCenterGoods implements Serializable { private String centerId; /** 成本中心编码 */ + @ExcelProperty("成本中心编码") @NotBlank(message = "成本中心编码不能为空") @Length(max = 50,message = "成本中心编码长度不能超过50字") @TableField(condition = SqlCondition.LIKE) private String centerCode; /** 成本中心名称 */ + @ExcelProperty("成本中心名称") @NotBlank(message = "成本中心名称不能为空") @Length(max = 200,message = "成本中心名称长度不能超过200字") @TableField(condition = SqlCondition.LIKE) private String centerName; /** 成本中心金额 */ + @ExcelProperty("成本中心金额") @NotNull(message = "成本中心金额不能为空") private BigDecimal centerAmount; /** 成本中心占比 */ + @ExcelProperty("成本中心占比") @NotNull(message = "成本中心占比不能为空") private BigDecimal centerRate; /** 费用额度 */ + @ExcelProperty("费用额度") @NotNull(message = "费用额度不能为空") private BigDecimal centerGoodsAmount; /** 费用占比 */ + @ExcelProperty("费用占比") @NotNull(message = "费用占比不能为空") private BigDecimal centerGoodsRate; /** 已用费用 */ + @ExcelProperty("已用费用") @NotNull(message = "已用费用不能为空") private BigDecimal usedAmount; /** 目标类型(brand、category、series、spu、sku) */ + @ExcelProperty("商品维度类型") @NotBlank(message = "目标类型(brand、category、series、spu、sku)不能为空") @Length(max = 30,message = "目标类型(brand、category、series、spu、sku)长度不能超过30字") private String targetType; @@ -168,12 +197,14 @@ public class BirActivityCenterGoods implements Serializable { private Long targetId; /** 目标编码 */ + @ExcelProperty("商品维度编码") @NotBlank(message = "目标编码不能为空") @Length(max = 30,message = "目标编码长度不能超过30字") @TableField(condition = SqlCondition.LIKE) private String targetCode; /** 目标名称 */ + @ExcelProperty("商品维度名称") @NotBlank(message = "目标名称不能为空") @Length(max = 200,message = "目标名称长度不能超过200字") @TableField(condition = SqlCondition.LIKE) @@ -192,10 +223,12 @@ public class BirActivityCenterGoods implements Serializable { private String centerLv1Id; /** 一级成本中心 */ + @ExcelProperty("一级成本中心编码") @Length(max = 50,message = "一级成本中心长度不能超过50字") private String centerLv1Code; /** 一级成本中心 */ + @ExcelProperty("一级成本中心") @Length(max = 255,message = "一级成本中心长度不能超过255字") private String centerLv1Name; @@ -204,10 +237,12 @@ public class BirActivityCenterGoods implements Serializable { private String centerLv2Id; /** 二级成本中心 */ + @ExcelProperty("二级成本中心编码") @Length(max = 50,message = "二级成本中心长度不能超过50字") private String centerLv2Code; /** 二级成本中心 */ + @ExcelProperty("二级成本中心") @Length(max = 255,message = "二级成本中心长度不能超过255字") private String centerLv2Name; @@ -233,30 +268,35 @@ public class BirActivityCenterGoods implements Serializable { private String tenantId; /** 活动开始时间 */ + @ExcelProperty("活动开始时间") @NotNull(message = "活动开始时间不能为空") @DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") private LocalDate actStartDate; /** 活动结束时间 */ + @ExcelProperty("活动结束时间") @NotNull(message = "活动结束时间不能为空") @DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") private LocalDate actEndDate; /** 预算开始时间 */ + @ExcelProperty("预算开始时间") @NotNull(message = "预算开始时间不能为空") @DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") private LocalDate preStartDate; /** 预算结束时间 */ + @ExcelProperty("预算结束时间") @NotNull(message = "预算结束时间不能为空") @DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") private LocalDate preEndDate; /** 预计核销时间 */ + @ExcelProperty("预计核销时间") @DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") private LocalDate preCheckDate; @@ -266,12 +306,14 @@ public class BirActivityCenterGoods implements Serializable { private Long supplierId; /** 客户编码 */ + @ExcelProperty("客户编码") @NotBlank(message = "客户编码不能为空") @Length(max = 30,message = "客户编码长度不能超过30字") @TableField(condition = SqlCondition.LIKE) private String supplierCode; /** 客户名称 */ + @ExcelProperty("客户名称") @NotBlank(message = "客户名称不能为空") @Length(max = 200,message = "客户名称长度不能超过200字") @TableField(condition = SqlCondition.LIKE) diff --git a/src/main/java/com/qs/serve/modules/exl/common/ExlConst.java b/src/main/java/com/qs/serve/modules/exl/common/ExlConst.java index 6263c2f6..9ff8e8b3 100644 --- a/src/main/java/com/qs/serve/modules/exl/common/ExlConst.java +++ b/src/main/java/com/qs/serve/modules/exl/common/ExlConst.java @@ -14,6 +14,9 @@ public interface ExlConst { String TYPE_MONEY = "money"; String TYPE_STRING = "string"; + + String TABLE_CONFIG_PARAM = "tb_config_cnf_id"; + String PRE_COLUMN_START = "START--"; String PRE_COLUMN_END = "END--"; diff --git a/src/main/java/com/qs/serve/modules/exl/common/TableCreateSqlUtil.java b/src/main/java/com/qs/serve/modules/exl/common/TableCreateSqlUtil.java index d443f11a..1aecf6f7 100644 --- a/src/main/java/com/qs/serve/modules/exl/common/TableCreateSqlUtil.java +++ b/src/main/java/com/qs/serve/modules/exl/common/TableCreateSqlUtil.java @@ -1,6 +1,7 @@ package com.qs.serve.modules.exl.common; import com.alibaba.fastjson.JSONObject; +import com.qs.serve.common.util.Assert; import com.qs.serve.modules.exl.entity.ExlColumnConf; import java.util.HashMap; @@ -47,7 +48,10 @@ public class TableCreateSqlUtil { for (ExlColumnConf columnConf : columnList) { if(columnConf.getKeyFlag().equals(1)){ String val = jsonObject.getString(columnConf.getColumnName()); - val = val == null||val.length()<1? "null_":val+"_"; + if(val==null){ + Assert.throwEx("["+columnConf.getColumnName()+"]不能为空"); + } + val = val+"_"; unionId.append(val); } } diff --git a/src/main/java/com/qs/serve/modules/exl/controller/ExlTableDataController.java b/src/main/java/com/qs/serve/modules/exl/controller/ExlTableDataController.java index e959c5e5..ee72da84 100644 --- a/src/main/java/com/qs/serve/modules/exl/controller/ExlTableDataController.java +++ b/src/main/java/com/qs/serve/modules/exl/controller/ExlTableDataController.java @@ -16,6 +16,7 @@ import com.qs.serve.modules.exl.common.QsSqlSessionUtil; import com.qs.serve.modules.exl.common.TableCreateSqlUtil; import com.qs.serve.modules.exl.entity.ExlColumnConf; import com.qs.serve.modules.exl.entity.ExlTableConf; +import com.qs.serve.modules.exl.entity.dto.ExlBatchSaveBo; import com.qs.serve.modules.exl.entity.dto.ExlConditionDto; import com.qs.serve.modules.exl.entity.dto.ExlQueryFieldDto; import com.qs.serve.modules.exl.entity.dto.ExlTableBo; @@ -55,8 +56,10 @@ public class ExlTableDataController { * 翻页查询 * @return */ - @GetMapping("/page/{tableConfigId}") - public R page(@PathVariable("tableConfigId") Long tableConfigId,@RequestParam Map map){ + @GetMapping("/page") + public R page(@RequestParam Map map){ + String tableConfigId = map.get(ExlConst.TABLE_CONFIG_PARAM); + map.remove(ExlConst.TABLE_CONFIG_PARAM); // table ExlTableConf tableConf = exlTableConfService.getById(tableConfigId); // columns @@ -105,17 +108,32 @@ public class ExlTableDataController { queryMap.put("eqList",eq_conditions); queryMap.put("likeList",like_conditions); String targetTableName = ExlConst.TABLE_NAME_PRE + tableConf.getTableName(); - return R.ok(exlTableConfMapper.listData(targetTableName,queryMap)); + Long count = exlTableConfMapper.countData(targetTableName,queryMap); + PageVo vo = new PageVo(); + vo.initPageByTotal(count); + if(count>0){ + List> list = exlTableConfMapper.listData(targetTableName,queryMap); + vo.setList(list); + }else { + vo.setList(new ArrayList()); + } + return R.ok(vo); } + public R export(){ + return null; + } + /** * 新增 - * @param param + * @param saveBo * @return */ - @PostMapping("/batchSave/{tableConfigId}") - public R batchSave(@PathVariable Long tableConfigId, @RequestBody List param){ + @PostMapping("/batchSave") + public R batchSave( @RequestBody ExlBatchSaveBo saveBo){ + List param = saveBo.getParam(); + String tableConfigId = saveBo.getTb_config_cnf_id(); // table ExlTableConf tableConf = exlTableConfService.getById(tableConfigId); // columns diff --git a/src/main/java/com/qs/serve/modules/exl/entity/dto/ExlBatchSaveBo.java b/src/main/java/com/qs/serve/modules/exl/entity/dto/ExlBatchSaveBo.java new file mode 100644 index 00000000..a4276f32 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/exl/entity/dto/ExlBatchSaveBo.java @@ -0,0 +1,21 @@ +package com.qs.serve.modules.exl.entity.dto; + +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * @author YenHex + * @since 2023/8/16 + */ +@Data +public class ExlBatchSaveBo { + + @NotNull + String tb_config_cnf_id; + + @NotNull + List param; + +} diff --git a/src/main/java/com/qs/serve/modules/exl/mapper/ExlTableConfMapper.java b/src/main/java/com/qs/serve/modules/exl/mapper/ExlTableConfMapper.java index e498cef7..138c79f0 100644 --- a/src/main/java/com/qs/serve/modules/exl/mapper/ExlTableConfMapper.java +++ b/src/main/java/com/qs/serve/modules/exl/mapper/ExlTableConfMapper.java @@ -16,6 +16,9 @@ import java.util.Map; public interface ExlTableConfMapper extends BaseMapper { + @InterceptorIgnore(tenantLine = "1") + Long countData(@Param("tableName") String tableName,@Param("query")Map query); + @InterceptorIgnore(tenantLine = "1") List> listData(@Param("tableName") String tableName,@Param("query")Map query); diff --git a/src/main/resources/mapper/exl/ExlTableConfMapper.xml b/src/main/resources/mapper/exl/ExlTableConfMapper.xml index 5a753d2e..08458a96 100644 --- a/src/main/resources/mapper/exl/ExlTableConfMapper.xml +++ b/src/main/resources/mapper/exl/ExlTableConfMapper.xml @@ -30,33 +30,44 @@ exl_table_conf.`create_by`, exl_table_conf.`update_by`, exl_table_conf.`del_flag` - + select * from ${tableName} + limit #{query.startRow},#{query.pageSize} + + From c7d42936a25b54ff8d7028a312af405875610370 Mon Sep 17 00:00:00 2001 From: Yen Date: Thu, 17 Aug 2023 09:17:04 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E5=AF=BC=E5=87=BA=E5=BE=85=E6=B5=8B?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BirActivityCenterGoodsController.java | 45 ++++++++++++++++++- .../serve/modules/oss/service/OssService.java | 2 + .../oss/service/impl/OssServiceImpl.java | 13 ++++++ .../mapper/exl/ExlTableConfMapper.xml | 4 ++ 4 files changed, 62 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/qs/serve/modules/bir/controller/BirActivityCenterGoodsController.java b/src/main/java/com/qs/serve/modules/bir/controller/BirActivityCenterGoodsController.java index fda46010..e16eecf0 100644 --- a/src/main/java/com/qs/serve/modules/bir/controller/BirActivityCenterGoodsController.java +++ b/src/main/java/com/qs/serve/modules/bir/controller/BirActivityCenterGoodsController.java @@ -1,12 +1,18 @@ package com.qs.serve.modules.bir.controller; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.metadata.WriteSheet; +import com.aliyun.oss.OSS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.common.config.properties.AliYunOssProperties; import com.qs.serve.common.model.annotation.SysLog; import com.qs.serve.common.model.dto.PageVo; import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.util.CollectionUtil; +import com.qs.serve.common.util.IdUtil; import com.qs.serve.common.util.PageUtil; import com.qs.serve.common.util.StringUtils; import com.qs.serve.modules.bir.entity.BirActivityCenterGoods; @@ -23,6 +29,7 @@ import com.qs.serve.modules.bms.service.BmsChannelPointService; import com.qs.serve.modules.bms.service.BmsChannelService; import com.qs.serve.modules.bms.service.BmsSupplierChannelService; import com.qs.serve.modules.his.service.HisUserChannelPointService; +import com.qs.serve.modules.oss.service.OssService; import com.qs.serve.modules.tbs.entity.TbsActivityChannel; import com.qs.serve.modules.tbs.service.TbsActivityChannelService; import lombok.AllArgsConstructor; @@ -31,7 +38,10 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; +import java.io.*; +import java.text.SimpleDateFormat; import java.util.Arrays; +import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -46,6 +56,8 @@ import java.util.stream.Collectors; @RequestMapping("bir/centerGoods") public class BirActivityCenterGoodsController { + private OssService ossService; + private AliYunOssProperties aliYunOSSProperties; private BirActivityCenterGoodsService centerGoodsService; /** @@ -77,7 +89,7 @@ public class BirActivityCenterGoodsController { */ @GetMapping("/export") @PreAuthorize("hasRole('bms:channel:query')") - public R> export(BirActivityCenterGoods param){ + public R export(BirActivityCenterGoods param){ LambdaQueryWrapper channelWrapper = new LambdaQueryWrapper<>(param); if(param.getKeyNumStart()!=null){ Integer keyNumStart = Integer.parseInt(param.getKeyNumStart().replace("-","")); @@ -88,7 +100,36 @@ public class BirActivityCenterGoodsController { channelWrapper.le(BirActivityCenterGoods::getKeyNum,keyNumEnd); } List list = centerGoodsService.list(channelWrapper); - return R.ok(list); + + String templateFileName = "tempFiles"; + InputStream inputStream = null; + try { + ByteArrayOutputStream os = new ByteArrayOutputStream(); + ExcelWriter excelWriter = EasyExcel.write().withTemplate(templateFileName).file(os).build(); + WriteSheet writeSheet = EasyExcel.writerSheet().build(); + excelWriter.fill(list, writeSheet); + excelWriter.finish(); + byte[] buffer = os.toByteArray(); + inputStream = new ByteArrayInputStream(buffer); + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMM/dd"); + String prefix = aliYunOSSProperties.getPrefix(); + String dir = prefix + "/" + sdf.format(new Date())+"/"; + String fileName = dir + IdUtil.getSnowflakeNextId() + ".xlsx"; + OSS oss = ossService.getOSSClient(); + oss.putObject(aliYunOSSProperties.getBucket(),fileName,inputStream); + return R.ok(fileName,"ok"); + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + if(inputStream!=null){ + inputStream.close(); + } + } catch (IOException e) { + e.printStackTrace(); + } + } + return R.error(); } } diff --git a/src/main/java/com/qs/serve/modules/oss/service/OssService.java b/src/main/java/com/qs/serve/modules/oss/service/OssService.java index 7d2d457d..34c0b5f7 100644 --- a/src/main/java/com/qs/serve/modules/oss/service/OssService.java +++ b/src/main/java/com/qs/serve/modules/oss/service/OssService.java @@ -1,5 +1,6 @@ package com.qs.serve.modules.oss.service; +import com.aliyun.oss.OSS; import com.qs.serve.modules.oss.entity.OssPolicySignVo; /** @@ -14,5 +15,6 @@ public interface OssService { */ OssPolicySignVo getPolicySign(); + OSS getOSSClient(); } diff --git a/src/main/java/com/qs/serve/modules/oss/service/impl/OssServiceImpl.java b/src/main/java/com/qs/serve/modules/oss/service/impl/OssServiceImpl.java index b1cc8577..87f32cec 100644 --- a/src/main/java/com/qs/serve/modules/oss/service/impl/OssServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/oss/service/impl/OssServiceImpl.java @@ -25,6 +25,19 @@ public class OssServiceImpl implements OssService { AliYunOssProperties aliYunOSSProperties; + @Override + public OSS getOSSClient() { + // Endpoint以华东1(杭州)为例,其它Region请按实际情况填写。 + String endpoint = aliYunOSSProperties.getEndpoint(); + // 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。 + String accessKeyId = aliYunOSSProperties.getAccessKeyId(); + String accessKeySecret = aliYunOSSProperties.getAccessKeySecret(); + // 填写Bucket名称,例如examplebucket。 + String bucketName = aliYunOSSProperties.getBucket(); + // 创建OSSClient实例。 + return new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); + } + @Override public OssPolicySignVo getPolicySign() { // Endpoint以华东1(杭州)为例,其它Region请按实际情况填写。 diff --git a/src/main/resources/mapper/exl/ExlTableConfMapper.xml b/src/main/resources/mapper/exl/ExlTableConfMapper.xml index 08458a96..8259591a 100644 --- a/src/main/resources/mapper/exl/ExlTableConfMapper.xml +++ b/src/main/resources/mapper/exl/ExlTableConfMapper.xml @@ -35,21 +35,25 @@ + and ${item.column} <= #{item.value} + and ${item.column} >= #{item.value} + and ${item.column} = #{item.value} + and ${item.column} like concat('%', #{item.value} ,'%') From 19ec22b0ee5b395c8ff77d1fb8d138b43489bb85 Mon Sep 17 00:00:00 2001 From: Yen Date: Thu, 17 Aug 2023 10:21:32 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E9=A2=84=E7=AE=97=E5=AE=A1=E6=89=B9?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E4=BF=AE=E5=A4=8D=EF=BC=9B=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ExlTableDataController.java | 66 +++++++++++++------ .../exl/mapper/ExlTableConfMapper.java | 3 + .../TbsBudgetChangeOperationServiceImpl.java | 2 +- .../impl/TbsBudgetChangeServiceImpl.java | 2 +- .../mapper/exl/ExlTableConfMapper.xml | 7 +- 5 files changed, 56 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/qs/serve/modules/exl/controller/ExlTableDataController.java b/src/main/java/com/qs/serve/modules/exl/controller/ExlTableDataController.java index ee72da84..fe4ace84 100644 --- a/src/main/java/com/qs/serve/modules/exl/controller/ExlTableDataController.java +++ b/src/main/java/com/qs/serve/modules/exl/controller/ExlTableDataController.java @@ -25,6 +25,7 @@ import com.qs.serve.modules.exl.service.ExlColumnConfService; import com.qs.serve.modules.exl.service.ExlTableConfService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.jetbrains.annotations.NotNull; import org.mybatis.spring.SqlSessionTemplate; import org.springframework.web.bind.annotation.*; @@ -66,6 +67,29 @@ public class ExlTableDataController { LambdaQueryWrapper columnLqw = new LambdaQueryWrapper<>(); columnLqw.eq(ExlColumnConf::getTableConfId,tableConfigId); List columnList = exlColumnConfService.list(columnLqw); + // query + Map queryMap = buildQueryMap(map, columnList); + String targetTableName = ExlConst.TABLE_NAME_PRE + tableConf.getTableName(); + Long count = exlTableConfMapper.countData(targetTableName,queryMap); + PageVo vo = new PageVo(); + vo.initPageByTotal(count); + if(count>0){ + // page + Integer pageSize = PageUtil.getPageSize(); + Integer startRow = PageUtil.getStartRow(); + queryMap.put("startRow",startRow); + queryMap.put("pageSize",pageSize); + List> list = exlTableConfMapper.listData(targetTableName,queryMap); + vo.setList(list); + }else { + vo.setList(new ArrayList()); + } + return R.ok(vo); + } + + @NotNull + private Map buildQueryMap(Map map, List columnList) { + Map queryMap = new HashMap<>(10); // condition List ge_conditions = new ArrayList<>(); List le_conditions = new ArrayList<>(); @@ -96,33 +120,33 @@ public class ExlTableDataController { } } } - // page - Integer pageSize = PageUtil.getPageSize(); - Integer startRow = PageUtil.getStartRow(); - // query - Map queryMap = new HashMap<>(10); - queryMap.put("startRow",startRow); - queryMap.put("pageSize",pageSize); queryMap.put("leList",le_conditions); queryMap.put("geList",ge_conditions); queryMap.put("eqList",eq_conditions); queryMap.put("likeList",like_conditions); - String targetTableName = ExlConst.TABLE_NAME_PRE + tableConf.getTableName(); - Long count = exlTableConfMapper.countData(targetTableName,queryMap); - PageVo vo = new PageVo(); - vo.initPageByTotal(count); - if(count>0){ - List> list = exlTableConfMapper.listData(targetTableName,queryMap); - vo.setList(list); - }else { - vo.setList(new ArrayList()); - } - return R.ok(vo); + return queryMap; } - - public R export(){ - return null; + /** + * 导出数据 + * @param map + * @return + */ + @GetMapping("/export") + public R export(@RequestParam Map map){ + String tableConfigId = map.get(ExlConst.TABLE_CONFIG_PARAM); + map.remove(ExlConst.TABLE_CONFIG_PARAM); + // table + ExlTableConf tableConf = exlTableConfService.getById(tableConfigId); + // columns + LambdaQueryWrapper columnLqw = new LambdaQueryWrapper<>(); + columnLqw.eq(ExlColumnConf::getTableConfId,tableConfigId); + List columnList = exlColumnConfService.list(columnLqw); + // query + Map queryMap = buildQueryMap(map, columnList); + String targetTableName = ExlConst.TABLE_NAME_PRE + tableConf.getTableName(); + List> list = exlTableConfMapper.listData(targetTableName,queryMap); + return R.ok(list); } /** diff --git a/src/main/java/com/qs/serve/modules/exl/mapper/ExlTableConfMapper.java b/src/main/java/com/qs/serve/modules/exl/mapper/ExlTableConfMapper.java index 138c79f0..3f170f04 100644 --- a/src/main/java/com/qs/serve/modules/exl/mapper/ExlTableConfMapper.java +++ b/src/main/java/com/qs/serve/modules/exl/mapper/ExlTableConfMapper.java @@ -19,6 +19,9 @@ public interface ExlTableConfMapper extends BaseMapper { @InterceptorIgnore(tenantLine = "1") Long countData(@Param("tableName") String tableName,@Param("query")Map query); + @InterceptorIgnore(tenantLine = "1") + List> pageData(@Param("tableName") String tableName,@Param("query")Map query); + @InterceptorIgnore(tenantLine = "1") List> listData(@Param("tableName") String tableName,@Param("query")Map query); diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeOperationServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeOperationServiceImpl.java index 9d12e728..99c93eac 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeOperationServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeOperationServiceImpl.java @@ -139,7 +139,7 @@ public class TbsBudgetChangeOperationServiceImpl implements SeeYonOperationServi tbsBudgetLogService.save(budgetLog); } if(changeItem.getNewPreDispatchAmount()!=null){ - item.setPreDispatchAmount(changeItem.getPreDispatchAmount()); + item.setPreDispatchAmount(changeItem.getNewPreDispatchAmount()); tbsScheduleItemBudgetService.updateById(item); } } diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java index 031e42e0..9029b209 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java @@ -185,7 +185,7 @@ public class TbsBudgetChangeServiceImpl extends ServiceImpl select * from ${tableName} - limit #{query.startRow},#{query.pageSize} + + From 9478e7dd9848fb859d0d475422ae8624f83e4409 Mon Sep 17 00:00:00 2001 From: Yen Date: Thu, 17 Aug 2023 11:05:07 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E9=A2=84=E7=AE=97=E5=AE=A1=E6=89=B9?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E4=BF=AE=E5=A4=8D=EF=BC=9B=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E6=8E=A5=E5=8F=A3;=E5=AE=A1=E6=89=B9?= =?UTF-8?q?=E9=87=8A=E6=94=BE=E9=A2=84=E7=AE=97=E5=BC=82=E5=B8=B8=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/tbs/controller/TbsActivityController.java | 2 +- .../modules/vtb/service/VtbVerificationApplication.java | 2 +- .../serve/modules/vtb/service/VtbVerificationService.java | 2 +- .../vtb/service/impl/VtbVerificationServiceImpl.java | 7 ++++++- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java b/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java index 92d1fc68..cb9fe12b 100644 --- a/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java +++ b/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java @@ -399,7 +399,7 @@ public class TbsActivityController { @SysLog(module = SystemModule.Budget, title = "费用活动", biz = BizType.DELETE) @PreAuthorize("hasRole('tbs:activity:release')") public R release(@PathVariable("id") Long id){ - verificationService.release(id); + verificationService.release(id,true); return R.ok(); } diff --git a/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java b/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java index e609eb58..6457529f 100644 --- a/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java +++ b/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java @@ -280,7 +280,7 @@ public class VtbVerificationApplication { //释放费用 boolean isRelease = affairCommit.getReleaseFlag()!=null&&affairCommit.getReleaseFlag().equals(1); if( isRelease &&(isFinish||isStop)){ - this.vtbVerificationService.release(verification.getActivityId()); + this.vtbVerificationService.release(verification.getActivityId(),false); } if(isNext){ //判断是否直接跳过审批的申请 diff --git a/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationService.java b/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationService.java index 5fe8867b..42e81164 100644 --- a/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationService.java +++ b/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationService.java @@ -33,7 +33,7 @@ public interface VtbVerificationService extends IService { * 释放活动费用 * @param activityId */ - void release(Long activityId); + void release(Long activityId,Boolean throwEx); /** * 冻结 diff --git a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java index e877a3bf..09d7edf8 100644 --- a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java @@ -158,6 +158,8 @@ public class VtbVerificationServiceImpl extends ServiceImpl