فهرست منبع

Merge branch 'dev' into 'mp-server-test'

Dev

See merge request quanshu/mp-server!490
zhong chunping 3 سال پیش
والد
کامیت
fc6dcaacda

+ 104 - 0
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/SupplierMgrController.java

@@ -0,0 +1,104 @@
+package com.qs.mp.web.controller.api.admin;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.qs.mp.admin.domain.Goods;
+import com.qs.mp.admin.domain.Supplier;
+import com.qs.mp.admin.domain.param.SupplierCreateParam;
+import com.qs.mp.admin.domain.param.SupplierQueryParam;
+import com.qs.mp.admin.domain.param.SupplierUpdateParam;
+import com.qs.mp.admin.service.IGoodsService;
+import com.qs.mp.admin.service.ISupplierService;
+import com.qs.mp.common.core.domain.AjaxResult;
+import com.qs.mp.common.core.page.TableDataInfo;
+import com.qs.mp.web.controller.common.BaseApiController;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 供应商管理API
+ *
+ * @author Cup
+ * @date 2022/5/10
+ */
+@Api(tags = "供应商管理API")
+@RestController
+@RequestMapping("/api/v1/mp/admin/supplier/*")
+public class SupplierMgrController extends BaseApiController {
+
+    @Autowired
+    private ISupplierService supplierService;
+
+    @Autowired
+    private IGoodsService goodsService;
+
+
+    @PostMapping("/create")
+    @ApiOperation("添加供应商")
+    public AjaxResult createSupplier(@RequestBody @Validated SupplierCreateParam supplierCreateParam) {
+        int count = supplierService.count(new LambdaQueryWrapper<Supplier>().eq(Supplier::getName, supplierCreateParam.getName()));
+        if (count != 0) {
+            return AjaxResult.error("供应商名称已存在");
+        }
+        Supplier supplier = new Supplier();
+        BeanUtils.copyProperties(supplierCreateParam, supplier);
+        return AjaxResult.success(supplierService.save(supplier));
+    }
+
+    @PostMapping("/update")
+    @ApiOperation("编辑供应商")
+    public AjaxResult updateSupplier(@RequestBody @Validated SupplierUpdateParam supplierUpdateParam) {
+        int count = supplierService.count(new LambdaQueryWrapper<Supplier>().eq(Supplier::getName, supplierUpdateParam.getName()).notIn(Supplier::getId, supplierUpdateParam.getId()));
+        if (count != 0) {
+            return AjaxResult.error("供应商名称已存在");
+        }
+        Supplier supplier = new Supplier();
+        BeanUtils.copyProperties(supplierUpdateParam, supplier);
+        return AjaxResult.success(supplierService.updateById(supplier));
+    }
+
+    @PostMapping("/list")
+    @ApiOperation("供应商列表")
+    @ApiResponses(
+            @ApiResponse(code = 200, message = "供应商列表", response = Supplier.class)
+    )
+    public TableDataInfo list(@RequestBody SupplierQueryParam supplierQueryParam) {
+        startPage();
+
+        LambdaQueryWrapper<Supplier> queryWrapper = new LambdaQueryWrapper<>();
+        if (StringUtils.isNotBlank(supplierQueryParam.getName())) {
+            queryWrapper.like(Supplier::getName, supplierQueryParam.getName());
+        }
+
+        queryWrapper.orderByDesc(Supplier::getId);
+
+        return getDataTable(supplierService.list(queryWrapper));
+    }
+
+    @PostMapping("/detail/{id}")
+    @ApiOperation("供应商详情")
+    @ApiResponses(
+            @ApiResponse(code = 200, message = "供应商详情", response = Supplier.class)
+    )
+    public AjaxResult detail(@PathVariable("id") Long id) {
+        return AjaxResult.success(supplierService.getById(id));
+    }
+
+    @PostMapping("/delete/{id}")
+    @ApiOperation("删除供应商")
+    public AjaxResult delete(@PathVariable("id") Long id) {
+        int count = goodsService.count(new LambdaQueryWrapper<Goods>().eq(Goods::getSupplerId, id));
+        if (count != 0) {
+            return AjaxResult.error("该供应商下有商品,不能删除");
+        }
+        return AjaxResult.success(supplierService.removeById(id));
+    }
+
+}

