13 changed files with 678 additions and 0 deletions
@ -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); |
|||
} |
|||
|
|||
} |
|||
|
@ -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; |
|||
|
|||
} |
|||
|
@ -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; |
|||
|
|||
} |
|||
|
@ -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; |
|||
|
|||
} |
|||
|
@ -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; |
|||
} |
|||
|
@ -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> { |
|||
|
|||
} |
|||
|
@ -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> { |
|||
|
|||
} |
|||
|
@ -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); |
|||
|
|||
} |
|||
|
@ -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); |
|||
|
|||
} |
|||
|
@ -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); |
|||
} |
|||
|
|||
} |
|||
|
@ -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…
Reference in new issue