Browse Source

发布政策

contract
Yen 2 years ago
parent
commit
b14427df45
  1. 6
      src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyController.java
  2. 22
      src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyGoodsController.java
  3. 31
      src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyItemController.java
  4. 10
      src/main/java/com/qs/serve/modules/tzc/entity/TzcPolicy.java
  5. 10
      src/main/java/com/qs/serve/modules/tzc/entity/TzcPolicyItem.java
  6. 105
      src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcPolicyItemBo.java
  7. 5
      src/main/java/com/qs/serve/modules/tzc/service/TzcPolicyItemService.java
  8. 34
      src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyItemServiceImpl.java

6
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<Long> idsLong = StringUtils.splitIdLong(ids);
boolean result = tzcPolicyService.removeByIds(idsLong);
LambdaQueryWrapper<TzcPolicy> 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);
}

22
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<Long> idsLong = StringUtils.splitIdLong(ids);
List<TzcPolicyGoods> policyGoods = tzcPolicyGoodsService.listByIds(idsLong);
List<Long> policyIdsList = policyGoods.stream().map(TzcPolicyGoods::getPolicyId).distinct().collect(Collectors.toList());
List<TzcPolicy> policyList = tzcPolicyService.listByIds(policyIdsList);
policyList.forEach(a->{
if(!a.allowEditFlag()){
Assert.throwEx("当前状态不支持编辑");
}
});
boolean result = tzcPolicyGoodsService.removeByIds(idsLong);
return R.isTrue(result);
}

31
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<List<TzcPolicyItem>> getList(TzcPolicyItem param){
LambdaQueryWrapper<TzcPolicyItem> lqw = new LambdaQueryWrapper<>(param);
PageUtil.startPage();
@ -53,7 +58,7 @@ public class TzcPolicyItemController {
* @param param
* @return
*/
@GetMapping("/page")
//@GetMapping("/page")
public R<PageVo<TzcPolicyItem>> getPage(TzcPolicyItem param){
LambdaQueryWrapper<TzcPolicyItem> 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<TzcPolicyItem> 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<Long> idsLong = StringUtils.splitIdLong(ids);
List<TzcPolicyItem> policyItemList = tzcPolicyItemService.listByIds(idsLong);
List<Long> policyIdsList = policyItemList.stream().map(TzcPolicyItem::getPolicyId).distinct().collect(Collectors.toList());
List<TzcPolicy> policyList = tzcPolicyService.listByIds(policyIdsList);
policyList.forEach(a->{
if(!a.allowEditFlag()){
Assert.throwEx("当前状态不支持编辑");
}
});
boolean result = tzcPolicyItemService.removeByIds(idsLong);
return R.isTrue(result);
}

10
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;
}
}

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

105
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;
}

5
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<TzcPolicyItem> {
List<TzcPolicyItem> listByPolicyId(Long id);
R<?> modify(TzcPolicyItemBo param);
}

34
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<TzcPolicyItemMapper,TzcPolicyItem> implements TzcPolicyItemService {
private TzcPolicyMapper tzcPolicyMapper;
@Override
public List<TzcPolicyItem> listByPolicyId(Long id) {
LambdaQueryWrapper<TzcPolicyItem> lqw = new LambdaQueryWrapper<>();
@ -28,5 +36,31 @@ public class TzcPolicyItemServiceImpl extends ServiceImpl<TzcPolicyItemMapper,Tz
List<TzcPolicyItem> 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);
}
}

Loading…
Cancel
Save