Browse Source

调整

mssql
Yen 3 years ago
parent
commit
73931cbef5
  1. 14
      src/main/java/com/qs/serve/modules/goods/common/GoodsConst.java
  2. 38
      src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java
  3. 16
      src/main/java/com/qs/serve/modules/goods/controller/GoodsSpecValueController.java
  4. 72
      src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsSkuBo.java
  5. 3
      src/main/java/com/qs/serve/modules/goods/service/GoodsSkuService.java
  6. 46
      src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuServiceImpl.java
  7. 14
      src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java
  8. 17
      src/main/java/com/qs/serve/modules/sys/controller/SysUserController.java
  9. 1
      src/main/java/com/qs/serve/modules/sys/controller/api/SysDictApi.java

14
src/main/java/com/qs/serve/modules/goods/common/GoodsConst.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.goods.common;
/**
* @author YenHex
* @since 2022/10/26
*/
public class GoodsConst {
/**
* 规格数量
*/
public static final Integer SPEC_COUNT = 3;
}

38
src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java

@ -8,6 +8,7 @@ import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.PageUtil;
import com.qs.serve.modules.goods.entity.GoodsSkuSpecValue;
import com.qs.serve.modules.goods.entity.bo.GoodsSkuBo;
import com.qs.serve.modules.goods.entity.vo.GoodSkuVo;
import com.qs.serve.modules.goods.service.GoodsSkuSpecValueService;
import lombok.AllArgsConstructor;
@ -36,7 +37,7 @@ public class GoodsSkuController {
private GoodsSkuSpecValueService goodsSkuSpecValueService;
/**
* 翻页查询
* 翻页
* @param param
* @return
*/
@ -48,6 +49,18 @@ public class GoodsSkuController {
return R.byPageHelperList(list);
}
/**
* 列表
* @param param
* @return
*/
@GetMapping("/page")
@PreAuthorize("hasRole('goods:sku:query')")
public R<List<GoodSkuVo>> getList(GoodsSku param){
List<GoodSkuVo> list = goodsSkuService.selectSkuVo(param);
return R.ok(list);
}
/**
* 根据ID查询
* @param id
@ -62,29 +75,16 @@ public class GoodsSkuController {
}
/**
* 根据ID更新
* 编辑
* @param param
* @return
*/
@PostMapping("/updateById")
@PostMapping("/update")
@SysLog(module = SystemModule.GOODS, title = "sku", biz = BizType.UPDATE)
@PreAuthorize("hasRole('goods:sku:update')")
public R<?> updateById(@RequestBody @Valid GoodsSku param){
boolean result = goodsSkuService.updateById(param);
return R.isTrue(result);
}
/**
* 新增sku
* @param param
* @return
*/
@PostMapping("/save")
@SysLog(module = SystemModule.GOODS, title = "sku", biz = BizType.INSERT)
@PreAuthorize("hasRole('goods:sku:insert')")
public R<?> save(@RequestBody @Valid GoodsSku param){
boolean result = goodsSkuService.save(param);
return R.isTrue(result);
public R<?> update(@RequestBody @Valid GoodsSkuBo param){
goodsSkuService.editSku(param);
return R.ok();
}
/**

16
src/main/java/com/qs/serve/modules/goods/controller/GoodsSpecValueController.java

@ -43,6 +43,8 @@ public class GoodsSpecValueController {
* @param param
* @return
*/
@GetMapping("/specList")
@PreAuthorize("hasRole('goods:specValue:query')")
public R<List<GoodsSpec>> getPage(GoodsSpec param){
LambdaQueryWrapper<GoodsSpec> specWrapper = new LambdaQueryWrapper<>(param);
List<GoodsSpec> list = goodsSpecService.list(specWrapper);
@ -63,6 +65,20 @@ public class GoodsSpecValueController {
return R.byPageHelperList(list);
}
/**
* 规格值 列表
* @apiNote 可传入specId进行过滤
* @param param
* @return
*/
@GetMapping("/list")
@PreAuthorize("hasRole('goods:specValue:query')")
public R<List<GoodsSpecValue>> getList(GoodsSpecValue param){
LambdaQueryWrapper<GoodsSpecValue> specValueWrapper = new LambdaQueryWrapper<>(param);
List<GoodsSpecValue> list = goodsSpecValueService.list(specValueWrapper);
return R.ok(list);
}
/**
* 规格值 ID查询
* @param id

72
src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsSkuBo.java

@ -0,0 +1,72 @@
package com.qs.serve.modules.goods.entity.bo;
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 java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
/**
* sku 实体类
* @author YenHex
* @since 2022-10-09
*/
@Data
@TableName("goods_sku")
public class GoodsSkuBo implements Serializable {
private static final long serialVersionUID = 1L;
/** sku编码 */
@Length(max = 32,message = "sku编码长度不能超过32字")
private String skuCode;
/** 商品Id */
@NotNull(message = "商品Id不能为空")
private Long spuId;
/** 图片 */
private String picUrl;
/** 销售价格 */
private BigDecimal salesPrice;
/** 市场价 */
private BigDecimal marketPrice;
/** 成本价 */
private BigDecimal costPrice;
/** 规格值 */
private String specInfos;
/** 重量(kg) */
@NotNull(message = "重量(kg)不能为空")
private BigDecimal weight;
/** 体积(m³) */
@NotNull(message = "体积(m³)不能为空")
private BigDecimal volume;
/** 最低起批数(0->不限制) */
private Integer minPurchase;
/** 版本号 */
private Integer version;
/** 备注 */
private Integer remark;
/** 规格值Ids(更新操作可为空) */
private List<Long> specValueIds;
}

3
src/main/java/com/qs/serve/modules/goods/service/GoodsSkuService.java

@ -2,6 +2,7 @@ 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.bo.GoodsSkuBo;
import com.qs.serve.modules.goods.entity.vo.GoodSkuVo;
import org.apache.ibatis.annotations.Param;
@ -20,5 +21,7 @@ public interface GoodsSkuService extends IService<GoodsSku> {
List<GoodSkuVo> selectSkuVo(GoodsSku goodsSku);
void editSku(GoodsSkuBo goodSkuVo);
}

46
src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuServiceImpl.java

@ -2,15 +2,26 @@ 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.common.util.Assert;
import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.modules.goods.common.GoodsConst;
import com.qs.serve.modules.goods.entity.GoodsSkuSpecValue;
import com.qs.serve.modules.goods.entity.GoodsSpecValue;
import com.qs.serve.modules.goods.entity.bo.GoodsSkuBo;
import com.qs.serve.modules.goods.entity.vo.GoodSkuVo;
import com.qs.serve.modules.goods.service.GoodsSkuSpecValueService;
import com.qs.serve.modules.goods.service.GoodsSpecValueService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import com.qs.serve.modules.goods.entity.GoodsSku;
import com.qs.serve.modules.goods.service.GoodsSkuService;
import com.qs.serve.modules.goods.mapper.GoodsSkuMapper;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
/**
* sku 服务实现类
@ -22,6 +33,9 @@ import java.util.List;
@AllArgsConstructor
public class GoodsSkuServiceImpl extends ServiceImpl<GoodsSkuMapper,GoodsSku> implements GoodsSkuService {
private GoodsSkuSpecValueService goodsSkuSpecValueService;
private GoodsSpecValueService goodsSpecValueService;
@Override
public GoodsSku getByCode(String code) {
LambdaQueryWrapper<GoodsSku> lqw = new LambdaQueryWrapper<>();
@ -40,5 +54,37 @@ public class GoodsSkuServiceImpl extends ServiceImpl<GoodsSkuMapper,GoodsSku> im
public List<GoodSkuVo> selectSkuVo(GoodsSku goodsSku) {
return baseMapper.selectSkuVo(goodsSku);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void editSku(GoodsSkuBo goodSkuVo) {
GoodsSku dbGoodSku = this.getByCode(goodSkuVo.getSkuCode());
GoodsSku goodsSku = CopierUtil.copy(goodSkuVo,new GoodsSku());
if(dbGoodSku!=null){
if(goodsSku.getSpuId()!=null&&goodsSku.getSpuId().equals(dbGoodSku.getSpuId())){
Assert.throwEx("规格编码已被其它商品使用");
}
goodsSku.setId(dbGoodSku.getId());
}
this.saveOrUpdate(goodsSku);
if(goodSkuVo.getSpecValueIds()!=null){
if(goodSkuVo.getSpecValueIds().size()!= GoodsConst.SPEC_COUNT){
Assert.throwEx("规格值数量缺失");
}
List<GoodsSpecValue> goodsSpecValues = goodsSpecValueService.listByIds(goodSkuVo.getSpecValueIds());
Set<Long> specIds = goodsSpecValues.stream().map(GoodsSpecValue::getSpecId).collect(Collectors.toSet());
if(specIds.size()!=GoodsConst.SPEC_COUNT){
Assert.throwEx("规格数量缺失");
}
for (GoodsSpecValue specValue : goodsSpecValues) {
goodsSkuSpecValueService.initSkuSpecValue(goodsSku.getSpuId(),goodsSku.getId(),specValue.getId());
}
}else {
if(dbGoodSku==null){
Assert.throwEx("规格值缺失");
}
}
}
}

14
src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java

@ -6,7 +6,9 @@ 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.PageUtil;
import com.qs.serve.modules.bms.entity.BmsSupplier;
import com.qs.serve.modules.oms.entity.OmsOrder;
import com.qs.serve.modules.oms.entity.bo.OmsConfirmOrderBo;
import com.qs.serve.modules.oms.entity.vo.OmsConfirmOrderResult;
@ -42,7 +44,6 @@ public class OmsOrderApi {
return R.ok(omsOrderService.generateConfirmOrder(confirmOrder));
}
/**
* 翻页查询
* @param param
@ -50,6 +51,8 @@ public class OmsOrderApi {
*/
@GetMapping("/page")
public R<PageVo<OmsOrder>> getPage(OmsOrder param){
BmsSupplier supplier = AuthContextUtils.getCurrentSupplier();
param.setSupplierId(Long.parseLong(supplier.getId()));
PageUtil.startPage();
LambdaQueryWrapper<OmsOrder> orderWrapper = new LambdaQueryWrapper<>(param);
List<OmsOrder> list = omsOrderService.list(orderWrapper);
@ -64,9 +67,13 @@ public class OmsOrderApi {
@GetMapping("/getById/{id}")
@SysLog(module = SystemModule.BASE, title = "订单", biz = BizType.QUERY)
public R<OmsOrder> getById(@PathVariable("id") String id){
BmsSupplier supplier = AuthContextUtils.getCurrentSupplier();
OmsOrder omsOrder = omsOrderService.getById(id);
if(omsOrder.getSupplierId().toString().equals(supplier.getId())){
return R.ok(omsOrder);
}
return R.error();
}
/**
* 删除订单
@ -76,9 +83,14 @@ public class OmsOrderApi {
@DeleteMapping("/deleteById/{id}")
@SysLog(module = SystemModule.BASE, title = "订单", biz = BizType.DELETE)
public R<?> deleteById(@PathVariable("id") String id){
BmsSupplier supplier = AuthContextUtils.getCurrentSupplier();
OmsOrder omsOrder = omsOrderService.getById(id);
if(omsOrder.getSupplierId().toString().equals(supplier.getId())){
boolean result = omsOrderService.removeById(id);
return R.isTrue(result);
}
return R.error();
}
}

17
src/main/java/com/qs/serve/modules/sys/controller/SysUserController.java

@ -27,6 +27,7 @@ import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@ -319,23 +320,27 @@ public class SysUserController {
@Transactional(rollbackFor = Exception.class)
public R<?> updateSalesParent(@RequestBody @Valid SysUserParentParam userBo){
final String pid = userBo.getParentId();
List<SysUserSales> sysUserSalesList = new ArrayList<>();
if(!userBo.getParentId().equals("0")){
final SysUserSales userSales = sysUserSalesService.getById(pid);
boolean isExist = userBo.getUserIds().stream().filter(StringUtils::hasText).anyMatch(objId->userSales.getPid().equals(objId));
if(isExist&&userBo.getUserIds().size()>1){
return R.error("多节点操作出现递归数据");
}
List<SysUserSales> sysUserSalesList = userBo.getUserIds().stream().filter(StringUtils::hasText).map(uid->{
SysUserSales sysUserSales = new SysUserSales();
sysUserSales.setUserId(uid);
sysUserSales.setPid(pid);
return sysUserSales;
}).collect(Collectors.toList());
if(isExist){
SysUserSales sysUserSales = new SysUserSales();
sysUserSales.setUserId(userSales.getPid());
sysUserSales.setPid(userSales.getUserId());
sysUserSalesList.add(sysUserSales);
}
}
List<SysUserSales> sysUserSalesList2 = userBo.getUserIds().stream().filter(StringUtils::hasText).map(uid->{
SysUserSales sysUserSales = new SysUserSales();
sysUserSales.setUserId(uid);
sysUserSales.setPid(pid);
return sysUserSales;
}).collect(Collectors.toList());
sysUserSalesList.addAll(sysUserSalesList2);
sysUserSalesService.saveOrUpdateBatch(sysUserSalesList);
return R.ok();
}

1
src/main/java/com/qs/serve/modules/sys/controller/api/SysDictApi.java

@ -37,7 +37,6 @@ public class SysDictApi {
if(StringUtils.hasEmpty(group)){
return R.error("查询参数为空");
}
PageUtil.startPage();
LambdaQueryWrapper<SysDict> dictWrapper = new LambdaQueryWrapper<>();
dictWrapper.eq(SysDict::getGroupKey,group);
dictWrapper.orderByDesc(SysDict::getSort);

Loading…
Cancel
Save