Browse Source

Merge remote-tracking branch 'origin/mssql' into mssql

mssql
07 3 years ago
parent
commit
a947ad7b2a
  1. 159
      src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityTemplateController.java
  2. 3
      src/main/java/com/qs/serve/modules/tbs/entity/TbsActivity.java
  3. 104
      src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityTemplate.java
  4. 87
      src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityTemplateRegion.java
  5. 3
      src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivityBo.java
  6. 67
      src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivityTemplateBo.java
  7. 40
      src/main/java/com/qs/serve/modules/tbs/entity/so/TbsActivityTemplateSo.java
  8. 14
      src/main/java/com/qs/serve/modules/tbs/mapper/TbsActivityTemplateMapper.java
  9. 14
      src/main/java/com/qs/serve/modules/tbs/mapper/TbsActivityTemplateRegionMapper.java
  10. 18
      src/main/java/com/qs/serve/modules/tbs/service/TbsActivityTemplateRegionService.java
  11. 17
      src/main/java/com/qs/serve/modules/tbs/service/TbsActivityTemplateService.java
  12. 67
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityTemplateRegionServiceImpl.java
  13. 85
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityTemplateServiceImpl.java

159
src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityTemplateController.java

@ -0,0 +1,159 @@
package com.qs.serve.modules.tbs.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.PageUtil;
import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.tbs.entity.TbsActivityTemplateRegion;
import com.qs.serve.modules.tbs.service.TbsActivityTemplateRegionService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import com.qs.serve.modules.tbs.entity.so.TbsActivityTemplateSo;
import com.qs.serve.modules.tbs.entity.bo.TbsActivityTemplateBo;
import com.qs.serve.modules.tbs.entity.TbsActivityTemplate;
import com.qs.serve.modules.tbs.service.TbsActivityTemplateService;
import javax.validation.Valid;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 预算 活动模板
* @author YenHex
* @since 2022-11-29
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("tbs/activityTemplate")
public class TbsActivityTemplateController {
private TbsActivityTemplateService tbsActivityTemplateService;
private TbsActivityTemplateRegionService tbsActivityTemplateRegionService;
/**
* 列表
* @param param
* @return
*/
@GetMapping("/list")
@PreAuthorize("hasRole('tbs:activityTemplate:query')")
public R<List<TbsActivityTemplate>> getList(TbsActivityTemplateSo param){
TbsActivityTemplate entity = CopierUtil.copy(param,new TbsActivityTemplate());
LambdaQueryWrapper<TbsActivityTemplate> lqw = new LambdaQueryWrapper<>(entity);
PageUtil.startPage();
List<TbsActivityTemplate> list = tbsActivityTemplateService.list(lqw);
return R.ok(list);
}
/**
* 翻页
* @param param
* @return
*/
@GetMapping("/page")
@PreAuthorize("hasRole('tbs:activityTemplate:query')")
public R<PageVo<TbsActivityTemplate>> getPage(TbsActivityTemplateSo param){
TbsActivityTemplate entity = CopierUtil.copy(param,new TbsActivityTemplate());
LambdaQueryWrapper<TbsActivityTemplate> lqw = new LambdaQueryWrapper<>(entity);
PageUtil.startPage();
List<TbsActivityTemplate> list = tbsActivityTemplateService.list(lqw);
return R.byPageHelperList(list);
}
/**
* ID查询
* @param id
* @return
*/
@GetMapping("/getById/{id}")
@SysLog(module = SystemModule.Budget, title = "活动模板", biz = BizType.QUERY)
@PreAuthorize("hasRole('tbs:activityTemplate:query')")
public R<TbsActivityTemplate> getById(@PathVariable("id") String id){
TbsActivityTemplate tbsActivityTemplate = tbsActivityTemplateService.getById(id);
LambdaQueryWrapper<TbsActivityTemplateRegion> lqw = new LambdaQueryWrapper<>();
lqw.eq(TbsActivityTemplateRegion::getTemplateId,tbsActivityTemplate.getId());
List<TbsActivityTemplateRegion> templateRegionList = tbsActivityTemplateRegionService.list(lqw);
Map<String,List<TbsActivityTemplateRegion>> templateRegionListMap = templateRegionList.stream().collect(Collectors.groupingBy(TbsActivityTemplateRegion::getType));
tbsActivityTemplate.setSaleRegionList(templateRegionListMap.get("sale"));
tbsActivityTemplate.setBizRegionList(templateRegionListMap.get("biz"));
return R.ok(tbsActivityTemplate);
}
/**
* 更新
* @param param
* @return
*/
@PostMapping("/updateById")
@SysLog(module = SystemModule.Budget, title = "活动模板", biz = BizType.UPDATE)
@PreAuthorize("hasRole('tbs:activityTemplate:update')")
public R<?> updateById(@RequestBody @Valid TbsActivityTemplateBo param){
if(param.getId()==null){
return R.error("id is null");
}
tbsActivityTemplateService.modify(param);
return R.ok();
}
/**
* 新增
* @param param
* @return
*/
@PostMapping("/save")
@SysLog(module = SystemModule.Budget, title = "活动模板", biz = BizType.INSERT)
@PreAuthorize("hasRole('tbs:activityTemplate:insert')")
public R<?> save(@RequestBody @Valid TbsActivityTemplateBo param){
if(param.getId()!=null){
return R.error("id is not null");
}
tbsActivityTemplateService.modify(param);
return R.ok();
}
/**
* 删除
* @param ids
* @return
*/
@DeleteMapping("/deleteById/{ids}")
@SysLog(module = SystemModule.Budget, title = "活动模板", biz = BizType.DELETE)
@PreAuthorize("hasRole('tbs:activityTemplate:delete')")
public R<?> deleteById(@PathVariable("ids") String ids){
List<Long> idsLong = StringUtils.splitIdLong(ids);
boolean result = tbsActivityTemplateService.removeByIds(idsLong);
return R.isTrue(result);
}
/**
* 通过供应商获取模板列表
* @param id
* @return
*/
@GetMapping("/listBySupplier/{id}")
public R<List<TbsActivityTemplate>> listBySupplier(@PathVariable("id") String id){
List<TbsActivityTemplateRegion> templateRegions = tbsActivityTemplateRegionService.getTemplateIds(id);
List<Long> templateIds = templateRegions.stream().map(TbsActivityTemplateRegion::getTemplateId)
.distinct().collect(Collectors.toList());
if(CollectionUtil.isNotEmpty(templateIds)){
return R.ok();
}
List<TbsActivityTemplate> templates = tbsActivityTemplateService.listByIds(templateIds);
return R.ok(templates);
}
}

