diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsErpInfoController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsErpInfoController.java index 2f7cbbf9..6375bdee 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsErpInfoController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsErpInfoController.java @@ -94,7 +94,7 @@ public class BmsErpInfoController { @DeleteMapping("/deleteById/{id}") @SysLog(module = SystemModule.BASE, title = "ERP信息", biz = BizType.DELETE) @PreAuthorize("hasRole('bms:erpInfo:delete')") - public R deleteById(@PathVariable("id") String id){ + public R deleteById(@PathVariable("id") Long id){ boolean result = bmsErpInfoService.removeById(id); return R.isTrue(result); } diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsFactoryController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsFactoryController.java new file mode 100644 index 00000000..448dfe91 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsFactoryController.java @@ -0,0 +1,101 @@ +package com.qs.serve.modules.bms.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.PageUtil; +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.bms.entity.BmsFactory; +import com.qs.serve.modules.bms.service.BmsFactoryService; + +import javax.validation.Valid; +import java.util.List; + +/** + * 基础档案 工厂产地 + * @author YenHex + * @since 2022-10-20 + */ +@Slf4j +@AllArgsConstructor +@RestController +@RequestMapping("bms/factory") +public class BmsFactoryController { + + private BmsFactoryService bmsFactoryService; + + /** + * 翻页 + * @param param + * @return + */ + @GetMapping("/page") + @PreAuthorize("hasRole('bms:factory:query')") + public R> getPage(BmsFactory param){ + PageUtil.startPage(); + LambdaQueryWrapper factoryWrapper = new LambdaQueryWrapper<>(param); + List list = bmsFactoryService.list(factoryWrapper); + return R.byPageHelperList(list); + } + + /** + * ID查询 + * @param id + * @return + */ + @GetMapping("/getById/{id}") + @SysLog(module = SystemModule.BASE, title = "工厂产地", biz = BizType.QUERY) + @PreAuthorize("hasRole('bms:factory:query')") + public R getById(@PathVariable("id") String id){ + BmsFactory bmsFactory = bmsFactoryService.getById(id); + return R.ok(bmsFactory); + } + + /** + * 更新 + * @param param + * @return + */ + @PostMapping("/updateById") + @SysLog(module = SystemModule.BASE, title = "工厂产地", biz = BizType.UPDATE) + @PreAuthorize("hasRole('bms:factory:update')") + public R updateById(@RequestBody @Valid BmsFactory param){ + boolean result = bmsFactoryService.updateById(param); + return R.isTrue(result); + } + + /** + * 新增 + * @param param + * @return + */ + @PostMapping("/save") + @SysLog(module = SystemModule.BASE, title = "工厂产地", biz = BizType.INSERT) + @PreAuthorize("hasRole('bms:factory:insert')") + public R save(@RequestBody @Valid BmsFactory param){ + boolean result = bmsFactoryService.save(param); + return R.isTrue(result); + } + + /** + * 删除 + * @param id + * @return + */ + @DeleteMapping("/deleteById/{id}") + @SysLog(module = SystemModule.BASE, title = "工厂产地", biz = BizType.DELETE) + @PreAuthorize("hasRole('bms:factory:delete')") + public R deleteById(@PathVariable("id") Long id){ + boolean result = bmsFactoryService.removeById(id); + return R.isTrue(result); + } + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java index 531b29fc..8a629f73 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java @@ -9,7 +9,7 @@ import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.util.*; import com.qs.serve.modules.bms.entity.bo.BmsRegionBatchBo; import com.qs.serve.modules.bms.entity.vo.BmsRegionTreeVo; -import com.qs.serve.modules.bms.service.BmsSkuRegionService; +import com.qs.serve.modules.bms.service.BmsRuleRegionService; import com.qs.serve.modules.bms.service.BmsSupplierService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -35,7 +35,7 @@ public class BmsRegionController { private BmsRegionService bmsRegionService; private BmsSupplierService bmsSupplierService; - private BmsSkuRegionService bmsSkuRegionService; + private BmsRuleRegionService bmsRuleRegionService; /** * 翻页查询 @@ -152,7 +152,7 @@ public class BmsRegionController { return R.error("地区含有供应商无法删除"); } //删除商品限制 - bmsSkuRegionService.removeByRegionId(Long.parseLong(id)); + bmsRuleRegionService.removeByRegionId(Long.parseLong(id)); boolean result = bmsRegionService.removeById(id); return R.isTrue(result); } diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsRuleController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsRuleController.java index 9570383a..c0f7a53d 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsRuleController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsRuleController.java @@ -6,19 +6,28 @@ 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.modules.bms.entity.BmsRegion; +import com.qs.serve.modules.bms.entity.BmsRuleRegion; +import com.qs.serve.modules.bms.entity.BmsRuleSku; import com.qs.serve.modules.bms.entity.bo.BmsRuleBo; -import com.qs.serve.modules.bms.service.BmsSkuRegionService; +import com.qs.serve.modules.bms.service.*; +import com.qs.serve.modules.goods.entity.GoodsSku; +import com.qs.serve.modules.goods.entity.vo.GoodSkuVo; +import com.qs.serve.modules.goods.service.GoodsSkuService; 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.bms.entity.BmsRule; -import com.qs.serve.modules.bms.service.BmsRuleService; import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** * 基础档案 规则 @@ -32,6 +41,10 @@ import java.util.List; public class BmsRuleController { private BmsRuleService bmsRuleService; + private BmsRuleRegionService bmsRuleRegionService; + private BmsRuleSkuService bmsRuleSkuService; + private BmsRegionService bmsRegionService; + private GoodsSkuService goodsSkuService; /** * 翻页 @@ -61,20 +74,167 @@ public class BmsRuleController { } /** - * 编辑 - * @param skuRegionBo + * 规则商品列表 + * @param id + * @return + */ + @GetMapping("/listRuleProducts/{id}") + @SysLog(module = SystemModule.BASE, title = "规则", biz = BizType.QUERY) + @PreAuthorize("hasRole('bms:rule:query')") + public R> listRuleProducts(@PathVariable("id") String id){ + PageUtil.startPage(); + List ruleSkus = bmsRuleSkuService.listSkuIdsByRuleId(Long.parseLong(id)); + if(CollectionUtil.isNotEmpty(ruleSkus)){ + GoodsSku param = new GoodsSku(); + List skuIds = ruleSkus.stream().map(BmsRuleSku::getSkuId).collect(Collectors.toList()); + param.setSelectSkuIds(skuIds); + List skuVos = goodsSkuService.selectSkuVo(param); + R.byPageHelperList(ruleSkus,skuVos); + } + return R.byEmptyList(); + } + + /** + * 规则地区列表 + * @param ruleId + * @param type 0只售 1禁售 + * @return + */ + @GetMapping("/listRuleRegion") + @SysLog(module = SystemModule.BASE, title = "规则", biz = BizType.QUERY) + @PreAuthorize("hasRole('bms:rule:query')") + public R> listRuleProducts(@NotNull Long ruleId, + @NotNull Integer type){ + PageUtil.startPage(); + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(BmsRuleRegion::getRuleId,ruleId); + lqw.eq(BmsRuleRegion::getTypeFlag,type); + List ruleRegions = bmsRuleRegionService.list(lqw); + if(CollectionUtil.isNotEmpty(ruleRegions)){ + List regionIds = ruleRegions.stream().map(BmsRuleRegion::getRegionId).collect(Collectors.toList()); + List regionList = bmsRegionService.listByIds(regionIds); + return R.byPageHelperList(regionIds,regionList); + } + return R.byEmptyList(); + } + + /** + * 编辑规则 + * @param bmsRule + * @return + */ + @PostMapping("/saveOrUpdate") + @SysLog(module = SystemModule.BASE, title = "规则", biz = BizType.UPDATE) + @PreAuthorize("hasRole('bms:rule:update')") + public R save(@RequestBody @Valid BmsRule bmsRule){ + bmsRuleService.saveOrUpdate(bmsRule); + return R.ok(); + } + + /** + * 规则 添加项 + * @param bmsRule + * @return + */ + @PostMapping("/addItem") + @SysLog(module = SystemModule.BASE, title = "规则", biz = BizType.UPDATE) + @PreAuthorize("hasRole('bms:rule:update')") + public R addItem(@RequestBody @Valid BmsRuleBo bmsRule){ + Long ruleId = bmsRule.getId(); + List skuIds = bmsRule.getSkuIds(); + List banSaleRegionIds = bmsRule.getBanSaleRegionIds(); + List onlySaleRegionIds = bmsRule.getOnlySaleRegionIds(); + if(CollectionUtil.isNotEmpty(bmsRule.getSkuIds())){ + List ruleSkuList = new ArrayList<>(); + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(BmsRuleSku::getRuleId,ruleId); + lqw.in(BmsRuleSku::getSkuId,skuIds); + bmsRuleSkuService.remove(lqw); + GoodsSku param = new GoodsSku(); + param.setSelectSkuIds(skuIds); + List goodSkuVos = goodsSkuService.selectSkuVo(param); + for (GoodSkuVo goodSkuVo : goodSkuVos) { + BmsRuleSku ruleSku = new BmsRuleSku(); + ruleSku.setRuleId(ruleId); + ruleSku.setSpuId(goodSkuVo.getSpuId()); + ruleSku.setSkuId(goodSkuVo.getId()); + ruleSkuList.add(ruleSku); + } + bmsRuleSkuService.saveBatch(ruleSkuList); + } + //去重 + if(CollectionUtil.isNotEmpty(banSaleRegionIds)&&CollectionUtil.isNotEmpty(onlySaleRegionIds)){ + onlySaleRegionIds = onlySaleRegionIds.stream().filter(onlySaleRegionId-> + banSaleRegionIds.stream().noneMatch(banId->banId.equals(onlySaleRegionId)) + ).collect(Collectors.toList()); + } + if(CollectionUtil.isNotEmpty(banSaleRegionIds)){ + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(BmsRuleRegion::getRuleId,ruleId); + lqw.in(BmsRuleRegion::getRegionId,banSaleRegionIds); + bmsRuleRegionService.remove(lqw); + List ruleRegions = banSaleRegionIds.stream().map(regionId->{ + BmsRuleRegion ruleRegion = new BmsRuleRegion(); + ruleRegion.setRegionId(regionId); + ruleRegion.setRuleId(ruleId); + ruleRegion.setTypeFlag(1); + return ruleRegion; + }).collect(Collectors.toList()); + bmsRuleRegionService.saveBatch(ruleRegions); + } + if(CollectionUtil.isNotEmpty(onlySaleRegionIds)){ + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(BmsRuleRegion::getRuleId,ruleId); + lqw.in(BmsRuleRegion::getRegionId,onlySaleRegionIds); + bmsRuleRegionService.remove(lqw); + List ruleRegions = onlySaleRegionIds.stream().map(regionId->{ + BmsRuleRegion ruleRegion = new BmsRuleRegion(); + ruleRegion.setRegionId(regionId); + ruleRegion.setRuleId(ruleId); + ruleRegion.setTypeFlag(0); + return ruleRegion; + }).collect(Collectors.toList()); + bmsRuleRegionService.saveBatch(ruleRegions); + } + return R.ok(); + } + + /** + * 规则 移除项 + * @param bmsRule * @return */ - @PostMapping("/edit") + @PostMapping("/removeItem") @SysLog(module = SystemModule.BASE, title = "规则", biz = BizType.UPDATE) @PreAuthorize("hasRole('bms:rule:update')") - public R updateById(@RequestBody @Valid BmsRuleBo skuRegionBo){ - bmsRuleService.edit(skuRegionBo); + public R removeItem(@RequestBody @Valid BmsRuleBo bmsRule){ + Long ruleId = bmsRule.getId(); + List skuIds = bmsRule.getSkuIds(); + List banSaleRegionIds = bmsRule.getBanSaleRegionIds(); + List onlySaleRegionIds = bmsRule.getOnlySaleRegionIds(); + if(CollectionUtil.isNotEmpty(bmsRule.getSkuIds())){ + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(BmsRuleSku::getRuleId,ruleId); + lqw.in(BmsRuleSku::getSkuId,skuIds); + bmsRuleSkuService.remove(lqw); + } + if(CollectionUtil.isNotEmpty(banSaleRegionIds)){ + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(BmsRuleRegion::getRuleId,ruleId); + lqw.in(BmsRuleRegion::getRegionId,banSaleRegionIds); + bmsRuleRegionService.remove(lqw); + } + if(CollectionUtil.isNotEmpty(onlySaleRegionIds)){ + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(BmsRuleRegion::getRuleId,ruleId); + lqw.in(BmsRuleRegion::getRegionId,onlySaleRegionIds); + bmsRuleRegionService.remove(lqw); + } return R.ok(); } /** - * 删除 + * 删除规则 * @param id * @return */ diff --git a/src/main/java/com/qs/serve/modules/bms/entity/BmsFactory.java b/src/main/java/com/qs/serve/modules/bms/entity/BmsFactory.java new file mode 100644 index 00000000..8e39e68f --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/entity/BmsFactory.java @@ -0,0 +1,76 @@ +package com.qs.serve.modules.bms.entity; + +import java.time.LocalDateTime; +import java.io.Serializable; + +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-10-20 + */ +@Data +@TableName("bms_factory") +public class BmsFactory implements Serializable { + + private static final long serialVersionUID = 1L; + + /** id */ + private String id; + + /** 名称 */ + @NotBlank(message = "名称不能为空") + @Length(max = 20,message = "名称长度不能超过20字") + private String name; + + /** 编码 */ + @NotBlank(message = "编码不能为空") + @Length(max = 20,message = "编码长度不能超过20字") + private String code; + + /** 备注 */ + @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; + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/entity/BmsRegion.java b/src/main/java/com/qs/serve/modules/bms/entity/BmsRegion.java index 87afb39e..2395a76d 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/BmsRegion.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/BmsRegion.java @@ -44,6 +44,9 @@ public class BmsRegion implements Serializable { /** 层级 */ private Integer level; + /** 工厂产地ID */ + private Long factoryId; + /** 创建时间 */ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") diff --git a/src/main/java/com/qs/serve/modules/bms/entity/BmsRule.java b/src/main/java/com/qs/serve/modules/bms/entity/BmsRule.java index c067787d..6a7a8e10 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/BmsRule.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/BmsRule.java @@ -2,6 +2,7 @@ package com.qs.serve.modules.bms.entity; import java.time.LocalDateTime; import java.io.Serializable; +import java.util.List; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; diff --git a/src/main/java/com/qs/serve/modules/bms/entity/BmsSkuRegion.java b/src/main/java/com/qs/serve/modules/bms/entity/BmsRuleRegion.java similarity index 81% rename from src/main/java/com/qs/serve/modules/bms/entity/BmsSkuRegion.java rename to src/main/java/com/qs/serve/modules/bms/entity/BmsRuleRegion.java index 22d65e19..c51ab22c 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/BmsSkuRegion.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/BmsRuleRegion.java @@ -2,7 +2,6 @@ package com.qs.serve.modules.bms.entity; import java.time.LocalDateTime; import java.io.Serializable; -import java.util.List; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; @@ -16,13 +15,13 @@ import javax.validation.constraints.NotNull; import javax.validation.constraints.NotBlank; /** - * 禁销区域 实体类 + * 规则区域 实体类 * @author YenHex - * @since 2022-10-19 + * @since 2022-10-21 */ @Data -@TableName("bms_sku_region") -public class BmsSkuRegion implements Serializable { +@TableName("bms_rule_region") +public class BmsRuleRegion implements Serializable { private static final long serialVersionUID = 1L; @@ -30,21 +29,14 @@ public class BmsSkuRegion implements Serializable { @TableId(type = IdType.AUTO) private Long id; - /** 商品id */ - @NotNull(message = "商品id不能为空") - private Long spuId; - - /** skuId */ - @NotNull(message = "skuId不能为空") - private Long skuId; + /** 规则ID */ + @NotNull(message = "规则ID不能为空") + private Long ruleId; /** 区域ID */ @NotNull(message = "区域ID不能为空") private Long regionId; - /** 规则ID */ - private Long ruleId; - /** 类型:0->只售;1->禁售 */ @NotNull(message = "类型:0->只售;1->禁售不能为空") private Integer typeFlag; @@ -79,8 +71,5 @@ public class BmsSkuRegion implements Serializable { @JsonProperty private Boolean delFlag; - @TableField(exist = false) - private List skuIds; - } diff --git a/src/main/java/com/qs/serve/modules/bms/entity/BmsRuleSku.java b/src/main/java/com/qs/serve/modules/bms/entity/BmsRuleSku.java new file mode 100644 index 00000000..e0a9d647 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/entity/BmsRuleSku.java @@ -0,0 +1,79 @@ +package com.qs.serve.modules.bms.entity; + +import java.time.LocalDateTime; +import java.io.Serializable; + +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; + +/** + * 规则sku 实体类 + * @author YenHex + * @since 2022-10-21 + */ +@Data +@TableName("bms_rule_sku") +public class BmsRuleSku implements Serializable { + + private static final long serialVersionUID = 1L; + + /** id */ + @TableId(type = IdType.AUTO) + private Long id; + + /** 规则id */ + @NotNull(message = "规则id不能为空") + private Long ruleId; + + /** skuId */ + @NotNull(message = "skuId不能为空") + private Long skuId; + + /** spuId */ + @NotNull(message = "spuId不能为空") + private Long spuId; + + /** 备注 */ + @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; + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplierAddress.java b/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplierAddress.java index 1f32b912..53155ac7 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplierAddress.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplierAddress.java @@ -17,7 +17,7 @@ import javax.validation.constraints.NotBlank; /** * 供应商地址 实体类 * @author YenHex - * @since 2022-10-12 + * @since 2022-10-21 */ @Data @TableName("bms_supplier_address") @@ -37,16 +37,28 @@ public class BmsSupplierAddress implements Serializable { @NotNull(message = "是否默认不能为空") private Integer defaultFlag; + /** 省编码 */ + @Length(max = 20,message = "省编码长度不能超过20字") + private String provinceCode; + /** 省 */ @NotBlank(message = "省不能为空") @Length(max = 12,message = "省长度不能超过12字") private String province; + /** 市编码 */ + @Length(max = 20,message = "市编码长度不能超过20字") + private String cityCode; + /** 市 */ @NotBlank(message = "市不能为空") @Length(max = 20,message = "市长度不能超过20字") private String city; + /** 区编码 */ + @Length(max = 20,message = "区编码长度不能超过20字") + private String areaCode; + /** 区 */ @NotBlank(message = "区不能为空") @Length(max = 20,message = "区长度不能超过20字") @@ -57,18 +69,20 @@ public class BmsSupplierAddress implements Serializable { @Length(max = 255,message = "详细地址长度不能超过255字") private String detail; - /** 备注 */ - @Length(max = 255,message = "备注长度不能超过255字") - private String remark; - - /** 收货联系方式 */ - @NotBlank(message = "收货联系方式不能为空") + /** 手机号 */ + @NotBlank(message = "手机号不能为空") + @Length(max = 30,message = "手机号长度不能超过30字") private String phone; - /** 收货人 */ - @NotBlank(message = "收货人不能为空") + /** 收件人 */ + @NotBlank(message = "收件人不能为空") + @Length(max = 30,message = "收件人长度不能超过30字") private String receiver; + /** 备注 */ + @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") diff --git a/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsRuleBo.java b/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsRuleBo.java index ab6ce0dd..b4b64318 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsRuleBo.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsRuleBo.java @@ -2,11 +2,9 @@ package com.qs.serve.modules.bms.entity.bo; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; -import org.hibernate.validator.constraints.Length; import org.springframework.format.annotation.DateTimeFormat; import javax.validation.constraints.NotNull; - import java.time.LocalDateTime; import java.util.List; @@ -17,15 +15,12 @@ import java.util.List; @Data public class BmsRuleBo { - private Long id; - + /** + * 规则id + */ @NotNull - private String title; - - private String remark; + private Long id; - /** skuId */ - @NotNull private List skuIds; /** 只售区域id */ @@ -34,14 +29,4 @@ public class BmsRuleBo { /** 禁售区域id */ private List banSaleRegionIds; - /** 开始时间 */ - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private LocalDateTime startTime; - - /** 结束时间 */ - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private LocalDateTime endTime; - } diff --git a/src/main/java/com/qs/serve/modules/bms/mapper/BmsFactoryMapper.java b/src/main/java/com/qs/serve/modules/bms/mapper/BmsFactoryMapper.java new file mode 100644 index 00000000..56da43ed --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/mapper/BmsFactoryMapper.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.bms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.qs.serve.modules.bms.entity.BmsFactory; + +/** + * 工厂产地 Mapper + * @author YenHex + * @date 2022-10-20 + */ +public interface BmsFactoryMapper extends BaseMapper { + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/mapper/BmsRuleRegionMapper.java b/src/main/java/com/qs/serve/modules/bms/mapper/BmsRuleRegionMapper.java new file mode 100644 index 00000000..2b8bd9e7 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/mapper/BmsRuleRegionMapper.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.bms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.qs.serve.modules.bms.entity.BmsRuleRegion; + +/** + * 规则区域 Mapper + * @author YenHex + * @date 2022-10-21 + */ +public interface BmsRuleRegionMapper extends BaseMapper { + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/mapper/BmsRuleSkuMapper.java b/src/main/java/com/qs/serve/modules/bms/mapper/BmsRuleSkuMapper.java new file mode 100644 index 00000000..e7217731 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/mapper/BmsRuleSkuMapper.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.bms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.qs.serve.modules.bms.entity.BmsRuleSku; + +/** + * 规则sku Mapper + * @author YenHex + * @date 2022-10-21 + */ +public interface BmsRuleSkuMapper extends BaseMapper { + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/mapper/BmsSkuRegionMapper.java b/src/main/java/com/qs/serve/modules/bms/mapper/BmsSkuRegionMapper.java deleted file mode 100644 index 95e138f6..00000000 --- a/src/main/java/com/qs/serve/modules/bms/mapper/BmsSkuRegionMapper.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.qs.serve.modules.bms.mapper; - -import com.baomidou.mybatisplus.annotation.InterceptorIgnore; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.qs.serve.modules.bms.entity.BmsSkuRegion; -import org.apache.ibatis.annotations.Param; -import java.util.List; - -/** - * 禁销区域 Mapper - * @author YenHex - * @date 2022-10-18 - */ -public interface BmsSkuRegionMapper extends BaseMapper { - - /** - * 查询 - * @param skuRegion - * @return - */ - @InterceptorIgnore(tenantLine = "1") - List listSkuRegions(@Param("query") BmsSkuRegion skuRegion); - -} - diff --git a/src/main/java/com/qs/serve/modules/bms/service/BmsFactoryService.java b/src/main/java/com/qs/serve/modules/bms/service/BmsFactoryService.java new file mode 100644 index 00000000..f5bcab48 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/service/BmsFactoryService.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.bms.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.qs.serve.modules.bms.entity.BmsFactory; + +/** + * 工厂产地 服务接口 + * @author YenHex + * @date 2022-10-20 + */ +public interface BmsFactoryService extends IService { + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/service/BmsRuleMainService.java b/src/main/java/com/qs/serve/modules/bms/service/BmsRuleMainService.java index caf12ad6..9cb4142d 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/BmsRuleMainService.java +++ b/src/main/java/com/qs/serve/modules/bms/service/BmsRuleMainService.java @@ -27,7 +27,6 @@ import java.util.stream.Collectors; public class BmsRuleMainService { private BmsSkuSupplierService bmsSkuSupplierService; - private BmsSkuRegionService bmsSkuRegionService; public boolean check(BmsSupplier supplier,List goodsSkus){ List skuIds = goodsSkus.stream().map(GoodsSku::getId).collect(Collectors.toList()); @@ -59,9 +58,8 @@ public class BmsRuleMainService { skuIds = skuIds.stream().filter(skuId-> passSkuIds.stream().noneMatch(passSkuId-> passSkuId.equals(skuId)) ).collect(Collectors.toList()); - //检验区域拦截 0默认 1可售 2禁售 - int rs3 = bmsSkuRegionService.checkSkuRule(skuIds,supplier); - return rs3 < 2; + //todo 检验区域拦截 0默认 1可售 2禁售 + return true; } public List getSkuSupplierRules(String supplierId, List skuIds) { diff --git a/src/main/java/com/qs/serve/modules/bms/service/BmsRuleRegionService.java b/src/main/java/com/qs/serve/modules/bms/service/BmsRuleRegionService.java new file mode 100644 index 00000000..345d076d --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/service/BmsRuleRegionService.java @@ -0,0 +1,21 @@ +package com.qs.serve.modules.bms.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.qs.serve.modules.bms.entity.BmsRuleRegion; + +/** + * 规则区域 服务接口 + * @author YenHex + * @date 2022-10-21 + */ +public interface BmsRuleRegionService extends IService { + + /** + * 通过区域id删除 + * @param regionId + * @return + */ + boolean removeByRegionId(Long regionId); + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/service/BmsRuleService.java b/src/main/java/com/qs/serve/modules/bms/service/BmsRuleService.java index 1c0afa4b..d966bcc6 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/BmsRuleService.java +++ b/src/main/java/com/qs/serve/modules/bms/service/BmsRuleService.java @@ -2,7 +2,6 @@ package com.qs.serve.modules.bms.service; import com.baomidou.mybatisplus.extension.service.IService; import com.qs.serve.modules.bms.entity.BmsRule; -import com.qs.serve.modules.bms.entity.bo.BmsRuleBo; /** * 规则 服务接口 @@ -11,11 +10,5 @@ import com.qs.serve.modules.bms.entity.bo.BmsRuleBo; */ public interface BmsRuleService extends IService { - /** - * 编辑 - * @param skuRegionBo - */ - void edit(BmsRuleBo skuRegionBo); - } diff --git a/src/main/java/com/qs/serve/modules/bms/service/BmsRuleSkuService.java b/src/main/java/com/qs/serve/modules/bms/service/BmsRuleSkuService.java new file mode 100644 index 00000000..2db2f355 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/service/BmsRuleSkuService.java @@ -0,0 +1,18 @@ +package com.qs.serve.modules.bms.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.qs.serve.modules.bms.entity.BmsRuleSku; + +import java.util.List; + +/** + * 规则sku 服务接口 + * @author YenHex + * @date 2022-10-21 + */ +public interface BmsRuleSkuService extends IService { + + List listSkuIdsByRuleId(Long ruleId); + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/service/BmsSkuRegionService.java b/src/main/java/com/qs/serve/modules/bms/service/BmsSkuRegionService.java deleted file mode 100644 index 20f687a6..00000000 --- a/src/main/java/com/qs/serve/modules/bms/service/BmsSkuRegionService.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.qs.serve.modules.bms.service; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.IService; -import com.qs.serve.modules.bms.entity.BmsSkuRegion; -import com.qs.serve.modules.bms.entity.BmsSupplier; -import com.qs.serve.modules.bms.entity.bo.BmsRuleBo; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * 禁销区域 服务接口 - * @author YenHex - * @date 2022-10-18 - */ -public interface BmsSkuRegionService extends IService { - - /** - * 编辑 - * @param ruleId - * @param skuRegionBo - */ - void edit(Long ruleId,BmsRuleBo skuRegionBo); - - - /** - * 查询 - * @param skuRegion - * @return - */ - List listSkuRegions(BmsSkuRegion skuRegion); - - /** - * 检查规则 - * @param skuIds - * @param supplier - * @return - */ - int checkSkuRule(List skuIds, BmsSupplier supplier); - - boolean removeByRegionId(Long regionId); - -} - diff --git a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsFactoryServiceImpl.java b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsFactoryServiceImpl.java new file mode 100644 index 00000000..90186134 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsFactoryServiceImpl.java @@ -0,0 +1,22 @@ +package com.qs.serve.modules.bms.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import com.qs.serve.modules.bms.entity.BmsFactory; +import com.qs.serve.modules.bms.service.BmsFactoryService; +import com.qs.serve.modules.bms.mapper.BmsFactoryMapper; + +/** + * 工厂产地 服务实现类 + * @author YenHex + * @since 2022-10-20 + */ +@Slf4j +@Service +@AllArgsConstructor +public class BmsFactoryServiceImpl extends ServiceImpl implements BmsFactoryService { + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsRuleRegionServiceImpl.java b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsRuleRegionServiceImpl.java new file mode 100644 index 00000000..91013051 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsRuleRegionServiceImpl.java @@ -0,0 +1,30 @@ +package com.qs.serve.modules.bms.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import com.qs.serve.modules.bms.entity.BmsRuleRegion; +import com.qs.serve.modules.bms.service.BmsRuleRegionService; +import com.qs.serve.modules.bms.mapper.BmsRuleRegionMapper; + +/** + * 规则区域 服务实现类 + * @author YenHex + * @since 2022-10-21 + */ +@Slf4j +@Service +@AllArgsConstructor +public class BmsRuleRegionServiceImpl extends ServiceImpl implements BmsRuleRegionService { + + @Override + public boolean removeByRegionId(Long regionId) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(BmsRuleRegion::getRegionId,regionId); + return this.remove(lqw); + } + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsRuleServiceImpl.java b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsRuleServiceImpl.java index d9ae34aa..12c6df2a 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsRuleServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsRuleServiceImpl.java @@ -1,8 +1,6 @@ package com.qs.serve.modules.bms.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.qs.serve.modules.bms.entity.bo.BmsRuleBo; -import com.qs.serve.modules.bms.service.BmsSkuRegionService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -20,19 +18,5 @@ import com.qs.serve.modules.bms.mapper.BmsRuleMapper; @AllArgsConstructor public class BmsRuleServiceImpl extends ServiceImpl implements BmsRuleService { - private BmsSkuRegionService skuRegionService; - - @Override - public void edit(BmsRuleBo skuRegionBo) { - BmsRule bmsRule = new BmsRule(); - bmsRule.setId(skuRegionBo.getId()); - bmsRule.setName(skuRegionBo.getTitle()); - bmsRule.setRemark(skuRegionBo.getRemark()); - bmsRule.setStartTime(skuRegionBo.getStartTime()); - bmsRule.setEndTime(skuRegionBo.getEndTime()); - this.saveOrUpdate(bmsRule); - skuRegionService.edit(bmsRule.getId(),skuRegionBo); - } - } diff --git a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsRuleSkuServiceImpl.java b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsRuleSkuServiceImpl.java new file mode 100644 index 00000000..3291f23e --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsRuleSkuServiceImpl.java @@ -0,0 +1,32 @@ +package com.qs.serve.modules.bms.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import com.qs.serve.modules.bms.entity.BmsRuleSku; +import com.qs.serve.modules.bms.service.BmsRuleSkuService; +import com.qs.serve.modules.bms.mapper.BmsRuleSkuMapper; + +import java.util.List; + +/** + * 规则sku 服务实现类 + * @author YenHex + * @since 2022-10-21 + */ +@Slf4j +@Service +@AllArgsConstructor +public class BmsRuleSkuServiceImpl extends ServiceImpl implements BmsRuleSkuService { + + @Override + public List listSkuIdsByRuleId(Long ruleId) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(BmsRuleSku::getRuleId,ruleId); + return this.list(lqw); + } + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSkuRegionServiceImpl.java b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSkuRegionServiceImpl.java deleted file mode 100644 index 6e7422b3..00000000 --- a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSkuRegionServiceImpl.java +++ /dev/null @@ -1,115 +0,0 @@ -package com.qs.serve.modules.bms.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.qs.serve.common.util.Assert; -import com.qs.serve.common.util.CollectionUtil; -import com.qs.serve.modules.bms.entity.BmsSupplier; -import com.qs.serve.modules.bms.entity.bo.BmsRuleBo; -import com.qs.serve.modules.goods.entity.GoodsSku; -import com.qs.serve.modules.goods.service.GoodsSkuService; -import lombok.AllArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import com.qs.serve.modules.bms.entity.BmsSkuRegion; -import com.qs.serve.modules.bms.service.BmsSkuRegionService; -import com.qs.serve.modules.bms.mapper.BmsSkuRegionMapper; - -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.List; -import java.util.stream.Collectors; - -/** - * 禁销区域 服务实现类 - * @author YenHex - * @since 2022-10-18 - */ -@Slf4j -@Service -@AllArgsConstructor -public class BmsSkuRegionServiceImpl extends ServiceImpl implements BmsSkuRegionService { - - private GoodsSkuService goodsSkuService; - - @Override - public void edit(Long ruleId,BmsRuleBo skuRegionBo) { - List banSaleRegionIds = skuRegionBo.getBanSaleRegionIds(); - List onlySaleRegionIds = skuRegionBo.getOnlySaleRegionIds(); - if (CollectionUtil.isEmpty(skuRegionBo.getSkuIds())){ - Assert.throwEx("请选择商品"); - } - List skuList = goodsSkuService.listByIds(skuRegionBo.getSkuIds()); - //移除旧数据 - this.deleteByRuleId(ruleId); - //去重 - if(CollectionUtil.isNotEmpty(banSaleRegionIds)&&CollectionUtil.isNotEmpty(onlySaleRegionIds)){ - onlySaleRegionIds = onlySaleRegionIds.stream().filter(id->!banSaleRegionIds.contains(id)).collect(Collectors.toList()); - } - List skuRegionsList = new ArrayList<>(); - for (GoodsSku goodsSku : skuList) { - for (Long saleRegionId : banSaleRegionIds) { - BmsSkuRegion skuRegion = new BmsSkuRegion(); - skuRegion.setSpuId(goodsSku.getSpuId()); - skuRegion.setSkuId(goodsSku.getId()); - skuRegion.setRegionId(saleRegionId); - skuRegion.setRuleId(ruleId); - skuRegion.setTypeFlag(1); - skuRegionsList.add(skuRegion); - } - for (Long saleRegionId : onlySaleRegionIds) { - BmsSkuRegion skuRegion = new BmsSkuRegion(); - skuRegion.setSpuId(goodsSku.getSpuId()); - skuRegion.setSkuId(goodsSku.getId()); - skuRegion.setRegionId(saleRegionId); - skuRegion.setRuleId(ruleId); - skuRegion.setTypeFlag(0); - skuRegionsList.add(skuRegion); - } - } - if(CollectionUtil.isNotEmpty(skuRegionsList)){ - this.saveBatch(skuRegionsList); - } - } - - @Override - public List listSkuRegions(BmsSkuRegion skuRegion) { - return baseMapper.listSkuRegions(skuRegion); - } - - @Override - public int checkSkuRule(List skuIds, BmsSupplier supplier) { - int result = 0; - BmsSkuRegion param = new BmsSkuRegion(); - List skuRegionList = this.listSkuRegions(param); - for (BmsSkuRegion skuRegion : skuRegionList) { - String regionId = skuRegion.getRegionId()+""; - boolean isFirst = supplier.getRegionFirst().equals(regionId); - boolean isSecond = supplier.getRegionSecond()!=null && supplier.getRegionSecond().equals(regionId); - boolean isThird = supplier.getRegionThird()!=null && supplier.getRegionThird().equals(regionId); - if(isFirst||isSecond||isThird){ - result = skuRegion.getTypeFlag().equals(0)?1:2; - break; - } - } - return result; - } - - @Override - public boolean removeByRegionId(Long regionId) { - LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); - lqw.eq(BmsSkuRegion::getRegionId,regionId); - return this.remove(lqw); - } - - private void deleteByRuleId(Long ruleId){ - LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); - lqw.eq(BmsSkuRegion::getRuleId,ruleId); - this.remove(lqw); - } - - -} - diff --git a/src/main/java/com/qs/serve/modules/goods/entity/GoodsSku.java b/src/main/java/com/qs/serve/modules/goods/entity/GoodsSku.java index a074ddd2..277e70de 100644 --- a/src/main/java/com/qs/serve/modules/goods/entity/GoodsSku.java +++ b/src/main/java/com/qs/serve/modules/goods/entity/GoodsSku.java @@ -3,6 +3,7 @@ package com.qs.serve.modules.goods.entity; import java.math.BigDecimal; import java.time.LocalDateTime; import java.io.Serializable; +import java.util.List; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; @@ -112,5 +113,7 @@ public class GoodsSku implements Serializable { @TableField(fill = FieldFill.UPDATE) private String updateBy; + @TableField(exist = false) + private List selectSkuIds; } diff --git a/src/main/java/com/qs/serve/modules/goods/entity/vo/GoodSkuVo.java b/src/main/java/com/qs/serve/modules/goods/entity/vo/GoodSkuVo.java new file mode 100644 index 00000000..6703840d --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/entity/vo/GoodSkuVo.java @@ -0,0 +1,17 @@ +package com.qs.serve.modules.goods.entity.vo; + +import com.qs.serve.modules.goods.entity.GoodsSku; +import lombok.Data; + +/** + * @author YenHex + * @since 2022/10/20 + */ +@Data +public class GoodSkuVo extends GoodsSku { + + private String name; + + private Long spuId; + +} diff --git a/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSkuMapper.java b/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSkuMapper.java index 4c4f49eb..5de565a7 100644 --- a/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSkuMapper.java +++ b/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSkuMapper.java @@ -2,6 +2,10 @@ package com.qs.serve.modules.goods.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.qs.serve.modules.goods.entity.GoodsSku; +import com.qs.serve.modules.goods.entity.vo.GoodSkuVo; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * sku Mapper @@ -10,5 +14,12 @@ import com.qs.serve.modules.goods.entity.GoodsSku; */ public interface GoodsSkuMapper extends BaseMapper { + /** + * 查询vo + * @param goodsSku + * @return + */ + List selectSkuVo(@Param("query") GoodsSku goodsSku); + } diff --git a/src/main/java/com/qs/serve/modules/goods/service/GoodsSkuService.java b/src/main/java/com/qs/serve/modules/goods/service/GoodsSkuService.java index 161d4f46..bbe987e9 100644 --- a/src/main/java/com/qs/serve/modules/goods/service/GoodsSkuService.java +++ b/src/main/java/com/qs/serve/modules/goods/service/GoodsSkuService.java @@ -2,6 +2,9 @@ package com.qs.serve.modules.goods.service; import com.baomidou.mybatisplus.extension.service.IService; import com.qs.serve.modules.goods.entity.GoodsSku; +import com.qs.serve.modules.goods.entity.vo.GoodSkuVo; +import org.apache.ibatis.annotations.Param; + import java.util.List; /** @@ -15,5 +18,7 @@ public interface GoodsSkuService extends IService { List getBySpuId(Long spuId); + List selectSkuVo(GoodsSku goodsSku); + } diff --git a/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuServiceImpl.java b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuServiceImpl.java index a06131cd..e5660da1 100644 --- a/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuServiceImpl.java @@ -2,6 +2,7 @@ package com.qs.serve.modules.goods.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.qs.serve.modules.goods.entity.vo.GoodSkuVo; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -34,5 +35,10 @@ public class GoodsSkuServiceImpl extends ServiceImpl im lqw.eq(GoodsSku::getSpuId,spuId); return list(lqw); } + + @Override + public List selectSkuVo(GoodsSku goodsSku) { + return baseMapper.selectSkuVo(goodsSku); + } } diff --git a/src/main/java/com/qs/serve/modules/oms/controller/api/OmsShoppingCartApi.java b/src/main/java/com/qs/serve/modules/oms/controller/api/OmsShoppingCartApi.java index fc01bc1a..af7b597e 100644 --- a/src/main/java/com/qs/serve/modules/oms/controller/api/OmsShoppingCartApi.java +++ b/src/main/java/com/qs/serve/modules/oms/controller/api/OmsShoppingCartApi.java @@ -1,19 +1,14 @@ package com.qs.serve.modules.oms.controller.api; 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.AuthContextUtils; import com.qs.serve.common.util.CopierUtil; import com.qs.serve.common.util.PageUtil; -import com.qs.serve.modules.bms.entity.BmsSkuRegion; import com.qs.serve.modules.bms.entity.BmsSupplier; import com.qs.serve.modules.bms.service.*; import com.qs.serve.modules.goods.entity.GoodsSku; -import com.qs.serve.modules.goods.entity.GoodsSkuSpecValue; import com.qs.serve.modules.goods.entity.GoodsSpu; import com.qs.serve.modules.goods.entity.vo.GoodsSkuSpecValueVo; import com.qs.serve.modules.goods.service.GoodsSkuService; @@ -27,11 +22,9 @@ import com.qs.serve.modules.wx.entity.WxUser; import com.qs.serve.modules.wx.service.WxUserService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; -import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; diff --git a/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsConfirmOrderBo.java b/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsConfirmOrderBo.java index d2e9fdd8..3137996c 100644 --- a/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsConfirmOrderBo.java +++ b/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsConfirmOrderBo.java @@ -11,12 +11,6 @@ import java.util.List; @Data public class OmsConfirmOrderBo { - /** - * 供应商id - */ - @NotNull - private Long supplierId; - /** * 订单类型:0->普通订单; */ diff --git a/src/main/java/com/qs/serve/modules/oms/service/OmsShoppingCartService.java b/src/main/java/com/qs/serve/modules/oms/service/OmsShoppingCartService.java index d78cbb7c..25771270 100644 --- a/src/main/java/com/qs/serve/modules/oms/service/OmsShoppingCartService.java +++ b/src/main/java/com/qs/serve/modules/oms/service/OmsShoppingCartService.java @@ -12,7 +12,7 @@ import java.util.List; */ public interface OmsShoppingCartService extends IService { - List listByIds(List ids,Long supplierId); + List listByIds(List ids,String supplierId); } diff --git a/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java b/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java index 4da0bb02..a5f3f572 100644 --- a/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java @@ -1,6 +1,9 @@ package com.qs.serve.modules.oms.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.qs.serve.common.util.AuthContextUtils; +import com.qs.serve.modules.bms.entity.BmsSupplier; +import com.qs.serve.modules.goods.entity.GoodsSku; import com.qs.serve.modules.oms.entity.OmsShoppingCart; import com.qs.serve.modules.oms.entity.bo.OmsConfirmOrderBo; import com.qs.serve.modules.oms.entity.vo.OmsConfirmOrderVo; @@ -26,10 +29,12 @@ public class OmsOrderServiceImpl extends ServiceImpl im private OmsShoppingCartService omsShoppingCartService; + @Override public OmsConfirmOrderVo generateConfirmOrder(OmsConfirmOrderBo confirmOrder) { - List shoppingCarts = omsShoppingCartService.listByIds(confirmOrder.getShoppingCartIds(),confirmOrder.getSupplierId()); - //检验规则 + BmsSupplier supplier = AuthContextUtils.getCurrentSupplier(); + List shoppingCarts = omsShoppingCartService.listByIds(confirmOrder.getShoppingCartIds(),supplier.getId()); + //todo 检验规则 //检验库存 //计算供应商折扣 //计算是否有活动优惠 diff --git a/src/main/java/com/qs/serve/modules/oms/service/impl/OmsShoppingCartServiceImpl.java b/src/main/java/com/qs/serve/modules/oms/service/impl/OmsShoppingCartServiceImpl.java index c3574560..477caf39 100644 --- a/src/main/java/com/qs/serve/modules/oms/service/impl/OmsShoppingCartServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/oms/service/impl/OmsShoppingCartServiceImpl.java @@ -22,7 +22,7 @@ import java.util.List; public class OmsShoppingCartServiceImpl extends ServiceImpl implements OmsShoppingCartService { @Override - public List listByIds(List ids, Long supplierId) { + public List listByIds(List ids, String supplierId) { LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.in(OmsShoppingCart::getId,ids); lqw.eq(OmsShoppingCart::getSupplierId,supplierId); diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 203bdec3..4efb272a 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -16,7 +16,7 @@ tencent: #服务配置 server: - port: 7403 + port: 7400 servlet: context-path: / #SpringBoot相关 diff --git a/src/main/resources/mapper/bms/BmsSkuRegionMapper.xml b/src/main/resources/mapper/bms/BmsSkuRegionMapper.xml deleted file mode 100644 index da610d44..00000000 --- a/src/main/resources/mapper/bms/BmsSkuRegionMapper.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - bms_sku_region.`id`, - bms_sku_region.`spu_id`, - bms_sku_region.`sku_id`, - bms_sku_region.`region_id`, - bms_sku_region.`rule_id`, - bms_sku_region.`type_flag`, - bms_sku_region.`create_time`, - bms_sku_region.`create_by`, - bms_sku_region.`update_time`, - bms_sku_region.`update_by`, - bms_sku_region.`tenant_id`, - bms_sku_region.`del_flag` - - - - diff --git a/src/main/resources/mapper/goods/GoodsSkuMapper.xml b/src/main/resources/mapper/goods/GoodsSkuMapper.xml new file mode 100644 index 00000000..eae02131 --- /dev/null +++ b/src/main/resources/mapper/goods/GoodsSkuMapper.xml @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + goods_sku.`id`, + goods_sku.`sku_code`, + goods_sku.`spu_id`, + goods_sku.`pic_url`, + goods_sku.`sales_price`, + goods_sku.`market_price`, + goods_sku.`cost_price`, + goods_sku.`spec_infos`, + goods_sku.`stock`, + goods_sku.`unit_id`, + goods_sku.`unit_name`, + goods_sku.`weight`, + goods_sku.`volume`, + goods_sku.`enable`, + goods_sku.`version`, + goods_sku.`remark`, + goods_sku.`update_time`, + goods_sku.`create_time`, + goods_sku.`tenant_id`, + goods_sku.`del_flag`, + goods_sku.`create_by`, + goods_sku.`update_by` + + + + + +