Browse Source

添加成本中心、erp信息、商品单位、添加批量添加供应商

mssql
Yen 3 years ago
parent
commit
6f90c65d6c
  1. 103
      src/main/java/com/qs/serve/modules/bms/controller/BmsCostCenterController.java
  2. 103
      src/main/java/com/qs/serve/modules/bms/controller/BmsErpInfoController.java
  3. 13
      src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java
  4. 44
      src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierAddressController.java
  5. 6
      src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierBandController.java
  6. 14
      src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java
  7. 77
      src/main/java/com/qs/serve/modules/bms/entity/BmsCostCenter.java
  8. 77
      src/main/java/com/qs/serve/modules/bms/entity/BmsErpInfo.java
  9. 1
      src/main/java/com/qs/serve/modules/bms/entity/BmsRegion.java
  10. 6
      src/main/java/com/qs/serve/modules/bms/entity/BmsSupplier.java
  11. 3
      src/main/java/com/qs/serve/modules/bms/entity/vo/BmsRegionBatchBo.java
  12. 47
      src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSupplierBatchBo.java
  13. 14
      src/main/java/com/qs/serve/modules/bms/mapper/BmsCostCenterMapper.java
  14. 14
      src/main/java/com/qs/serve/modules/bms/mapper/BmsErpInfoMapper.java
  15. 14
      src/main/java/com/qs/serve/modules/bms/service/BmsCostCenterService.java
  16. 14
      src/main/java/com/qs/serve/modules/bms/service/BmsErpInfoService.java
  17. 2
      src/main/java/com/qs/serve/modules/bms/service/BmsRegionService.java
  18. 6
      src/main/java/com/qs/serve/modules/bms/service/BmsSupplierAddressService.java
  19. 7
      src/main/java/com/qs/serve/modules/bms/service/BmsSupplierService.java
  20. 22
      src/main/java/com/qs/serve/modules/bms/service/impl/BmsCostCenterServiceImpl.java
  21. 22
      src/main/java/com/qs/serve/modules/bms/service/impl/BmsErpInfoServiceImpl.java
  22. 7
      src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegionServiceImpl.java
  23. 18
      src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierAddressServiceImpl.java
  24. 91
      src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierServiceImpl.java
  25. 103
      src/main/java/com/qs/serve/modules/goods/controller/GoodsUnitController.java
  26. 10
      src/main/java/com/qs/serve/modules/goods/entity/GoodsSku.java
  27. 3
      src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java
  28. 71
      src/main/java/com/qs/serve/modules/goods/entity/GoodsUnit.java
  29. 8
      src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsSpuTasteBo.java
  30. 14
      src/main/java/com/qs/serve/modules/goods/mapper/GoodsUnitMapper.java
  31. 16
      src/main/java/com/qs/serve/modules/goods/service/GoodsUnitService.java
  32. 14
      src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpuServiceImpl.java
  33. 30
      src/main/java/com/qs/serve/modules/goods/service/impl/GoodsUnitServiceImpl.java

103
src/main/java/com/qs/serve/modules/bms/controller/BmsCostCenterController.java

@ -0,0 +1,103 @@
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.BmsCostCenter;
import com.qs.serve.modules.bms.service.BmsCostCenterService;
import javax.validation.Valid;
import java.util.List;
/**
* 基础档案 成本中心
* @author YenHex
* @since 2022-10-13
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("bms/costCenter")
public class BmsCostCenterController {
private BmsCostCenterService bmsCostCenterService;
/**
* 翻页查询
* @param param
* @return
*/
@GetMapping("/page")
@PreAuthorize("hasRole('bms:costCenter:query')")
public R<PageVo<BmsCostCenter>> getPage(BmsCostCenter param){
PageUtil.startPage();
LambdaQueryWrapper<BmsCostCenter> costCenterWrapper = new LambdaQueryWrapper<>(param);
List<BmsCostCenter> list = bmsCostCenterService.list(costCenterWrapper);
return R.byPageHelperList(list);
}
/**
* 根据ID查询
* @param id
* @return
*/
@GetMapping("/getById/{id}")
@SysLog(module = SystemModule.BASE, title = "成本中心", biz = BizType.QUERY)
@PreAuthorize("hasRole('bms:costCenter:query')")
public R<BmsCostCenter> getById(@PathVariable("id") String id){
BmsCostCenter bmsCostCenter = bmsCostCenterService.getById(id);
return R.ok(bmsCostCenter);
}
/**
* 根据ID更新
* @param param
* @return
*/
@PostMapping("/updateById")
@SysLog(module = SystemModule.BASE, title = "成本中心", biz = BizType.UPDATE)
@PreAuthorize("hasRole('bms:costCenter:update')")
public R<?> updateById(@RequestBody @Valid BmsCostCenter param){
boolean result = bmsCostCenterService.updateById(param);
return R.isTrue(result);
}
/**
* 新增成本中心
* @param param
* @return
*/
@PostMapping("/save")
@SysLog(module = SystemModule.BASE, title = "成本中心", biz = BizType.INSERT)
@PreAuthorize("hasRole('bms:costCenter:insert')")
public R<?> save(@RequestBody @Valid BmsCostCenter param){
boolean result = bmsCostCenterService.save(param);
return R.isTrue(result);
}
/**
* 删除成本中心
* @param id
* @return
*/
@DeleteMapping("/deleteById/{id}")
@SysLog(module = SystemModule.BASE, title = "成本中心", biz = BizType.DELETE)
@PreAuthorize("hasRole('bms:costCenter:delete')")
public R<?> deleteById(@PathVariable("id") String id){
boolean result = bmsCostCenterService.removeById(id);
return R.isTrue(result);
}
}

