Procházet zdrojové kódy

redis常量提至redis模块

yzc před 2 roky
rodič
revize
8689a0cb20

+ 1 - 1
sckw-modules/sckw-message/src/main/java/com/sckw/message/constant/RedisConstant.java → sckw-common/sckw-common-redis/src/main/java/com/sckw/redis/constant/RedisConstant.java

@@ -1,4 +1,4 @@
-package com.sckw.message.constant;
+package com.sckw.redis.constant;
 
 /**
  * @desc: redis常量

+ 1 - 1
sckw-modules/sckw-message/src/main/java/com/sckw/message/dubbo/SmsInfoServiceImpl.java

@@ -1,7 +1,7 @@
 package com.sckw.message.dubbo;
 
 import com.sckw.message.api.dubbo.SmsInfoService;
-import com.sckw.message.constant.RedisConstant;
+import com.sckw.redis.constant.RedisConstant;
 import com.sckw.redis.utils.RedissonUtils;
 import org.apache.dubbo.config.annotation.DubboService;
 

+ 1 - 1
sckw-modules/sckw-message/src/main/java/com/sckw/message/service/SckwMessageHandlerService.java

@@ -3,7 +3,7 @@ package com.sckw.message.service;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.nacos.shaded.com.google.common.collect.Lists;
 import com.sckw.core.utils.StringUtils;
-import com.sckw.message.constant.RedisConstant;
+import com.sckw.redis.constant.RedisConstant;
 import com.sckw.message.model.KwmMessage;
 import com.sckw.message.model.KwmMessageUser;
 import com.sckw.redis.utils.RedissonUtils;

+ 1 - 1
sckw-modules/sckw-message/src/main/java/com/sckw/message/service/SckwSmsHandlerService.java

@@ -1,7 +1,7 @@
 package com.sckw.message.service;
 
 import com.alibaba.fastjson2.JSON;
-import com.sckw.message.constant.RedisConstant;
+import com.sckw.redis.constant.RedisConstant;
 import com.sckw.message.model.KwmSms;
 import com.sckw.redis.utils.RedissonUtils;
 import com.sckw.stream.enums.SmsCodeEnum;

+ 1 - 1
sckw-modules/sckw-message/src/main/java/com/sckw/message/service/SmsService.java

@@ -4,7 +4,7 @@ import com.alibaba.fastjson2.JSON;
 import com.sckw.core.exception.BusinessException;
 import com.sckw.core.utils.NumberUtils;
 import com.sckw.core.web.context.LoginUserHolder;
-import com.sckw.message.constant.RedisConstant;
+import com.sckw.redis.constant.RedisConstant;
 import com.sckw.message.model.vo.req.SendSmsVerifyCoderReqVO;
 import com.sckw.redis.utils.RedissonUtils;
 import com.sckw.stream.enums.SmsCodeEnum;

+ 38 - 0
sckw-modules/sckw-product/src/main/java/com/sckw/product/controller/KwpGoodsController.java

@@ -0,0 +1,38 @@
+package com.sckw.product.controller;
+
+import com.sckw.core.web.response.HttpResult;
+import com.sckw.product.model.vo.req.AddGoodsParam;
+import com.sckw.product.service.KwpGoodsService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.http.MediaType;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @desc: 商品管理
+ * @author: yzc
+ * @date: 2023-07-03 8:28
+ */
+@RestController
+@RequestMapping(value = "/kwpGoods")
+@RequiredArgsConstructor
+public class KwpGoodsController {
+
+    private final KwpGoodsService kwpGoodsService;
+
+    @PostMapping(value = "/addDraft", produces = MediaType.APPLICATION_JSON_VALUE)
+    public HttpResult addDraft(@RequestBody AddGoodsParam addGoodsParam){
+        kwpGoodsService.addDraft(addGoodsParam);
+        return HttpResult.ok();
+    }
+
+    @PostMapping(value = "/addShelves", produces = MediaType.APPLICATION_JSON_VALUE)
+    public HttpResult addShelves(@RequestBody @Validated AddGoodsParam addGoodsParam){
+        kwpGoodsService.addShelves(addGoodsParam);
+        return HttpResult.ok();
+    }
+
+}

+ 116 - 0
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/AddGoodsParam.java