3
src/main/java/com/qs/serve/modules/tbs/entity/TbsActivity.java

@ -148,6 +148,9 @@ public class TbsActivity implements Serializable {
@TableField(fill = FieldFill.UPDATE) @TableField(fill = FieldFill.UPDATE)
private LocalDateTime releaseTime; private LocalDateTime releaseTime;
/** 模板值 */
private String templateValue;
/** 产品类型 */ /** 产品类型 */
@TableField(exist = false) @TableField(exist = false)
private String goodsType; private String goodsType;

104
src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityTemplate.java

@ -0,0 +1,104 @@
package com.qs.serve.modules.tbs.entity;
import java.time.LocalDate;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.NotBlank;
/**
* 活动模板 实体类
* @author YenHex
* @since 2022-11-29
*/
@Data
@TableName("tbs_activity_template")
public class TbsActivityTemplate implements Serializable {
private static final long serialVersionUID = 1L;
/** id */
@TableId(type = IdType.AUTO)
private Long id;
/** 供应商id */
@NotNull(message = "供应商id不能为空")
private Long supplierId;
/** 模板名称 */
@NotBlank(message = "模板名称不能为空")
@Length(max = 30,message = "模板名称长度不能超过30字")
private String templateName;
/** 模板状态 */
@NotNull(message = "模板状态不能为空")
private Integer templateState;
/** 模板值 */
@NotBlank(message = "模板值不能为空")
@Length(max = 6000,message = "模板值长度不能超过6000字")
private String templateValue;
/** 销售区域标识:0-全部可见;1-部分可见;2-全部不可见 */
@NotNull(message = "销售区域标识:0-全部可见;1-部分可见;2-全部不可见不能为空")
private Integer saleRegionFlag;
/** 行政区域标识:0-全部可见;1-部分可见;2-全部不可 */
@NotNull(message = "行政区域标识:0-全部可见;1-部分可见;2-全部不可不能为空")
private Integer bizRegionFlag;
/** 备注 */
@Length(max = 255,message = "备注长度不能超过255字")
private String remark;
/** 创建时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createTime;
/** 创建人 */
@TableField(fill = FieldFill.INSERT)
private String createBy;
/** 更新时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@TableField(fill = FieldFill.UPDATE)
private LocalDateTime updateTime;
/** 更新人 */
@TableField(fill = FieldFill.UPDATE)
private String updateBy;
/** 租户id */
@JsonIgnore
@JsonProperty
private String tenantId;
/** 删除标识 */
@JsonIgnore
@JsonProperty
private Boolean delFlag;
/** 销售区域 */
@TableField(exist = false)
List<TbsActivityTemplateRegion> saleRegionList;
/** 行政区域 */
@TableField(exist = false)
List<TbsActivityTemplateRegion> bizRegionList;
}

87
src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityTemplateRegion.java

@ -0,0 +1,87 @@
package com.qs.serve.modules.tbs.entity;
import java.time.LocalDate;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.NotBlank;
/**
* 活动模板区域 实体类
* @author YenHex
* @since 2022-11-29
*/
@Data
@TableName("tbs_activity_template_region")
public class TbsActivityTemplateRegion implements Serializable {
private static final long serialVersionUID = 1L;
/** id */
@TableId(type = IdType.AUTO)
private Long id;
/** 类型:sale、biz */
@NotBlank(message = "类型:sale、biz不能为空")
private String type;
/** 商品id */
@NotNull(message = "商品id不能为空")
private Long templateId;
/** 区域ID */
@NotNull(message = "区域ID不能为空")
private String regionId;
/** 区域名称 */
@Length(max = 30,message = "区域名称长度不能超过30字")
private String regionName;
/** 区域编码 */
private String regionCode;
/** 区域等级 */
private Integer regionLevel;
/** 创建时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createTime;
/** 创建人 */
@TableField(fill = FieldFill.INSERT)
private String createBy;
/** 更新时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@TableField(fill = FieldFill.UPDATE)
private LocalDateTime updateTime;
/** 更新人 */
@TableField(fill = FieldFill.UPDATE)
private String updateBy;
/** 租户id */
@JsonIgnore
@JsonProperty
private String tenantId;
/** 删除标识 */
@JsonIgnore
@JsonProperty
private Boolean delFlag;
}

3
src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivityBo.java

@ -78,5 +78,8 @@ public class TbsActivityBo implements Serializable {
/** 客户详情可选:网点配比列表 */ /** 客户详情可选:网点配比列表 */
List<TbsActivityChannelPointBo> activityPointList; List<TbsActivityChannelPointBo> activityPointList;
/** 模板值 */
private String templateValue;
} }