103
src/main/java/com/qs/serve/modules/bms/controller/BmsErpInfoController.java

@ -0,0 +1,103 @@
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.BmsErpInfo;
import com.qs.serve.modules.bms.service.BmsErpInfoService;
import javax.validation.Valid;
import java.util.List;
/**
* 基础档案 ERP信息
* @author YenHex
* @since 2022-10-13
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("bms/erpInfo")
public class BmsErpInfoController {
private BmsErpInfoService bmsErpInfoService;
/**
* 翻页查询
* @param param
* @return
*/
@GetMapping("/page")
@PreAuthorize("hasRole('bms:erpInfo:query')")
public R<PageVo<BmsErpInfo>> getPage(BmsErpInfo param){
PageUtil.startPage();
LambdaQueryWrapper<BmsErpInfo> erpInfoWrapper = new LambdaQueryWrapper<>(param);
List<BmsErpInfo> list = bmsErpInfoService.list(erpInfoWrapper);
return R.byPageHelperList(list);
}
/**
* 根据ID查询
* @param id
* @return
*/
@GetMapping("/getById/{id}")
@SysLog(module = SystemModule.BASE, title = "ERP信息", biz = BizType.QUERY)
@PreAuthorize("hasRole('bms:erpInfo:query')")
public R<BmsErpInfo> getById(@PathVariable("id") String id){
BmsErpInfo bmsErpInfo = bmsErpInfoService.getById(id);
return R.ok(bmsErpInfo);
}
/**
* 根据ID更新
* @param param
* @return
*/
@PostMapping("/updateById")
@SysLog(module = SystemModule.BASE, title = "ERP信息", biz = BizType.UPDATE)
@PreAuthorize("hasRole('bms:erpInfo:update')")
public R<?> updateById(@RequestBody @Valid BmsErpInfo param){
boolean result = bmsErpInfoService.updateById(param);
return R.isTrue(result);
}
/**
* 新增ERP信息
* @param param
* @return
*/
@PostMapping("/save")
@SysLog(module = SystemModule.BASE, title = "ERP信息", biz = BizType.INSERT)
@PreAuthorize("hasRole('bms:erpInfo:insert')")
public R<?> save(@RequestBody @Valid BmsErpInfo param){
boolean result = bmsErpInfoService.save(param);
return R.isTrue(result);
}
/**
* 删除ERP信息
* @param id
* @return
*/
@DeleteMapping("/deleteById/{id}")
@SysLog(module = SystemModule.BASE, title = "ERP信息", biz = BizType.DELETE)
@PreAuthorize("hasRole('bms:erpInfo:delete')")
public R<?> deleteById(@PathVariable("id") String id){
boolean result = bmsErpInfoService.removeById(id);
return R.isTrue(result);
}
}

13
src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java

