From b14427df4513766f28466b7ee2a42591629543bd Mon Sep 17 00:00:00 2001 From: Yen Date: Mon, 20 Feb 2023 11:45:51 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E5=B8=83=E6=94=BF=E7=AD=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tzc/controller/TzcPolicyController.java | 6 +- .../controller/TzcPolicyGoodsController.java | 22 ++++ .../controller/TzcPolicyItemController.java | 31 ++++-- .../serve/modules/tzc/entity/TzcPolicy.java | 10 ++ .../modules/tzc/entity/TzcPolicyItem.java | 10 ++ .../tzc/entity/bo/TzcPolicyItemBo.java | 105 ------------------ .../tzc/service/TzcPolicyItemService.java | 5 + .../impl/TzcPolicyItemServiceImpl.java | 34 ++++++ 8 files changed, 108 insertions(+), 115 deletions(-) diff --git a/src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyController.java b/src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyController.java index b22fa17b..b2db3463 100644 --- a/src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyController.java +++ b/src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyController.java @@ -9,6 +9,7 @@ import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.util.PageUtil; import com.qs.serve.common.util.CopierUtil; import com.qs.serve.common.util.StringUtils; +import com.qs.serve.modules.tzc.common.TzcPolicyStatus; import com.qs.serve.modules.tzc.entity.TzcPolicyItem; import com.qs.serve.modules.tzc.service.TzcPolicyItemService; import lombok.AllArgsConstructor; @@ -106,7 +107,10 @@ public class TzcPolicyController { @PreAuthorize("hasRole('tzc:policy:delete')") public R deleteById(@PathVariable("ids") String ids){ List idsLong = StringUtils.splitIdLong(ids); - boolean result = tzcPolicyService.removeByIds(idsLong); + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.in(TzcPolicy::getId,idsLong); + lqw.eq(TzcPolicy::getPolicyStatus, TzcPolicyStatus.Status_0_UnCommit); + boolean result = tzcPolicyService.remove(lqw); return R.isTrue(result); } diff --git a/src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyGoodsController.java b/src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyGoodsController.java index ee3b4eff..68e7e30a 100644 --- a/src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyGoodsController.java +++ b/src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyGoodsController.java @@ -6,9 +6,13 @@ 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.Assert; import com.qs.serve.common.util.PageUtil; import com.qs.serve.common.util.CopierUtil; import com.qs.serve.common.util.StringUtils; +import com.qs.serve.modules.tzc.entity.TzcPolicy; +import com.qs.serve.modules.tzc.entity.TzcPolicyItem; +import com.qs.serve.modules.tzc.service.TzcPolicyService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.security.access.prepost.PreAuthorize; @@ -20,6 +24,7 @@ import com.qs.serve.modules.tzc.service.TzcPolicyGoodsService; import javax.validation.Valid; import java.util.List; +import java.util.stream.Collectors; /** * 政策 政策商品 @@ -32,6 +37,7 @@ import java.util.List; @RequestMapping("tzc/policyGoods") public class TzcPolicyGoodsController { + private TzcPolicyService tzcPolicyService; private TzcPolicyGoodsService tzcPolicyGoodsService; /** @@ -82,6 +88,10 @@ public class TzcPolicyGoodsController { @SysLog(module = SystemModule.Policy, title = "政策商品", biz = BizType.UPDATE) @PreAuthorize("hasRole('tzc:policy:insert')") public R updateById(@RequestBody @Valid TzcPolicyGoodsBo param){ + TzcPolicy tzcPolicy = tzcPolicyService.getById(param.getPolicyId()); + if(!tzcPolicy.allowEditFlag()){ + return R.error("当前状态不支持编辑"); + } TzcPolicyGoods entity = CopierUtil.copy(param,new TzcPolicyGoods()); boolean result = tzcPolicyGoodsService.updateById(entity); return R.isTrue(result); @@ -96,6 +106,10 @@ public class TzcPolicyGoodsController { @SysLog(module = SystemModule.Policy, title = "政策商品", biz = BizType.INSERT) @PreAuthorize("hasRole('tzc:policy:insert')") public R save(@RequestBody @Valid TzcPolicyGoodsBo param){ + TzcPolicy tzcPolicy = tzcPolicyService.getById(param.getPolicyId()); + if(!tzcPolicy.allowEditFlag()){ + return R.error("当前状态不支持编辑"); + } TzcPolicyGoods entity = CopierUtil.copy(param,new TzcPolicyGoods()); boolean result = tzcPolicyGoodsService.save(entity); return R.isTrue(result); @@ -111,6 +125,14 @@ public class TzcPolicyGoodsController { @PreAuthorize("hasRole('tzc:policy:insert')") public R deleteById(@PathVariable("ids") String ids){ List idsLong = StringUtils.splitIdLong(ids); + List policyGoods = tzcPolicyGoodsService.listByIds(idsLong); + List policyIdsList = policyGoods.stream().map(TzcPolicyGoods::getPolicyId).distinct().collect(Collectors.toList()); + List policyList = tzcPolicyService.listByIds(policyIdsList); + policyList.forEach(a->{ + if(!a.allowEditFlag()){ + Assert.throwEx("当前状态不支持编辑"); + } + }); boolean result = tzcPolicyGoodsService.removeByIds(idsLong); return R.isTrue(result); } diff --git a/src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyItemController.java b/src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyItemController.java index 1af3f243..73612ab7 100644 --- a/src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyItemController.java +++ b/src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyItemController.java @@ -6,10 +6,13 @@ 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.Assert; import com.qs.serve.common.util.PageUtil; import com.qs.serve.common.util.CopierUtil; import com.qs.serve.common.util.StringUtils; +import com.qs.serve.modules.tzc.common.TzcPolicyStatus; import com.qs.serve.modules.tzc.entity.TzcPolicy; +import com.qs.serve.modules.tzc.service.TzcPolicyService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.security.access.prepost.PreAuthorize; @@ -21,6 +24,7 @@ import com.qs.serve.modules.tzc.service.TzcPolicyItemService; import javax.validation.Valid; import java.util.List; +import java.util.stream.Collectors; /** * 政策 政策项 @@ -34,13 +38,14 @@ import java.util.List; public class TzcPolicyItemController { private TzcPolicyItemService tzcPolicyItemService; + private TzcPolicyService tzcPolicyService; /** * 列表 * @param param * @return */ - @GetMapping("/list") + //@GetMapping("/list") public R> getList(TzcPolicyItem param){ LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(param); PageUtil.startPage(); @@ -53,7 +58,7 @@ public class TzcPolicyItemController { * @param param * @return */ - @GetMapping("/page") + //@GetMapping("/page") public R> getPage(TzcPolicyItem param){ LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(param); PageUtil.startPage(); @@ -66,7 +71,7 @@ public class TzcPolicyItemController { * @param id * @return */ - //@GetMapping("/getById/{id}") + @GetMapping("/getById/{id}") @SysLog(module = SystemModule.Policy, title = "政策项", biz = BizType.QUERY) public R getById(@PathVariable("id") String id){ TzcPolicyItem tzcPolicyItem = tzcPolicyItemService.getById(id); @@ -84,9 +89,10 @@ public class TzcPolicyItemController { @SysLog(module = SystemModule.Policy, title = "政策项", biz = BizType.UPDATE) @PreAuthorize("hasRole('tzc:policy:insert')") public R updateById(@RequestBody @Valid TzcPolicyItemBo param){ - TzcPolicyItem entity = CopierUtil.copy(param,new TzcPolicyItem()); - boolean result = tzcPolicyItemService.updateById(entity); - return R.isTrue(result); + if(param.getId()==null){ + return R.error(); + } + return tzcPolicyItemService.modify(param); } /** @@ -98,9 +104,8 @@ public class TzcPolicyItemController { @SysLog(module = SystemModule.Policy, title = "政策项", biz = BizType.INSERT) @PreAuthorize("hasRole('tzc:policyItem:insert')") public R save(@RequestBody @Valid TzcPolicyItemBo param){ - TzcPolicyItem entity = CopierUtil.copy(param,new TzcPolicyItem()); - boolean result = tzcPolicyItemService.save(entity); - return R.isTrue(result); + param.setId(null); + return tzcPolicyItemService.modify(param); } /** @@ -113,6 +118,14 @@ public class TzcPolicyItemController { @PreAuthorize("hasRole('tzc:policy:insert')") public R deleteById(@PathVariable("ids") String ids){ List idsLong = StringUtils.splitIdLong(ids); + List policyItemList = tzcPolicyItemService.listByIds(idsLong); + List policyIdsList = policyItemList.stream().map(TzcPolicyItem::getPolicyId).distinct().collect(Collectors.toList()); + List policyList = tzcPolicyService.listByIds(policyIdsList); + policyList.forEach(a->{ + if(!a.allowEditFlag()){ + Assert.throwEx("当前状态不支持编辑"); + } + }); boolean result = tzcPolicyItemService.removeByIds(idsLong); return R.isTrue(result); } diff --git a/src/main/java/com/qs/serve/modules/tzc/entity/TzcPolicy.java b/src/main/java/com/qs/serve/modules/tzc/entity/TzcPolicy.java index 698f5e2b..1d24a213 100644 --- a/src/main/java/com/qs/serve/modules/tzc/entity/TzcPolicy.java +++ b/src/main/java/com/qs/serve/modules/tzc/entity/TzcPolicy.java @@ -10,6 +10,8 @@ import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; +import com.qs.serve.common.model.dto.R; +import com.qs.serve.modules.tzc.common.TzcPolicyStatus; import lombok.Data; import org.hibernate.validator.constraints.Length; import org.springframework.format.annotation.DateTimeFormat; @@ -152,5 +154,13 @@ public class TzcPolicy implements Serializable { @TableField(exist = false) List policyItemList; + public boolean allowEditFlag(){ + if(!this.getPolicyStatus().equals(TzcPolicyStatus.Status_0_UnCommit) + && !this.getPolicyStatus().equals(TzcPolicyStatus.Status_4_RollBack)){ + return false; + } + return true; + } + } diff --git a/src/main/java/com/qs/serve/modules/tzc/entity/TzcPolicyItem.java b/src/main/java/com/qs/serve/modules/tzc/entity/TzcPolicyItem.java index cf27b1a5..cac9d0e3 100644 --- a/src/main/java/com/qs/serve/modules/tzc/entity/TzcPolicyItem.java +++ b/src/main/java/com/qs/serve/modules/tzc/entity/TzcPolicyItem.java @@ -170,5 +170,15 @@ public class TzcPolicyItem implements Serializable { @JsonProperty private String delFlag; + public void initSetNull(){ + this.setId(null); + this.setCreateBy(null); + this.setCreateTime(null); + this.setUpdateBy(null); + this.setUpdateTime(null); + this.setDelFlag(null); + this.setRemark(null); + } + } diff --git a/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcPolicyItemBo.java b/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcPolicyItemBo.java index ea94c3c9..00e228f0 100644 --- a/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcPolicyItemBo.java +++ b/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcPolicyItemBo.java @@ -28,20 +28,10 @@ public class TzcPolicyItemBo implements Serializable { /** id */ private Long id; - /** 主题 */ - @NotBlank(message = "主题不能为空") - @Length(max = 60,message = "主题长度不能超过60字") - private String title; - /** 政策id */ @NotNull(message = "政策id不能为空") private Long policyId; - /** 政策编码 */ - @NotBlank(message = "政策编码不能为空") - @Length(max = 50,message = "政策编码长度不能超过50字") - private String policyItemCode; - /** 开始时间 */ @NotNull(message = "开始时间不能为空") @DateTimeFormat(pattern = "yyyy-MM-dd") @@ -52,10 +42,6 @@ public class TzcPolicyItemBo implements Serializable { @DateTimeFormat(pattern = "yyyy-MM-dd") private LocalDate policyEndDate; - /** 状态:0-未使用;1-已使用;2-已用完 */ - @NotNull(message = "状态:0-未使用;1-已使用;2-已用完不能为空") - private Integer policyItemStatus; - /** 满减金额 */ @NotNull(message = "满减金额不能为空") private BigDecimal discountAmount; @@ -68,96 +54,5 @@ public class TzcPolicyItemBo implements Serializable { @NotNull(message = "已用金额不能为空") private BigDecimal usedAmount; - /** 客户id */ - @NotNull(message = "客户id不能为空") - private Long supplierId; - - /** 客户编码 */ - @NotBlank(message = "客户编码不能为空") - @Length(max = 30,message = "客户编码长度不能超过30字") - private String supplierCode; - - /** 客户名称 */ - @NotBlank(message = "客户名称不能为空") - @Length(max = 30,message = "客户名称长度不能超过30字") - private String supplierName; - - /** 申请人 */ - @NotBlank(message = "申请人不能为空") - @Length(max = 32,message = "申请人长度不能超过32字") - private String userId; - - /** 申请人 */ - @NotBlank(message = "申请人不能为空") - @Length(max = 32,message = "申请人长度不能超过32字") - private String userCode; - - /** 申请人 */ - @NotBlank(message = "申请人不能为空") - @Length(max = 32,message = "申请人长度不能超过32字") - private String userName; - - /** 成本中心类型 */ - @NotBlank(message = "成本中心类型不能为空") - @Length(max = 50,message = "成本中心类型长度不能超过50字") - private String centerType; - - /** 成本中心id */ - @NotBlank(message = "成本中心id不能为空") - @Length(max = 32,message = "成本中心id长度不能超过32字") - private String centerId; - - /** 成本中心编码 */ - @NotBlank(message = "成本中心编码不能为空") - @Length(max = 50,message = "成本中心编码长度不能超过50字") - private String centerCode; - - /** 成本中心名称 */ - @NotBlank(message = "成本中心名称不能为空") - @Length(max = 50,message = "成本中心名称长度不能超过50字") - private String centerName; - - /** 科目id */ - @NotNull(message = "科目id不能为空") - private Long subjectId; - - /** 科目编码 */ - @NotBlank(message = "科目编码不能为空") - @Length(max = 50,message = "科目编码长度不能超过50字") - private String subjectCode; - - /** 科目名称 */ - @NotBlank(message = "科目名称不能为空") - @Length(max = 50,message = "科目名称长度不能超过50字") - private String subjectName; - - /** 备注 */ - @Length(max = 255,message = "备注长度不能超过255字") - private String remark; - - /** 创建时间 */ - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createTime; - - /** 最后更新时间 */ - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateTime; - - /** 所属租户 */ - @JsonIgnore - @JsonProperty - private String tenantId; - - /** 创建人 */ - private String createBy; - - /** 更新人 */ - private String updateBy; - - /** 逻辑删除标记(0:显示;1:隐藏) */ - @JsonIgnore - @JsonProperty - private String delFlag; - } diff --git a/src/main/java/com/qs/serve/modules/tzc/service/TzcPolicyItemService.java b/src/main/java/com/qs/serve/modules/tzc/service/TzcPolicyItemService.java index 27193aa8..33de8d44 100644 --- a/src/main/java/com/qs/serve/modules/tzc/service/TzcPolicyItemService.java +++ b/src/main/java/com/qs/serve/modules/tzc/service/TzcPolicyItemService.java @@ -1,7 +1,10 @@ package com.qs.serve.modules.tzc.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.qs.serve.common.model.dto.R; import com.qs.serve.modules.tzc.entity.TzcPolicyItem; +import com.qs.serve.modules.tzc.entity.bo.TzcPolicyItemBo; + import java.util.List; /** @@ -13,5 +16,7 @@ public interface TzcPolicyItemService extends IService { List listByPolicyId(Long id); + R modify(TzcPolicyItemBo param); + } diff --git a/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyItemServiceImpl.java b/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyItemServiceImpl.java index 4e96e52e..c683e435 100644 --- a/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyItemServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyItemServiceImpl.java @@ -2,6 +2,12 @@ package com.qs.serve.modules.tzc.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.qs.serve.common.model.dto.R; +import com.qs.serve.common.util.CopierUtil; +import com.qs.serve.modules.tzc.common.TzcPolicyStatus; +import com.qs.serve.modules.tzc.entity.TzcPolicy; +import com.qs.serve.modules.tzc.entity.bo.TzcPolicyItemBo; +import com.qs.serve.modules.tzc.mapper.TzcPolicyMapper; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -21,6 +27,8 @@ import java.util.List; @AllArgsConstructor public class TzcPolicyItemServiceImpl extends ServiceImpl implements TzcPolicyItemService { + private TzcPolicyMapper tzcPolicyMapper; + @Override public List listByPolicyId(Long id) { LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); @@ -28,5 +36,31 @@ public class TzcPolicyItemServiceImpl extends ServiceImpl policyItemList = this.list(lqw); return policyItemList; } + + @Override + public R modify(TzcPolicyItemBo param) { + TzcPolicy tzcPolicy = tzcPolicyMapper.selectById(param.getPolicyId()); + if(!tzcPolicy.allowEditFlag()){ + return R.error("当前状态不支持编辑"); + } + if(param.getId()!=null){ + TzcPolicyItem item = this.getById(param.getId()); + if(!item.getPolicyId().equals(tzcPolicy.getId())){ + return R.error("数据错误"); + } + } + TzcPolicyItem tzcPolicyItem = CopierUtil.copy(tzcPolicy,new TzcPolicyItem()); + tzcPolicyItem.initSetNull(); + tzcPolicyItem.setId(param.getId()); + tzcPolicyItem.setPolicyId(param.getPolicyId()); + tzcPolicyItem.setPolicyStartDate(param.getPolicyStartDate()); + tzcPolicyItem.setPolicyEndDate(param.getPolicyEndDate()); + tzcPolicyItem.setDiscountAmount(param.getDiscountAmount()); + tzcPolicyItem.setDiscountRate(param.getDiscountRate()); + tzcPolicyItem.setUsedAmount(param.getUsedAmount()); + this.saveOrUpdate(tzcPolicyItem); + return R.ok(tzcPolicyItem); + } + }