yzc 2 лет назад
Родитель
Сommit
373bd126ae

+ 68 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/controller/KwpWantBuyController.java

@@ -0,0 +1,68 @@
+package com.sckw.order.controller;
+
+import com.sckw.core.web.response.HttpResult;
+import com.sckw.order.model.vo.req.AddWantBuyParam;
+import com.sckw.order.model.vo.req.UpdateWantBuyParam;
+import com.sckw.order.serivce.KwpWantBuyService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.http.MediaType;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @desc: 求购controller
+ * @author: yzc
+ * @date: 2023-07-24 14:44
+ */
+@RestController
+@RequestMapping(value = "/kwoWantBuy")
+@RequiredArgsConstructor
+public class KwpWantBuyController {
+
+    private final KwpWantBuyService kwpWantBuyService;
+
+    /**
+     * @desc: 新增求购草稿
+     * @author: yzc
+     * @date: 2023-07-24 16:42
+     * @Param addWantBuyParam:
+     * @return: com.sckw.core.web.response.HttpResult
+     */
+    @PostMapping(value = "/addDraft", produces = MediaType.APPLICATION_JSON_VALUE)
+    public HttpResult addDraft(@RequestBody AddWantBuyParam addWantBuyParam) {
+        kwpWantBuyService.addDraft(addWantBuyParam);
+        return HttpResult.ok("新增求购草稿成功");
+    }
+
+    /**
+     * @desc: 新增求购上架
+     * @author: yzc
+     * @date: 2023-07-24 16:43
+     * @Param addWantBuyParam:
+     * @return: com.sckw.core.web.response.HttpResult
+     */
+    @PostMapping(value = "/addShelves", produces = MediaType.APPLICATION_JSON_VALUE)
+    public HttpResult addShelves(@RequestBody @Validated AddWantBuyParam addWantBuyParam) {
+        kwpWantBuyService.addShelves(addWantBuyParam);
+        return HttpResult.ok("新增求购上架成功");
+    }
+
+    /**
+     * @desc: 求购详情
+     * @author: yzc
+     * @date: 2023-07-24 16:45
+     * @Param id:
+     * @return: com.sckw.core.web.response.HttpResult
+     */
+    @GetMapping("/detail")
+    public HttpResult detail(@RequestParam Long id) {
+        return HttpResult.ok(kwpWantBuyService.detail(id));
+    }
+
+    @PostMapping(value = "/update", produces = MediaType.APPLICATION_JSON_VALUE)
+    public HttpResult update(@RequestBody @Validated UpdateWantBuyParam updateWantBuyParam) {
+        kwpWantBuyService.update(updateWantBuyParam);
+        return HttpResult.ok("求购修改成功!");
+    }
+
+}

+ 4 - 10
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/KwoWantBuy.java

@@ -9,7 +9,6 @@ import lombok.experimental.Accessors;
 
 import java.io.Serial;
 import java.io.Serializable;
-import java.math.BigDecimal;
 
 /**
  * @desc: 求购
@@ -41,24 +40,19 @@ public class KwoWantBuy extends BaseModel implements Serializable {
     private String goodsType;
 
     /**
-     * 尺寸大小
+     * 商品规格
      */
     private String spec;
 
     /**
-     * 单位(吨、方、件、箱、其他)
+     * 求购单价
      */
-    private String unit;
-
-    /**
-     * 求购单价(元)
-     */
-    private BigDecimal price;
+    private String price;
 
     /**
      * 求购总量
      */
-    private BigDecimal amount;
+    private String amount;
 
     /**
      * 联系人姓名

+ 84 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/AddWantBuyParam.java

@@ -0,0 +1,84 @@
+package com.sckw.order.model.vo.req;
+
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.Pattern;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import org.hibernate.validator.constraints.Length;
+
+import java.util.List;
+
+/**
+ * @desc: 新增求购请求参数
+ * @author: yzc
+ * @date: 2023-07-24 16:26
+ */
+@Getter
+@Setter
+@ToString
+public class AddWantBuyParam {
+
+    /**
+     * 商品名称
+     */
+    @NotBlank(message = "商品名称不能为空")
+    @Length(max = 50, message = "商品名称最多支持50字")
+    private String name;
+
+    /**
+     * 商品分类
+     */
+    @Length(max = 32, message = "商品分类最多支持32字")
+    private String goodsType;
+
+    /**
+     * 商品规格
+     */
+    @Length(max = 20, message = "商品规格最多支持20字")
+    private String spec;
+
+    /**
+     * 支付方式集合
+     */
+    private List<String> tradings;
+
+    /**
+     * 求购单价
+     */
+    @NotBlank(message = "求购单价不能为空")
+    @Length(max = 20, message = "求购单价最多支持20字")
+    private String price;
+
+    /**
+     * 求购总量
+     */
+    @NotBlank(message = "求购总量不能为空")
+    @Length(max = 20, message = "求购总量最多支持20字")
+    private String amount;
+
+    /**
+     * 联系人姓名
+     */
+    @NotBlank(message = "联系人姓名不能为空")
+    @Length(max = 32, message = "联系人姓名最多支持32字")
+    private String contacts;
+
+    /**
+     * 联系电话
+     */
+    @NotBlank(message = "联系电话不能为空")
+    @Pattern(regexp = "^1[3456789]\\d{9}$", message = "非法手机号格式")
+    private String phone;
+
+    /**
+     * 地址信息
+     */
+    @Valid
+    private WantBuyAddressParam addressInfo;
+
+    @Length(max = 200, message = "备注最多支持200字")
+    private String remark;
+
+}