@ -20,7 +20,6 @@ import com.qs.serve.modules.bms.service.BmsRegionService;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* 基础档案 区域档案 * 基础档案 区域档案
@ -115,18 +114,14 @@ public class BmsRegionController {
@SysLog(module = SystemModule.BASE, title = "区域档案", biz = BizType.INSERT) @SysLog(module = SystemModule.BASE, title = "区域档案", biz = BizType.INSERT)
@PreAuthorize("hasRole('bms:region:insert')") @PreAuthorize("hasRole('bms:region:insert')")
public R<?> editBatch(@RequestBody @Valid BmsRegionBatchBo regionBo){ public R<?> editBatch(@RequestBody @Valid BmsRegionBatchBo regionBo){
ValidateTools.valid(regionBo.getRegionList());
for (BmsRegionBatchBo.BmsRegionBo bmsRegionBo : regionBo.getRegionList()) { for (BmsRegionBatchBo.BmsRegionBo bmsRegionBo : regionBo.getRegionList()) {
BmsRegion region = CopierUtil.copy(bmsRegionBo,new BmsRegion()); BmsRegion region = CopierUtil.copy(bmsRegionBo,new BmsRegion());
if(region.getId()==null){ BmsRegion dbRegion = bmsRegionService.getByCode(region.getCode());
region.setId(IdUtil.getSnowFlakeId()+""); if(dbRegion==null){
bmsRegionService.save(region); bmsRegionService.save(region);
}else { }else {
BmsRegion dbRegion = bmsRegionService.getById(region.getId()); bmsRegionService.updateById(region);
if(dbRegion==null){
bmsRegionService.save(region);
}else {
bmsRegionService.updateById(region);
}
} }
} }
bmsRegionService.flushAllLevel(); bmsRegionService.flushAllLevel();

44
src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierAddressController.java

@ -10,6 +10,7 @@ import com.qs.serve.common.util.PageUtil;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import com.qs.serve.modules.bms.entity.BmsSupplierAddress; import com.qs.serve.modules.bms.entity.BmsSupplierAddress;
@ -19,7 +20,7 @@ import javax.validation.Valid;
import java.util.List; import java.util.List;
/** /**
* 基础档案 供应商地址 后台接口 * 基础档案 客户收货地址
* @author YenHex * @author YenHex
* @since 2022-10-12 * @since 2022-10-12
*/ */
@ -69,12 +70,18 @@ public class BmsSupplierAddressController {
@SysLog(module = SystemModule.BASE, title = "供应商地址", biz = BizType.UPDATE) @SysLog(module = SystemModule.BASE, title = "供应商地址", biz = BizType.UPDATE)
@PreAuthorize("hasRole('bms:supplierAddress:update')") @PreAuthorize("hasRole('bms:supplierAddress:update')")
public R<?> updateById(@RequestBody @Valid BmsSupplierAddress param){ public R<?> updateById(@RequestBody @Valid BmsSupplierAddress param){
BmsSupplierAddress supplierAddress = bmsSupplierAddressService.getDefault(param.getSupplierId());
if(supplierAddress==null){
param.setDefaultFlag(1);
}else {
param.setDefaultFlag(0);
}
boolean result = bmsSupplierAddressService.updateById(param); boolean result = bmsSupplierAddressService.updateById(param);
return R.isTrue(result); return R.isTrue(result);
} }
/** /**
* 新增供应商地址 * 新增
* @param param * @param param
* @return * @return
*/ */
@ -82,12 +89,43 @@ public class BmsSupplierAddressController {
@SysLog(module = SystemModule.BASE, title = "供应商地址", biz = BizType.INSERT) @SysLog(module = SystemModule.BASE, title = "供应商地址", biz = BizType.INSERT)
@PreAuthorize("hasRole('bms:supplierAddress:insert')") @PreAuthorize("hasRole('bms:supplierAddress:insert')")
public R<?> save(@RequestBody @Valid BmsSupplierAddress param){ public R<?> save(@RequestBody @Valid BmsSupplierAddress param){
BmsSupplierAddress supplierAddress = bmsSupplierAddressService.getDefault(param.getSupplierId());
if(supplierAddress==null){
param.setDefaultFlag(1);
}else {
param.setDefaultFlag(0);
}
boolean result = bmsSupplierAddressService.save(param); boolean result = bmsSupplierAddressService.save(param);
return R.isTrue(result); return R.isTrue(result);
} }
/** /**
* 删除供应商地址 * 设置默认的地址
* @param id 地址ID
* @return
*/
@PostMapping("/setDefault")
@SysLog(module = SystemModule.BASE, title = "供应商地址", biz = BizType.INSERT)
@PreAuthorize("hasRole('bms:supplierAddress:insert')")
@Transactional(rollbackFor = Exception.class)
public R<?> setDefault(@RequestBody @Valid Long id){
BmsSupplierAddress supplierAddress = bmsSupplierAddressService.getById(id);
List<BmsSupplierAddress> list = bmsSupplierAddressService.listBySupplierId(supplierAddress.getSupplierId());
//设置其它
for (BmsSupplierAddress address : list) {
if(!address.getId().equals(id)){
address.setDefaultFlag(0);
bmsSupplierAddressService.updateById(address);
}
}
//设置默认
supplierAddress.setDefaultFlag(1);
bmsSupplierAddressService.updateById(supplierAddress);
return R.ok();
}
/**
* 删除
* @param id * @param id
* @return * @return
*/ */

6
src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierBandController.java

@ -19,7 +19,7 @@ import javax.validation.Valid;
import java.util.List; import java.util.List;
/** /**
* 基础档案 供应商地址 后台接口 * 基础档案 客户银行信息
* @author YenHex * @author YenHex
* @since 2022-10-12 * @since 2022-10-12
*/ */
@ -74,7 +74,7 @@ public class BmsSupplierBandController {
} }
/** /**
* 新增供应商地址 * 新增
* @param param * @param param
* @return * @return
*/ */
@ -87,7 +87,7 @@ public class BmsSupplierBandController {
} }
/** /**
* 删除供应商地址 * 删除
* @param id * @param id
* @return * @return
*/ */

14
src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java

@ -10,6 +10,7 @@ import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.common.util.PageUtil; import com.qs.serve.common.util.PageUtil;
import com.qs.serve.common.util.TreeUtil; import com.qs.serve.common.util.TreeUtil;
import com.qs.serve.modules.bms.entity.vo.BmsRegionTreeVo; import com.qs.serve.modules.bms.entity.vo.BmsRegionTreeVo;
import com.qs.serve.modules.bms.entity.vo.BmsSupplierBatchBo;
import com.qs.serve.modules.bms.entity.vo.BmsSupplierBo; import com.qs.serve.modules.bms.entity.vo.BmsSupplierBo;
import com.qs.serve.modules.bms.entity.vo.BmsSupplierTreeVo; import com.qs.serve.modules.bms.entity.vo.BmsSupplierTreeVo;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@ -132,5 +133,18 @@ public class BmsSupplierController {
return R.ok(); return R.ok();
} }
/**
* 批量编辑
* @param param
* @return
*/
@PostMapping("/editBatch")
@SysLog(module = SystemModule.BASE, title = "供应商", biz = BizType.INSERT)
@PreAuthorize("hasRole('bms:supplier:insert')")
public R<?> editBatch(@RequestBody @Valid BmsSupplierBatchBo param){
bmsSupplierService.editBatch(param);
return R.ok();
}
} }

77
src/main/java/com/qs/serve/modules/bms/entity/BmsCostCenter.java