67
src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivityTemplateBo.java

@ -0,0 +1,67 @@
package com.qs.serve.modules.tbs.entity.bo;
import java.time.LocalDate;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.NotBlank;
/**
* 活动模板 Bo
* @author YenHex
* @since 2022-11-29
*/
@Data
public class TbsActivityTemplateBo implements Serializable {
private static final long serialVersionUID = 1L;
/** id */
private Long id;
/** 供应商id */
@NotNull(message = "供应商id不能为空")
private Long supplierId;
/** 模板名称 */
@NotBlank(message = "模板名称不能为空")
@Length(max = 30,message = "模板名称长度不能超过30字")
private String templateName;
/** 模板状态 */
@NotNull(message = "模板状态不能为空")
private Integer templateState;
/** 模板值 */
@NotBlank(message = "模板值不能为空")
@Length(max = 6000,message = "模板值长度不能超过6000字")
private String templateValue;
/** 备注 */
@Length(max = 255,message = "备注长度不能超过255字")
private String remark;
/** 销售区域标识:0-全部可见;1-部分可见;2-全部不可见 */
private Integer saleRegionFlag;
/** 行政区域标识:0-全部可见;1-部分可见;2-全部不可 */
private Integer bizRegionFlag;
/** 销售区域id列表 */
private List<Long> saleRegionIds;
/** 销售区域id列表 */
private List<Long> bizRegionIds;
}

40
src/main/java/com/qs/serve/modules/tbs/entity/so/TbsActivityTemplateSo.java

@ -0,0 +1,40 @@
package com.qs.serve.modules.tbs.entity.so;
import java.time.LocalDate;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.NotBlank;
import java.util.List;
/**
* 活动模板 查询参数
* @author YenHex
* @since 2022-11-29
*/
@Data
public class TbsActivityTemplateSo implements Serializable {
private static final long serialVersionUID = 1L;
/** 供应商id */
private Long supplierId;
/** 模板名称 */
private String templateName;
/** 模板状态 */
private Integer templateState;
/** 备注 */
private String remark;
}

14
src/main/java/com/qs/serve/modules/tbs/mapper/TbsActivityTemplateMapper.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.tbs.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.tbs.entity.TbsActivityTemplate;
/**
* 活动模板 Mapper
* @author YenHex
* @date 2022-11-29
*/
public interface TbsActivityTemplateMapper extends BaseMapper<TbsActivityTemplate> {
}