+ 16 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/UpdateWantBuyParam.java

@@ -0,0 +1,16 @@
+package com.sckw.order.model.vo.req;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+/**
+ * @desc: 修改求购请求参数
+ * @author: yzc
+ * @date: 2023-07-24 16:57
+ */
+@Getter
+@Setter
+@ToString
+public class UpdateWantBuyParam {
+}

+ 79 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/WantBuyAddressParam.java

@@ -0,0 +1,79 @@
+package com.sckw.order.model.vo.req;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Pattern;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+/**
+ * @desc: 新增求购地址请求参数
+ * @author: yzc
+ * @date: 2023-07-24 16:30
+ */
+@Getter
+@Setter
+@ToString
+public class WantBuyAddressParam {
+
+    /**
+     * 地址名称
+     */
+    @NotBlank(message = "地址名称不能为空")
+    private String name;
+
+    /**
+     * 地址类型
+     */
+    @NotNull(message = "地址类型不能为空")
+    private String type;
+
+    /**
+     * 联系人姓名
+     */
+    @NotBlank(message = "联系人姓名不能为空")
+    private String contacts;
+
+    /**
+     * 联系电话
+     */
+    @NotBlank(message = "联系电话不能为空")
+    @Pattern(regexp = "^1[3456789]\\d{9}$", message = "非法手机号格式")
+    private String phone;
+
+    /**
+     * 所在地区
+     */
+    @NotNull(message = "所在地区code不能为空")
+    private Integer cityCode;
+
+    /**
+     * 所属区域名称
+     */
+    @NotBlank(message = "所属区域名称不能为空")
+    private String cityName;
+
+    /**
+     * 详细地址
+     */
+    @NotBlank(message = "详细地址不能为空")
+    private String detailAddress;
+
+    /**
+     * 纬度
+     */
+    @NotBlank(message = "纬度不能为空")
+    private String lat;
+
+    /**
+     * 经度
+     */
+    @NotBlank(message = "经度不能为空")
+    private String lng;
+
+    /**
+     * 电子围栏
+     */
+    private String fence;
+}

+ 3 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/res/AddressInfoDetailRes.java

@@ -5,6 +5,7 @@ import lombok.Getter;
 import lombok.Setter;
 import lombok.ToString;
 
+import java.io.Serial;
 import java.io.Serializable;
 
 /**
@@ -17,6 +18,8 @@ import java.io.Serializable;
 @ToString
 public class AddressInfoDetailRes extends AddressInfo implements Serializable {
 
+    @Serial
+    private static final long serialVersionUID = -4151936423317034332L;
     /**
      * 地址类型label
      */

+ 3 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/res/OrderDetailRes.java

@@ -7,6 +7,7 @@ import lombok.Setter;
 import lombok.ToString;
 import lombok.experimental.Accessors;
 