@@ -0,0 +1,116 @@
+package com.sckw.product.model.vo.req;
+
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import org.apache.logging.log4j.core.config.plugins.validation.constraints.NotBlank;
+import org.hibernate.validator.constraints.Length;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * @desc: 添加商品请求参数
+ * @author: yzc
+ * @date: 2023-07-03 8:35
+ */
+@Getter
+@Setter
+@ToString
+public class AddGoodsParam {
+    /**
+     * 商品名称
+     */
+    @NotBlank(message = "商品名称不能为空")
+    private String name;
+
+    /**
+     * 商品类型
+     */
+    @NotNull(message = "商品类型不能为空")
+    private Long typeId;
+
+    /**
+     * 单位(吨、方、件、箱、其他)
+     */
+    @NotBlank(message = "计量单位不能为空")
+    private String unit;
+
+    /**
+     * 规格尺寸
+     */
+    @NotBlank(message = "规格尺寸不能为空")
+    private String spec;
+
+    /**
+     * 库存数量
+     */
+    @NotNull(message = "库存数量不能为空")
+    private BigDecimal amount;
+
+    /**
+     * 参数目录
+     */
+    @Size(max = 10, message = "参数目录最多支持10个")
+    private List<GoodsAttributes> attributes;
+
+    /**
+     * 发票税率(%)
+     */
+    @NotNull(message = "发票税率不能为空")
+    private BigDecimal taxRate;
+
+    /**
+     * 交易方式(合同采购、直接采购、预付款、货到付款、到款发货)
+     */
+    @NotNull(message = "交易方式不能为空")
+    private Long trading;
+
+    /**
+     * 预付款最低限额(万元)
+     */
+    private BigDecimal advancePrice;
+
+    /**
+     * 价格梯度
+     */
+    @Size(max = 4, message = "价格梯度最多4个")
+    @NotEmpty(message = "价格梯度不能为空")
+    @Valid
+    private List<GoodsPriceRanges> priceRanges;
+
+    /**
+     * 供应企业
+     */
+    @NotNull(message = "供应企业不能为空")
+    private Long supplyEntId;
+
+    /**
+     * 地址id
+     */
+    @NotNull(message = "地址不能为空")
+    private Long addressId;
+
+    /**
+     * 专属客户经理(用户ID)
+     */
+    @NotNull(message = "客户经理不能为空")
+    private Long manager;
+
+    /**
+     * 备注
+     */
+    @Length(max = 100, message = "备注最多支持100字")
+    private String remark;
+
+    /**
+     * 商品图片
+     */
+    @Size(max = 6, message = "商品图片最多支持6张")
+    private List<GoodsImages> images;
+
+}

+ 26 - 0
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/GoodsAttributes.java

@@ -0,0 +1,26 @@
+package com.sckw.product.model.vo.req;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+/**
+ * @desc: 添加商品属性
+ * @author: yzc
+ * @date: 2023-07-03 8:39
+ */
+@Getter
+@Setter
+@ToString
+public class GoodsAttributes {
+
+    /**
+     * 参数名称
+     */
+    private String name;
+
+    /**
+     * 参数值
+     */
+    private String val;
+}

+ 26 - 0
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/GoodsImages.java

@@ -0,0 +1,26 @@
+package com.sckw.product.model.vo.req;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+/**
+ * @desc: 商品图片
+ * @author: yzc
+ * @date: 2023-07-03 8:39
+ */
+@Getter
+@Setter
+@ToString
+public class GoodsImages {
+
+    /**
+     * 图片地址
+     */
+    private String url;
+
+    /**
+     * 图片排序
+     */
+    private Integer sort;
+}

+ 42 - 0
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/GoodsPriceRanges.java

@@ -0,0 +1,42 @@
+package com.sckw.product.model.vo.req;
+
+import jakarta.validation.constraints.NotNull;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import java.math.BigDecimal;
+
+/**
+ * @desc: 商品价格段
+ * @author: yzc
+ * @date: 2023-07-03 8:43
+ */
+@Getter
+@Setter
+@ToString
+public class GoodsPriceRanges {
+    /**
+     * 起售量
+     */
+    @NotNull(message = "起售量不能为空")
+    private BigDecimal startAmount;
+
+    /**
+     * 上限售量
+     */
+    @NotNull(message = "上限售量不能为空")
+    private BigDecimal endAmount;
+
+    /**
+     * 含税价
+     */
+    @NotNull(message = "含税价不能为空")
+    private BigDecimal price;
+
+    /**
+     * 序号
+     */
+    @NotNull(message = "梯度能为空")
+    private Integer sort;
+}

+ 31 - 1
sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsService.java

@@ -1,6 +1,11 @@
 package com.sckw.product.service;
 
+import com.sckw.core.utils.BeanUtils;
+import com.sckw.core.web.context.LoginUserHolder;
+import com.sckw.core.web.model.LoginUserInfo;
 import com.sckw.product.dao.KwpGoodsMapper;
+import com.sckw.product.model.KwpGoods;
+import com.sckw.product.model.vo.req.AddGoodsParam;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
@@ -15,6 +20,31 @@ import org.springframework.stereotype.Service;
 @RequiredArgsConstructor
 public class KwpGoodsService {
 
-    private KwpGoodsMapper kwpGoodsMapper;
+    private final KwpGoodsMapper kwpGoodsMapper;
 
+    /**
+     * @desc: 添加草稿商品
+     * @author: yzc
+     * @date: 2023-07-03 9:30
+     * @Param addGoodsParam:
+     * @return: void
+     */
+    public void addDraft(AddGoodsParam addGoodsParam) {
+        KwpGoods kwpGoods = new KwpGoods();
+        BeanUtils.copyProperties(addGoodsParam, kwpGoods);
+        LoginUserInfo userInfo = LoginUserHolder.get();
+        kwpGoods.setEntId(LoginUserHolder.getEntId());
+        kwpGoodsMapper.insert(kwpGoods);
+    }
+
+    /**
+     * @desc: 添加上架商品
+     * @author: yzc
+     * @date: 2023-07-03 9:30
+     * @Param addGoodsParam:
+     * @return: void
+     */
+    public void addShelves(AddGoodsParam addGoodsParam) {
+
+    }
 }