14
src/main/java/com/qs/serve/modules/tbs/mapper/TbsActivityTemplateRegionMapper.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.tbs.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.tbs.entity.TbsActivityTemplateRegion;
/**
* 活动模板区域 Mapper
* @author YenHex
* @date 2022-11-29
*/
public interface TbsActivityTemplateRegionMapper extends BaseMapper<TbsActivityTemplateRegion> {
}

18
src/main/java/com/qs/serve/modules/tbs/service/TbsActivityTemplateRegionService.java

@ -0,0 +1,18 @@
package com.qs.serve.modules.tbs.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.tbs.entity.TbsActivityTemplateRegion;
import java.util.List;
/**
* 活动模板区域 服务接口
* @author YenHex
* @date 2022-11-29
*/
public interface TbsActivityTemplateRegionService extends IService<TbsActivityTemplateRegion> {
List<TbsActivityTemplateRegion> getTemplateIds(String supplierId);
}

17
src/main/java/com/qs/serve/modules/tbs/service/TbsActivityTemplateService.java

@ -0,0 +1,17 @@
package com.qs.serve.modules.tbs.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.tbs.entity.TbsActivityTemplate;
import com.qs.serve.modules.tbs.entity.bo.TbsActivityTemplateBo;
/**
* 活动模板 服务接口
* @author YenHex
* @date 2022-11-29
*/
public interface TbsActivityTemplateService extends IService<TbsActivityTemplate> {
void modify(TbsActivityTemplateBo templateBo);
}

67
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityTemplateRegionServiceImpl.java

@ -0,0 +1,67 @@
package com.qs.serve.modules.tbs.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qs.serve.common.util.CollectionUtil;
import com.qs.serve.modules.bms.entity.BmsSupplier;
import com.qs.serve.modules.bms.service.BmsSupplierService;
import com.qs.serve.modules.tbs.entity.TbsActivityTemplate;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import com.qs.serve.modules.tbs.entity.TbsActivityTemplateRegion;
import com.qs.serve.modules.tbs.service.TbsActivityTemplateRegionService;
import com.qs.serve.modules.tbs.mapper.TbsActivityTemplateRegionMapper;
import java.util.ArrayList;
import java.util.List;
/**
* 活动模板区域 服务实现类
* @author YenHex
* @since 2022-11-29
*/
@Slf4j
@Service
@AllArgsConstructor
public class TbsActivityTemplateRegionServiceImpl extends ServiceImpl<TbsActivityTemplateRegionMapper,TbsActivityTemplateRegion> implements TbsActivityTemplateRegionService {
private final BmsSupplierService supplierService;
@Override
public List<TbsActivityTemplateRegion> getTemplateIds(String supplierId){
List<String> saleRegionIds = new ArrayList<>();
List<String> bizRegionIds = new ArrayList<>();
BmsSupplier supplier = supplierService.getById(supplierId);
if(supplier.getRegionFirst()!=null){ saleRegionIds.add(supplier.getRegionFirst()); }
if(supplier.getRegionSecond()!=null){ saleRegionIds.add(supplier.getRegionSecond()); }
if(supplier.getRegionThird()!=null){ saleRegionIds.add(supplier.getRegionThird()); }
if(supplier.getRegionFourthly()!=null){ saleRegionIds.add(supplier.getRegionFourthly()); }
if(supplier.getRegion2First()!=null){ bizRegionIds.add(supplier.getRegion2First()); }
if(supplier.getRegion2Second()!=null){ bizRegionIds.add(supplier.getRegion2Second()); }
if(supplier.getRegion2Third()!=null){ bizRegionIds.add(supplier.getRegion2Third()); }
if(supplier.getRegion2Fourthly()!=null){ bizRegionIds.add(supplier.getRegion2Fourthly()); }
LambdaQueryWrapper<TbsActivityTemplateRegion> lqw = new LambdaQueryWrapper<>();
if(CollectionUtil.isNotEmpty(saleRegionIds) && bizRegionIds.size()==0 ){
lqw.eq(TbsActivityTemplateRegion::getType,"sale")
.in(TbsActivityTemplateRegion::getRegionId,saleRegionIds);
}else if(CollectionUtil.isNotEmpty(bizRegionIds) && saleRegionIds.size()==0 ){
lqw.eq(TbsActivityTemplateRegion::getType,"biz")
.in(TbsActivityTemplateRegion::getRegionId,bizRegionIds);
}else if (CollectionUtil.isNotEmpty(saleRegionIds)&&CollectionUtil.isNotEmpty(bizRegionIds)){
lqw.and(
a1->a1.eq(TbsActivityTemplateRegion::getType,"sale")
.in(TbsActivityTemplateRegion::getRegionId,saleRegionIds)
).or().and(
a1->a1.eq(TbsActivityTemplateRegion::getType,"biz")
.in(TbsActivityTemplateRegion::getRegionId,bizRegionIds)
);
}else {
return new ArrayList<>();
}
return this.list(lqw);
}
}