@ -0,0 +1,77 @@
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-13
*/
@Data
@TableName("bms_cost_center")
public class BmsCostCenter implements Serializable {
private static final long serialVersionUID = 1L;
/** id */
@TableId(type = IdType.AUTO)
private Long id;
/** 编码 */
@NotBlank(message = "编码不能为空")
@Length(max = 20,message = "编码长度不能超过20字")
private String code;
/** 名称 */
@NotBlank(message = "名称不能为空")
@Length(max = 20,message = "名称长度不能超过20字")
private String name;
/** 备注 */
@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;
/** 最后更新时间 */
@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;
/** 所属租户 */
@JsonIgnore
@JsonProperty
private String tenantId;
/** 逻辑删除标记(0:显示;1:隐藏) */
@JsonIgnore
@JsonProperty
private String delFlag;
/** 创建人 */
@TableField(fill = FieldFill.INSERT)
private String createBy;
/** 更新人 */
@TableField(fill = FieldFill.UPDATE)
private String updateBy;
}

77
src/main/java/com/qs/serve/modules/bms/entity/BmsErpInfo.java

@ -0,0 +1,77 @@
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;
/**
* ERP信息 实体类
* @author YenHex
* @since 2022-10-13
*/
@Data
@TableName("bms_erp_info")
public class BmsErpInfo implements Serializable {
private static final long serialVersionUID = 1L;
/** id */
@TableId(type = IdType.AUTO)
private Long id;
/** ERP编码 */
@NotBlank(message = "ERP编码不能为空")
@Length(max = 20,message = "ERP编码长度不能超过20字")
private String code;
/** ERP名称 */
@NotBlank(message = "ERP名称不能为空")
@Length(max = 20,message = "ERP名称长度不能超过20字")
private String name;
/** 备注 */
@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;
/** 最后更新时间 */
@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;
/** 所属租户 */
@JsonIgnore
@JsonProperty
private String tenantId;
/** 逻辑删除标记(0:显示;1:隐藏) */
@JsonIgnore
@JsonProperty
private String delFlag;
/** 创建人 */
@TableField(fill = FieldFill.INSERT)
private String createBy;
/** 更新人 */
@TableField(fill = FieldFill.UPDATE)
private String updateBy;
}

1
src/main/java/com/qs/serve/modules/bms/entity/BmsRegion.java

@ -26,6 +26,7 @@ public class BmsRegion implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** id */ /** id */
@TableId(type = IdType.INPUT)
private String id; private String id;
/** 名称 */ /** 名称 */

6
src/main/java/com/qs/serve/modules/bms/entity/BmsSupplier.java