+ 8 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/Goods.java

@@ -129,6 +129,14 @@ public class Goods implements Serializable {
   @TableField("merchant_info")
   private String merchantInfo;
 
+  @ApiModelProperty("供应商ID")
+  @TableField("suppler_id")
+  private Long supplerId;
+
+  @ApiModelProperty("采购链接")
+  @TableField("shopping_link")
+  private String shoppingLink;
+
 
   @ApiModelProperty("排序权重,越大越靠前")
   @TableField("sort_weight")

+ 88 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/Supplier.java

@@ -0,0 +1,88 @@
+package com.qs.mp.admin.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableField;
+
+import java.io.Serializable;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @describe 供应商表实体类
+ * @auther quanshu
+ * @create 2022-05-10 10:22:34
+ */
+@ApiModel("供应商实体类")
+@TableName("mp_supplier")
+@Data
+public class Supplier implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 供应商ID
+     */
+    @ApiModelProperty("供应商ID")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 供应商名称
+     */
+    @ApiModelProperty("供应商名称")
+    @TableField("name")
+    private String name;
+
+    /**
+     * 联系人
+     */
+    @ApiModelProperty("联系人")
+    @TableField("contact")
+    private String contact;
+
+    /**
+     * 手机号
+     */
+    @ApiModelProperty("手机号")
+    @TableField("phone")
+    private String phone;
+
+    /**
+     * 备注
+     */
+    @ApiModelProperty("备注")
+    @TableField("remark")
+    private String remark;
+
+    /**
+     * 逻辑删除标识
+     */
+    @ApiModelProperty("逻辑删除标识")
+    @TableField("is_deleted")
+    @TableLogic
+    private Integer isDeleted;
+
+    /**
+     * 创建时间
+     */
+    @ApiModelProperty("创建时间")
+    @TableField("created_time")
+    private Date createdTime;
+
+    /**
+     * 更新时间
+     */
+    @ApiModelProperty("更新时间")
+    @TableField("updated_time")
+    private Date updatedTime;
+
+
+}

+ 6 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/param/GoodsParam.java

@@ -120,5 +120,11 @@ public class GoodsParam {
 	@ApiModelProperty("商家信息")
 	private String merchantInfo;
 
+	@ApiModelProperty("供应商ID")
+	private Long supplerId;
+
+	@ApiModelProperty("采购链接")
+	private String shoppingLink;
+
 
 }

+ 45 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/param/SupplierCreateParam.java

@@ -0,0 +1,45 @@
+package com.qs.mp.admin.domain.param;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.qs.mp.admin.domain.Supplier;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * 供应商创建入参类
+ * @author Cup
+ * @date 2022/5/10
+ */
+@ApiModel("供应商创建入参类")
+@Data
+public class SupplierCreateParam{
+
+    /**
+     * 供应商名称
+     */
+    @NotBlank(message = "供应商名称不能为空")
+    @ApiModelProperty(value = "供应商名称",required = true)
+    private String name;
+
+    /**
+     * 联系人
+     */
+    @ApiModelProperty("联系人")
+    private String contact;
+
+    /**
+     * 手机号
+     */
+    @ApiModelProperty("手机号")
+    private String phone;
+
+    /**
+     * 备注
+     */
+    @ApiModelProperty("备注")
+    private String remark;
+}

+ 15 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/param/SupplierParam.java

@@ -0,0 +1,15 @@
+package com.qs.mp.admin.domain.param;
+
+import com.qs.mp.admin.domain.Supplier;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+/**
+ * 供应商入参类
+ * @author Cup
+ * @date 2022/5/10
+ */
+@ApiModel("供应商入参类")
+@Data
+public class SupplierParam extends Supplier {
+}

+ 18 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/param/SupplierQueryParam.java

@@ -0,0 +1,18 @@
+package com.qs.mp.admin.domain.param;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 供应商查询入参类
+ * @author Cup
+ * @date 2022/5/10
+ */
+@ApiModel("供应商查询入参类")
+@Data
+public class SupplierQueryParam{
+
+    @ApiModelProperty("供应商名称")
+    private String name;
+}