85
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityTemplateServiceImpl.java

@ -0,0 +1,85 @@
package com.qs.serve.modules.tbs.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qs.serve.common.util.CollectionUtil;
import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.modules.bms.entity.BmsRegion;
import com.qs.serve.modules.bms.entity.BmsRegion2;
import com.qs.serve.modules.bms.service.BmsRegion2Service;
import com.qs.serve.modules.bms.service.BmsRegionService;
import com.qs.serve.modules.tbs.entity.TbsActivityTemplateRegion;
import com.qs.serve.modules.tbs.entity.bo.TbsActivityTemplateBo;
import com.qs.serve.modules.tbs.service.TbsActivityTemplateRegionService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import com.qs.serve.modules.tbs.entity.TbsActivityTemplate;
import com.qs.serve.modules.tbs.service.TbsActivityTemplateService;
import com.qs.serve.modules.tbs.mapper.TbsActivityTemplateMapper;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* 活动模板 服务实现类
* @author YenHex
* @since 2022-11-29
*/
@Slf4j
@Service
@AllArgsConstructor
public class TbsActivityTemplateServiceImpl extends ServiceImpl<TbsActivityTemplateMapper,TbsActivityTemplate> implements TbsActivityTemplateService {
private final TbsActivityTemplateRegionService templateRegionService;
private final BmsRegionService saleRegionService;
private final BmsRegion2Service bizRegionService;
@Override
public void modify(TbsActivityTemplateBo templateBo) {
TbsActivityTemplate template = CopierUtil.copy(templateBo,new TbsActivityTemplate());
this.saveOrUpdate(template);
//移除历史
LambdaQueryWrapper<TbsActivityTemplateRegion> rmRegion = new LambdaQueryWrapper<>();
rmRegion.eq(TbsActivityTemplateRegion::getTemplateId,template.getId());
templateRegionService.remove(rmRegion);
//保存区域
List<TbsActivityTemplateRegion> templateRegionList = new ArrayList<>();
if(templateBo.getSaleRegionFlag() != null && templateBo.getSaleRegionFlag().equals(1)
&& CollectionUtil.isNotEmpty(templateBo.getSaleRegionIds())){
List<BmsRegion> saleRegionList = saleRegionService.listByIds(templateBo.getSaleRegionIds());
List<TbsActivityTemplateRegion> templateRegions = saleRegionList.stream().map(reg->{
TbsActivityTemplateRegion templateRegion = new TbsActivityTemplateRegion();
templateRegion.setTemplateId(template.getId());
templateRegion.setType("sale");
templateRegion.setRegionId(reg.getId());
templateRegion.setRegionId(reg.getName());
templateRegion.setRegionCode(reg.getCode());
templateRegion.setRegionLevel(reg.getLevel());
return templateRegion;
}).collect(Collectors.toList());
templateRegionList.addAll(templateRegions);
}
if(templateBo.getBizRegionFlag() != null && templateBo.getBizRegionFlag().equals(1)
&& CollectionUtil.isNotEmpty(templateBo.getBizRegionIds())){
List<BmsRegion2> bizRegionList = bizRegionService.listByIds(templateBo.getBizRegionIds());
List<TbsActivityTemplateRegion> templateRegions = bizRegionList.stream().map(reg->{
TbsActivityTemplateRegion templateRegion = new TbsActivityTemplateRegion();
templateRegion.setTemplateId(template.getId());
templateRegion.setType("biz");
templateRegion.setRegionId(reg.getId());
templateRegion.setRegionName(reg.getName());
templateRegion.setRegionCode(reg.getCode());
templateRegion.setRegionLevel(reg.getLevel());
return templateRegion;
}).collect(Collectors.toList());
templateRegionList.addAll(templateRegions);
}
if(CollectionUtil.isNotEmpty(templateRegionList)){
templateRegionService.saveBatch(templateRegionList);
}
}
}
Loading…
Cancel
Save