@ -54,6 +54,12 @@ public class BmsSupplier implements Serializable {
/** 父级id */ /** 父级id */
private String pid; private String pid;
private String parentCode;
/** 归属ERP编码,如JSL、JSB、KL 对应ERP信息表作显示 */
@NotBlank(message = "客户编码不能为空")
private String belong;
/** 创建时间 */ /** 创建时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")

3
src/main/java/com/qs/serve/modules/bms/entity/vo/BmsRegionBatchBo.java

@ -2,6 +2,8 @@ package com.qs.serve.modules.bms.entity.vo;
import lombok.Data; import lombok.Data;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotNull;
import java.util.List; import java.util.List;
/** /**
@ -16,6 +18,7 @@ public class BmsRegionBatchBo {
@Data @Data
public static class BmsRegionBo{ public static class BmsRegionBo{
/** id */ /** id */
@NotNull(message = "id不能为空")
private String id; private String id;
/** 名称 */ /** 名称 */

47
src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSupplierBatchBo.java

@ -0,0 +1,47 @@
package com.qs.serve.modules.bms.entity.vo;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* @author YenHex
* @since 2022/10/13
*/
@Data
public class BmsSupplierBatchBo {
@NotNull
private List<BmsSupplierDto> supplierList;
@Data
public static class BmsSupplierDto{
/** id */
private Long id;
/** 区域ID */
private Long regionId;
/** 详细地址 */
private String address;
/** 名称 */
@NotBlank(message = "名称不能为空")
@Length(max = 20,message = "名称长度不能超过20字")
private String name;
/** 客户编码 */
@NotBlank(message = "客户编码不能为空")
@Length(max = 20,message = "客户编码长度不能超过20字")
private String code;
/** 父级编码,空表无父级 */
private String parentCode;
}
}

14
src/main/java/com/qs/serve/modules/bms/mapper/BmsCostCenterMapper.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.BmsCostCenter;
/**
* 成本中心 Mapper
* @author YenHex
* @date 2022-10-13
*/
public interface BmsCostCenterMapper extends BaseMapper<BmsCostCenter> {
}

14
src/main/java/com/qs/serve/modules/bms/mapper/BmsErpInfoMapper.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.BmsErpInfo;
/**
* ERP信息 Mapper
* @author YenHex
* @date 2022-10-13
*/
public interface BmsErpInfoMapper extends BaseMapper<BmsErpInfo> {
}

14
src/main/java/com/qs/serve/modules/bms/service/BmsCostCenterService.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.BmsCostCenter;
/**
* 成本中心 服务接口
* @author YenHex
* @date 2022-10-13
*/
public interface BmsCostCenterService extends IService<BmsCostCenter> {
}

14
src/main/java/com/qs/serve/modules/bms/service/BmsErpInfoService.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.BmsErpInfo;
/**
* ERP信息 服务接口
* @author YenHex
* @date 2022-10-13
*/
public interface BmsErpInfoService extends IService<BmsErpInfo> {
}

2
src/main/java/com/qs/serve/modules/bms/service/BmsRegionService.java

@ -18,6 +18,8 @@ public interface BmsRegionService extends IService<BmsRegion> {
List<BmsRegion> listChild(String pid); List<BmsRegion> listChild(String pid);
BmsRegion getByCode(String code);
void flushLevel(BmsRegion param); void flushLevel(BmsRegion param);
void flushAllLevel(); void flushAllLevel();

6
src/main/java/com/qs/serve/modules/bms/service/BmsSupplierAddressService.java

@ -3,6 +3,8 @@ package com.qs.serve.modules.bms.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.bms.entity.BmsSupplierAddress; import com.qs.serve.modules.bms.entity.BmsSupplierAddress;
import java.util.List;
/** /**
* 供应商地址 服务接口 * 供应商地址 服务接口
* @author YenHex * @author YenHex
@ -10,5 +12,9 @@ import com.qs.serve.modules.bms.entity.BmsSupplierAddress;
*/ */
public interface BmsSupplierAddressService extends IService<BmsSupplierAddress> { public interface BmsSupplierAddressService extends IService<BmsSupplierAddress> {
BmsSupplierAddress getDefault(Long supplierId);
List<BmsSupplierAddress> listBySupplierId(Long supplierId);
} }

7
src/main/java/com/qs/serve/modules/bms/service/BmsSupplierService.java

@ -2,6 +2,7 @@ package com.qs.serve.modules.bms.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.bms.entity.BmsSupplier; import com.qs.serve.modules.bms.entity.BmsSupplier;
import com.qs.serve.modules.bms.entity.vo.BmsSupplierBatchBo;
import com.qs.serve.modules.bms.entity.vo.BmsSupplierBo; import com.qs.serve.modules.bms.entity.vo.BmsSupplierBo;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
@ -17,7 +18,13 @@ public interface BmsSupplierService extends IService<BmsSupplier> {
void edit(BmsSupplierBo param); void edit(BmsSupplierBo param);
BmsSupplier getByCode(String code);
List<BmsSupplier> listChild(String pid); List<BmsSupplier> listChild(String pid);
void editBatch(BmsSupplierBatchBo param);
void flashParentId();
} }

22
src/main/java/com/qs/serve/modules/bms/service/impl/BmsCostCenterServiceImpl.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.BmsCostCenter;
import com.qs.serve.modules.bms.service.BmsCostCenterService;
import com.qs.serve.modules.bms.mapper.BmsCostCenterMapper;
/**
* 成本中心 服务实现类
* @author YenHex
* @since 2022-10-13
*/
@Slf4j
@Service
@AllArgsConstructor
public class BmsCostCenterServiceImpl extends ServiceImpl<BmsCostCenterMapper,BmsCostCenter> implements BmsCostCenterService {
}

22
src/main/java/com/qs/serve/modules/bms/service/impl/BmsErpInfoServiceImpl.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.BmsErpInfo;
import com.qs.serve.modules.bms.service.BmsErpInfoService;
import com.qs.serve.modules.bms.mapper.BmsErpInfoMapper;
/**
* ERP信息 服务实现类
* @author YenHex
* @since 2022-10-13
*/
@Slf4j
@Service
@AllArgsConstructor
public class BmsErpInfoServiceImpl extends ServiceImpl<BmsErpInfoMapper,BmsErpInfo> implements BmsErpInfoService {
}

7
src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegionServiceImpl.java

@ -47,6 +47,13 @@ public class BmsRegionServiceImpl extends ServiceImpl<BmsRegionMapper,BmsRegion>
return this.list(lqw); return this.list(lqw);
} }
@Override
public BmsRegion getByCode(String code) {
LambdaQueryWrapper<BmsRegion> lqw = new LambdaQueryWrapper<>();
lqw.eq(BmsRegion::getCode,code);
return this.getOne(lqw,false);
}
@Override @Override
public void flushLevel(BmsRegion param) { public void flushLevel(BmsRegion param) {
if(StringUtils.hasText(param.getPid())){ if(StringUtils.hasText(param.getPid())){

18
src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierAddressServiceImpl.java

@ -1,5 +1,6 @@
package com.qs.serve.modules.bms.service.impl; 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 com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -8,6 +9,8 @@ import com.qs.serve.modules.bms.entity.BmsSupplierAddress;
import com.qs.serve.modules.bms.service.BmsSupplierAddressService; import com.qs.serve.modules.bms.service.BmsSupplierAddressService;
import com.qs.serve.modules.bms.mapper.BmsSupplierAddressMapper; import com.qs.serve.modules.bms.mapper.BmsSupplierAddressMapper;
import java.util.List;
/** /**
* 供应商地址 服务实现类 * 供应商地址 服务实现类
* @author YenHex * @author YenHex
@ -18,5 +21,20 @@ import com.qs.serve.modules.bms.mapper.BmsSupplierAddressMapper;
@AllArgsConstructor @AllArgsConstructor
public class BmsSupplierAddressServiceImpl extends ServiceImpl<BmsSupplierAddressMapper,BmsSupplierAddress> implements BmsSupplierAddressService { public class BmsSupplierAddressServiceImpl extends ServiceImpl<BmsSupplierAddressMapper,BmsSupplierAddress> implements BmsSupplierAddressService {
@Override
public BmsSupplierAddress getDefault(Long supplierId) {
LambdaQueryWrapper<BmsSupplierAddress> lqw = new LambdaQueryWrapper<>();
lqw.eq(BmsSupplierAddress::getSupplierId,supplierId);
lqw.eq(BmsSupplierAddress::getDefaultFlag,1);
return this.getOne(lqw,false);
}
@Override
public List<BmsSupplierAddress> listBySupplierId(Long supplierId) {
LambdaQueryWrapper<BmsSupplierAddress> lqw = new LambdaQueryWrapper<>();
lqw.eq(BmsSupplierAddress::getSupplierId,supplierId);
return this.list(lqw);
}
} }

91
src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierServiceImpl.java

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qs.serve.common.util.CopierUtil; import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.modules.bms.entity.BmsRegion; import com.qs.serve.modules.bms.entity.BmsRegion;
import com.qs.serve.modules.bms.entity.vo.BmsSupplierBatchBo;
import com.qs.serve.modules.bms.entity.vo.BmsSupplierBo; import com.qs.serve.modules.bms.entity.vo.BmsSupplierBo;
import com.qs.serve.modules.bms.service.BmsRegionService; import com.qs.serve.modules.bms.service.BmsRegionService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@ -30,24 +31,10 @@ public class BmsSupplierServiceImpl extends ServiceImpl<BmsSupplierMapper,BmsSup
@Override @Override
public void edit(BmsSupplierBo param) { public void edit(BmsSupplierBo param) {
BmsSupplier supplier = CopierUtil.copy(param,new BmsSupplier()); BmsSupplier supplier = CopierUtil.copy(param,new BmsSupplier());
BmsSupplier parentNode = this.getById(param.getPid());
supplier.setParentCode(parentNode.getCode());
if(param.getRegionId()!=null){ if(param.getRegionId()!=null){
BmsRegion region1 = regionService.getById(param.getRegionId()); this.initRegion(supplier,param.getRegionId());
if(!region1.getPid().equals("0")){
BmsRegion region2 = regionService.getById(region1.getPid());
if(!region2.getPid().equals("0")){
supplier.setRegionFirst(region2.getPid());
supplier.setRegionSecond(region2.getId());
supplier.setRegionThird(region1.getId());
}else {
supplier.setRegionFirst(region2.getId());
supplier.setRegionSecond(region1.getId());
supplier.setRegionThird("");
}
}else {
supplier.setRegionFirst(region1.getId());
supplier.setRegionSecond("");
supplier.setRegionThird("");
}
} }
if(supplier.getId()!=null){ if(supplier.getId()!=null){
this.updateById(supplier); this.updateById(supplier);
@ -56,11 +43,81 @@ public class BmsSupplierServiceImpl extends ServiceImpl<BmsSupplierMapper,BmsSup
} }
} }
@Override
public BmsSupplier getByCode(String code) {
LambdaQueryWrapper<BmsSupplier> lqw = new LambdaQueryWrapper<>();
lqw.eq(BmsSupplier::getCode,code);
return this.getOne(lqw,false);
}
@Override @Override
public List<BmsSupplier> listChild(String pid) { public List<BmsSupplier> listChild(String pid) {
LambdaQueryWrapper<BmsSupplier> lqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<BmsSupplier> lqw = new LambdaQueryWrapper<>();
lqw.eq(BmsSupplier::getPid,pid); lqw.eq(BmsSupplier::getPid,pid);
return this.list(lqw); return this.list(lqw);
} }
@Override
public void editBatch(BmsSupplierBatchBo batchBo) {
for (BmsSupplierBatchBo.BmsSupplierDto param : batchBo.getSupplierList()) {
BmsSupplier supplier = CopierUtil.copy(param,new BmsSupplier());
BmsSupplier parentNode = this.getByCode(param.getParentCode());
if(parentNode!=null){
supplier.setPid(parentNode.getPid());
}else {
supplier.setPid("-1");
}
this.initRegion(supplier,param.getRegionId());
if(supplier.getId()!=null){
this.updateById(supplier);
}else {
this.save(supplier);
}
}
this.flashParentId();
}
@Override
public void flashParentId() {
LambdaQueryWrapper<BmsSupplier> lqw = new LambdaQueryWrapper<>();
lqw.eq(BmsSupplier::getPid,"-1");
List<BmsSupplier> suppliers = this.list(lqw);
for (BmsSupplier supplier : suppliers) {
BmsSupplier parentSupplier = this.getByCode(supplier.getParentCode());
if(parentSupplier==null){
log.warn("无效的供应商父级编码:{}",supplier.getParentCode());
supplier.setPid("0");
}else {
supplier.setPid(parentSupplier.getPid());
}
this.updateById(supplier);
}
}
/**
* 初始化区域等级
* @param supplier
* @param regionId
*/
private void initRegion(BmsSupplier supplier,Long regionId){
BmsRegion region1 = regionService.getById(regionId);
if(!region1.getPid().equals("0")){
BmsRegion region2 = regionService.getById(region1.getPid());
if(!region2.getPid().equals("0")){
supplier.setRegionFirst(region2.getPid());
supplier.setRegionSecond(region2.getId());
supplier.setRegionThird(region1.getId());
}else {
supplier.setRegionFirst(region2.getId());
supplier.setRegionSecond(region1.getId());
supplier.setRegionThird("");
}
}else {
supplier.setRegionFirst(region1.getId());
supplier.setRegionSecond("");
supplier.setRegionThird("");
}
}
} }

103
src/main/java/com/qs/serve/modules/goods/controller/GoodsUnitController.java

@ -0,0 +1,103 @@
package com.qs.serve.modules.goods.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.goods.entity.GoodsUnit;
import com.qs.serve.modules.goods.service.GoodsUnitService;
import javax.validation.Valid;
import java.util.List;
/**
* 商品 单位 后台接口
* @author YenHex
* @since 2022-10-13
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("goods/unit")
public class GoodsUnitController {
private GoodsUnitService goodsUnitService;
/**
* 翻页查询
* @param param
* @return
*/
@GetMapping("/page")
@PreAuthorize("hasRole('goods:unit:query')")
public R<PageVo<GoodsUnit>> getPage(GoodsUnit param){
PageUtil.startPage();
LambdaQueryWrapper<GoodsUnit> unitWrapper = new LambdaQueryWrapper<>(param);
List<GoodsUnit> list = goodsUnitService.list(unitWrapper);
return R.byPageHelperList(list);
}
/**
* 根据ID查询
* @param id
* @return
*/
@GetMapping("/getById/{id}")
@SysLog(module = SystemModule.GOODS, title = "单位", biz = BizType.QUERY)
@PreAuthorize("hasRole('goods:unit:query')")
public R<GoodsUnit> getById(@PathVariable("id") String id){
GoodsUnit goodsUnit = goodsUnitService.getById(id);
return R.ok(goodsUnit);
}
/**
* 根据ID更新
* @param param
* @return
*/
@PostMapping("/updateById")
@SysLog(module = SystemModule.GOODS, title = "单位", biz = BizType.UPDATE)
@PreAuthorize("hasRole('goods:unit:update')")
public R<?> updateById(@RequestBody @Valid GoodsUnit param){
boolean result = goodsUnitService.updateById(param);
return R.isTrue(result);
}
/**
* 新增单位
* @param param
* @return
*/
@PostMapping("/save")
@SysLog(module = SystemModule.GOODS, title = "单位", biz = BizType.INSERT)
@PreAuthorize("hasRole('goods:unit:insert')")
public R<?> save(@RequestBody @Valid GoodsUnit param){
boolean result = goodsUnitService.save(param);
return R.isTrue(result);
}
/**
* 删除单位
* @param id
* @return
*/
@DeleteMapping("/deleteById/{id}")
@SysLog(module = SystemModule.GOODS, title = "单位", biz = BizType.DELETE)
@PreAuthorize("hasRole('goods:unit:delete')")
public R<?> deleteById(@PathVariable("id") String id){
boolean result = goodsUnitService.removeById(id);
return R.isTrue(result);
}
}

10
src/main/java/com/qs/serve/modules/goods/entity/GoodsSku.java

@ -68,9 +68,19 @@ public class GoodsSku implements Serializable {
@Length(max = 2,message = "是否启用1、是;0否长度不能超过2字") @Length(max = 2,message = "是否启用1、是;0否长度不能超过2字")
private String enable; private String enable;
/** 单位id */
private Long unitId;
/** 单位 */
@Length(max = 20,message = "单位长度不能超过20字")
private String unitName;
/** 版本号 */ /** 版本号 */
private Integer version; private Integer version;
/** 备注 */
private Integer remark;
/** 最后更新时间 */ /** 最后更新时间 */
@TableField(fill = FieldFill.UPDATE) @TableField(fill = FieldFill.UPDATE)
private LocalDateTime updateTime; private LocalDateTime updateTime;

3
src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java

@ -77,6 +77,9 @@ public class GoodsSpu implements Serializable {
@Length(max = 2,message = "0统一规格;1多规格长度不能超过2字") @Length(max = 2,message = "0统一规格;1多规格长度不能超过2字")
private String specType; private String specType;
/** 产品口味(非sku规格值) */
private String tasteValue;
/** 创建时间 */ /** 创建时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")

71
src/main/java/com/qs/serve/modules/goods/entity/GoodsUnit.java

@ -0,0 +1,71 @@
package com.qs.serve.modules.goods.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-13
*/
@Data
@TableName("goods_unit")
public class GoodsUnit implements Serializable {
private static final long serialVersionUID = 1L;
/** PK */
@TableId(type = IdType.AUTO)
private Long id;
/** 名称 */
@Length(max = 16,message = "名称长度不能超过16字")
private String name;
/** 描述 */
@Length(max = 255,message = "描述长度不能超过255字")
private String description;
/** 创建时间 */
@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;
/** 最后更新时间 */
@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;
/** 所属租户 */
@JsonIgnore
@JsonProperty
private String tenantId;
/** 逻辑删除标记(0:显示;1:隐藏) */
@JsonIgnore
@JsonProperty
private String delFlag;
/** 创建人 */
@TableField(fill = FieldFill.INSERT)
private String createBy;
/** 更新人 */
@TableField(fill = FieldFill.UPDATE)
private String updateBy;
}

8
src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsSpuTasteBo.java

@ -35,9 +35,11 @@ public class GoodsSpuTasteBo {
private String categoryCode; private String categoryCode;
/** 品牌编码 */ /** 品牌编码 */
@NotNull(message = "品牌编码不能为空")
private String brandCode; private String brandCode;
/** 系列编码 */ /** 系列编码 */
@NotNull(message = "系列编码不能为空")
private String seriesCode; private String seriesCode;
/** 商品组图片 */ /** 商品组图片 */
@ -73,4 +75,10 @@ public class GoodsSpuTasteBo {
@NotNull(message = "体积(m³)不能为空") @NotNull(message = "体积(m³)不能为空")
private BigDecimal volume; private BigDecimal volume;
/** 产品单位 */
private String unit;
/** 含归属ERP编码的客户不显示该商品。值如JSL、JSB、KL */
private String[] notBelong;
} }

14
src/main/java/com/qs/serve/modules/goods/mapper/GoodsUnitMapper.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.goods.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.goods.entity.GoodsUnit;
/**
* 单位 Mapper
* @author YenHex
* @date 2022-10-13
*/
public interface GoodsUnitMapper extends BaseMapper<GoodsUnit> {
}

16
src/main/java/com/qs/serve/modules/goods/service/GoodsUnitService.java

@ -0,0 +1,16 @@
package com.qs.serve.modules.goods.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.goods.entity.GoodsUnit;
/**
* 单位 服务接口
* @author YenHex
* @date 2022-10-13
*/
public interface GoodsUnitService extends IService<GoodsUnit> {
GoodsUnit getByName(String name);
}

14
src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpuServiceImpl.java

@ -3,6 +3,7 @@ package com.qs.serve.modules.goods.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qs.serve.common.util.CopierUtil; import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.common.util.StringUtils;
import com.qs.serve.common.util.ValidateTools; import com.qs.serve.common.util.ValidateTools;
import com.qs.serve.modules.goods.entity.*; import com.qs.serve.modules.goods.entity.*;
import com.qs.serve.modules.goods.entity.bo.GoodsSpuBatchTasteBo; import com.qs.serve.modules.goods.entity.bo.GoodsSpuBatchTasteBo;
@ -32,6 +33,7 @@ public class GoodsSpuServiceImpl extends ServiceImpl<GoodsSpuMapper,GoodsSpu> im
private GoodsSeriesService goodsSeriesService; private GoodsSeriesService goodsSeriesService;
private GoodsBrandService goodsBrandService; private GoodsBrandService goodsBrandService;
private GoodsUnitService goodsUnitService;
private GoodsSkuService goodsSkuService; private GoodsSkuService goodsSkuService;
private GoodsSpuSpecService goodsSpuSpecService; private GoodsSpuSpecService goodsSpuSpecService;
private GoodsSpecValueService goodsSpecValueService; private GoodsSpecValueService goodsSpecValueService;
@ -124,6 +126,7 @@ public class GoodsSpuServiceImpl extends ServiceImpl<GoodsSpuMapper,GoodsSpu> im
spu.setSeriesId(goodsSeries.getId()); spu.setSeriesId(goodsSeries.getId());
} }
spu.setSpecType("1"); spu.setSpecType("1");
spu.setTasteValue(tasteProduct.getProductTasteValue());
if(spu.getId()==null){ if(spu.getId()==null){
this.save(spu); this.save(spu);
//保存spu与规格关联 //保存spu与规格关联
@ -150,6 +153,17 @@ public class GoodsSpuServiceImpl extends ServiceImpl<GoodsSpuMapper,GoodsSpu> im
goodsSku.setSkuCode(tasteProduct.getInvCode()); goodsSku.setSkuCode(tasteProduct.getInvCode());
goodsSku.setSpuId(spu.getId()); goodsSku.setSpuId(spu.getId());
goodsSku.setPicUrl(tasteProduct.getInvPicUrl()); goodsSku.setPicUrl(tasteProduct.getInvPicUrl());
//设置sku单位
if(StringUtils.hasText(tasteProduct.getUnit())){
GoodsUnit goodsUnit = goodsUnitService.getByName(tasteProduct.getUnit());
if(goodsUnit==null){
goodsUnit = new GoodsUnit();
goodsUnit.setName(tasteProduct.getUnit());
goodsUnitService.save(goodsUnit);
}
goodsSku.setUnitId(goodsUnit.getId());
goodsSku.setUnitName(goodsUnit.getName());
}
if(goodsSku.getId()==null){ if(goodsSku.getId()==null){
goodsSkuService.save(goodsSku); goodsSkuService.save(goodsSku);
}else { }else {

30
src/main/java/com/qs/serve/modules/goods/service/impl/GoodsUnitServiceImpl.java

@ -0,0 +1,30 @@
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 lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import com.qs.serve.modules.goods.entity.GoodsUnit;
import com.qs.serve.modules.goods.service.GoodsUnitService;
import com.qs.serve.modules.goods.mapper.GoodsUnitMapper;
/**
* 单位 服务实现类
* @author YenHex
* @since 2022-10-13
*/
@Slf4j
@Service
@AllArgsConstructor
public class GoodsUnitServiceImpl extends ServiceImpl<GoodsUnitMapper,GoodsUnit> implements GoodsUnitService {
@Override
public GoodsUnit getByName(String name) {
LambdaQueryWrapper<GoodsUnit> lqw = new LambdaQueryWrapper<>();
lqw.eq(GoodsUnit::getName,name);
return getOne(lqw,false);
}
}
Loading…
Cancel
Save