+ 47 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/param/SupplierUpdateParam.java

@@ -0,0 +1,47 @@
+package com.qs.mp.admin.domain.param;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * 供应商更新入参类
+ * @author Cup
+ * @date 2022/5/10
+ */
+@ApiModel("供应商更新入参类")
+@Data
+public class SupplierUpdateParam {
+
+    @NotNull(message = "供应商id不能为空")
+    @ApiModelProperty("供应商id")
+    private Long id;
+
+    /**
+     * 供应商名称
+     */
+    @NotBlank(message = "供应商名称不能为空")
+    @ApiModelProperty(value = "供应商名称",required = true)
+    private String name;
+
+    /**
+     * 联系人
+     */
+    @ApiModelProperty("联系人")
+    private String contact;
+
+    /**
+     * 手机号
+     */
+    @ApiModelProperty("手机号")
+    private String phone;
+
+    /**
+     * 备注
+     */
+    @ApiModelProperty("备注")
+    private String remark;
+}

+ 6 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/vo/GoodsVO.java

@@ -135,6 +135,12 @@ public class GoodsVO {
 	@ApiModelProperty("商家信息")
 	private String merchantInfo;
 
+	@ApiModelProperty("供应商ID")
+	private Long supplerId;
+
+	@ApiModelProperty("采购链接")
+	private String shoppingLink;
+
 
 	/**
 	 * 创建时间

+ 13 - 0
mp-service/src/main/java/com/qs/mp/admin/mapper/SupplierMapper.java

@@ -0,0 +1,13 @@
+package com.qs.mp.admin.mapper;
+
+import com.qs.mp.admin.domain.Supplier;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @auther quanshu
+ * @create 2022-05-10 10:22:34
+ * @describe 供应商表mapper类
+ */
+public interface SupplierMapper extends BaseMapper<Supplier> {
+
+}

+ 16 - 0
mp-service/src/main/java/com/qs/mp/admin/service/ISupplierService.java

@@ -0,0 +1,16 @@
+package com.qs.mp.admin.service;
+
+import com.qs.mp.admin.domain.Supplier;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 供应商表 服务类
+ * </p>
+ *
+ * @author quanshu
+ * @since 2022-05-10
+ */
+public interface ISupplierService extends IService<Supplier> {
+
+}

+ 20 - 0
mp-service/src/main/java/com/qs/mp/admin/service/impl/SupplierServiceImpl.java

@@ -0,0 +1,20 @@
+package com.qs.mp.admin.service.impl;
+
+import com.qs.mp.admin.domain.Supplier;
+import com.qs.mp.admin.mapper.SupplierMapper;
+import com.qs.mp.admin.service.ISupplierService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 供应商表 服务实现类
+ * </p>
+ *
+ * @author quanshu
+ * @since 2022-05-10
+ */
+@Service
+public class SupplierServiceImpl extends ServiceImpl<SupplierMapper, Supplier> implements ISupplierService {
+
+}

+ 8 - 0
mp-service/src/main/java/com/qs/mp/user/domain/UserDeliverOrderItem.java

@@ -86,6 +86,14 @@ public class UserDeliverOrderItem implements Serializable {
   @TableField("goods_num")
   private Integer goodsNum;
 
+  @ApiModelProperty("供应商ID")
+  @TableField("suppler_id")
+  private Long supplerId;
+
+  @ApiModelProperty("采购链接")
+  @TableField("shopping_link")
+  private String shoppingLink;
+
   /**
    * 物流公司ID
    */

+ 22 - 0
mp-service/src/main/resources/mapper/admin/SupplierMapper.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.qs.mp.admin.mapper.SupplierMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.qs.mp.admin.domain.Supplier">
+        <id column="id" property="id" />
+        <result column="name" property="name" />
+        <result column="contact" property="contact" />
+        <result column="phone" property="phone" />
+        <result column="remark" property="remark" />
+        <result column="is_deleted" property="isDeleted" />
+        <result column="created_time" property="createdTime" />
+        <result column="updated_time" property="updatedTime" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, name, contact, phone, remark, is_deleted, created_time, updated_time
+    </sql>
+
+</mapper>