+import java.io.Serial;
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.time.LocalDate;
@@ -23,6 +24,8 @@ import java.util.List;
 @Accessors(chain = true)
 public class OrderDetailRes implements Serializable {
 
+    @Serial
+    private static final long serialVersionUID = 3050697770661381917L;
     /**
      * 订单id
      */

+ 3 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/res/OrderListRes.java

@@ -5,6 +5,7 @@ import lombok.Setter;
 import lombok.ToString;
 import lombok.experimental.Accessors;
 
+import java.io.Serial;
 import java.io.Serializable;
 import java.math.BigDecimal;
 
@@ -19,6 +20,8 @@ import java.math.BigDecimal;
 @Accessors(chain = true)
 public class OrderListRes implements Serializable {
 
+    @Serial
+    private static final long serialVersionUID = 5081872933057018664L;
     /**
      * 订单id
      */

+ 3 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/res/UnitInfoDetailRes.java

@@ -5,6 +5,7 @@ import lombok.Getter;
 import lombok.Setter;
 import lombok.ToString;
 
+import java.io.Serial;
 import java.io.Serializable;
 
 /**
@@ -17,6 +18,8 @@ import java.io.Serializable;
 @ToString
 public class UnitInfoDetailRes extends UnitInfo implements Serializable {
 
+    @Serial
+    private static final long serialVersionUID = -2213203840951940945L;
     /**
      * 单位类型label
      */

+ 35 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/res/WantBuyAddressDetailRes.java

@@ -0,0 +1,35 @@
+package com.sckw.order.model.vo.res;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @desc: 求购地址信息响应
+ * @author: yzc
+ * @date: 2023-07-24 16:49
+ */
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class WantBuyAddressDetailRes implements Serializable {
+    @Serial
+    private static final long serialVersionUID = -9045788819245883888L;
+
+    private String name;
+    private String type;
+    private String typeLabel;
+    private String contacts;
+    private String phone;
+    private Integer cityCode;
+    private String cityName;
+    private String detailAddress;
+    private String lat;
+    private String lng;
+    private String fence;
+}

+ 87 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/res/WantBuyDetailRes.java

@@ -0,0 +1,87 @@
+package com.sckw.order.model.vo.res;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @desc: 求购详情响应
+ * @author: yzc
+ * @date: 2023-07-24 16:44
+ */
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class WantBuyDetailRes implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 8062879340203540733L;
+
+    /**
+     * 求购id
+     */
+    private Long id;
+    /**
+     * 商品名称
+     */
+    private String name;
+    /**
+     * 商品类型
+     */
+    private String goodsType;
+    /**
+     * 商品类型label
+     */
+    private String goodsTypeLabel;
+    /**
+     * 商品规格
+     */
+    private String spec;
+    /**
+     * 支付方式集合
+     */
+    private List<String> tradings;
+    /**
+     * 支付方式集合label
+     */
+    private String tradingLabels;
+    /**
+     * 求购单价
+     */
+    private String price;
+    /**
+     * 求购总量
+     */
+    private String amount;
+    /**
+     * 联系电话
+     */
+    private String phone;
+    /**
+     * 联系人姓名
+     */
+    private String contacts;
+    /**
+     * 求购状态
+     */
+    private Integer status;
+    /**
+     * 求购状态label
+     */
+    private String statusLabel;
+    /**
+     * 求购地址信息
+     */
+    private WantBuyAddressDetailRes addressInfo;
+    /**
+     * 备注
+     */
+    private String remark;
+
+}

+ 20 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoWantBuyAddressService.java

@@ -0,0 +1,20 @@
+package com.sckw.order.serivce;
+
+import com.sckw.order.dao.KwpWantBuyAddressMapper;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+/**
+ * @desc: 求购地址信息service
+ * @author: yzc
+ * @date: 2023-07-24 14:42
+ */
+@Service
+@Slf4j
+@RequiredArgsConstructor
+public class KwoWantBuyAddressService {
+
+    private final KwpWantBuyAddressMapper kwpWantBuyAddress;
+
+}

+ 22 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoWantBuyTradingService.java

@@ -0,0 +1,22 @@
+package com.sckw.order.serivce;
+
+import com.sckw.order.dao.KwpWantBuyTradingMapper;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+/**
+ * @desc: 求购支付service
+ * @author: yzc
+ * @date: 2023-07-24 14:43
+ */
+@Service
+@Slf4j
+@RequiredArgsConstructor
+public class KwoWantBuyTradingService {
+
+    private final KwpWantBuyTradingMapper kwpWantBuyTradingMapper;
+
+
+
+}

+ 20 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwpWantBuyService.java

@@ -1,6 +1,9 @@
 package com.sckw.order.serivce;
 
 import com.sckw.order.dao.KwpWantBuyMapper;
+import com.sckw.order.model.vo.req.AddWantBuyParam;
+import com.sckw.order.model.vo.req.UpdateWantBuyParam;
+import com.sckw.order.model.vo.res.WantBuyDetailRes;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
@@ -16,6 +19,23 @@ import org.springframework.stereotype.Service;
 public class KwpWantBuyService {
 
     private final KwpWantBuyMapper kwpWantBuyMapper;
+    private final KwoWantBuyAddressService kwoWantBuyAddressService;
+    private final KwoWantBuyTradingService kwoWantBuyTradingService;
 
 
+    public void addDraft(AddWantBuyParam param) {
+
+    }
+
+    public void addShelves(AddWantBuyParam param) {
+
+    }
+
+    public WantBuyDetailRes detail(Long id) {
+        return null;
+    }
+
+    public void update(UpdateWantBuyParam param) {
+
+    }
 }