فهرست منبع

Merge branch 'dev' of 113.31.163.91:quanshu/mp-server into dev

chunping 3 سال پیش
والد
کامیت
696e8e4dfa

+ 31 - 7
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/GoodsMgrController.java

@@ -21,14 +21,15 @@ import com.qs.mp.common.enums.ErrorCodeEnum;
 import com.qs.mp.common.enums.GoodsStatusEnum;
 import com.qs.mp.common.utils.LogUtil;
 import com.qs.mp.web.controller.common.BaseApiController;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.*;
+
 import java.net.URLDecoder;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.stream.Collectors;
+
 import ma.glasnost.orika.MapperFacade;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
@@ -37,17 +38,14 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.stereotype.Component;
 import org.springframework.util.CollectionUtils;
 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;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * @auther liugl
  * @create 2022-03-09 23:45:48
  * @describe 商品管理前端控制器
  */
-@Api("渠道管理API")
+@Api(tags = "商品管理API")
 @RestController
 @RequestMapping("/api/v1/mp/admin/goods/*")
 @Component
@@ -73,6 +71,10 @@ public class GoodsMgrController extends BaseApiController {
    */
   @PostMapping("/list")
   @PreAuthorize("@ss.hasPermi('business:goods:list')")
+  @ApiOperation(value = "商品列表接口", notes = "查询商品列表, 支持翻页")
+  @ApiResponses(
+          @ApiResponse(code = 200, message = "查询成功", response = Goods.class)
+  )
   public TableDataInfo list(@RequestBody GoodsQueryParam queryParam) {
     // 商品标签
     List<Long> goodsIds = new ArrayList<>();
@@ -123,6 +125,24 @@ public class GoodsMgrController extends BaseApiController {
     return res;
   }
 
+
+  @PostMapping("/update/sortWeight")
+  @PreAuthorize("@ss.hasPermi('business:goods:edit')")
+  @ApiOperation("更新商品排序权重")
+  @ApiImplicitParams({
+          @ApiImplicitParam(name = "goodsId", value = "商品ID", required = true, dataType = "Long", paramType = "query"),
+          @ApiImplicitParam(name = "sortWeight", value = "排序权重", required = true, dataType = "Integer", paramType = "query")
+  })
+  public AjaxResult updateSortWeight(@RequestParam Long goodsId,
+                                     @RequestParam Integer sortWeight) {
+
+    Goods goods = new Goods();
+    goods.setGoodsId(goodsId);
+    goods.setSortWeight(sortWeight);
+    return AjaxResult.success(goodsService.updateById(goods));
+  }
+
+
   /**
    * 获取商品详情信息
    *
@@ -131,6 +151,10 @@ public class GoodsMgrController extends BaseApiController {
    */
   @PostMapping(value = "/detail")
   @PreAuthorize("@ss.hasPermi('business:goods:query')")
+  @ApiOperation("商品详情接口")
+  @ApiResponses(
+          @ApiResponse(code = 200, message = "查询成功", response = GoodsVO.class)
+  )
   public AjaxResult getGoodsDetail(@RequestBody JSONObject jsonObject) {
     Long goodsId = jsonObject.getLong("goodsId");
     if (null == goodsId || 0 == goodsId) {

+ 30 - 12
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/TicketBoxMgrController.java

@@ -5,10 +5,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
-import com.qs.mp.admin.domain.Ticket;
-import com.qs.mp.admin.domain.TicketAwards;
-import com.qs.mp.admin.domain.TicketAwardsPrize;
-import com.qs.mp.admin.domain.TicketBox;
+import com.qs.mp.admin.domain.*;
 import com.qs.mp.admin.domain.excel.TicketExcel;
 import com.qs.mp.admin.domain.param.BathIdParam;
 import com.qs.mp.admin.domain.param.TicketBoxCreateParam;
@@ -42,14 +39,15 @@ import com.qs.mp.system.domain.SysUser;
 import com.qs.mp.system.service.ISysUserService;
 import com.qs.mp.utils.ExcelUtil;
 import com.qs.mp.web.controller.common.BaseApiController;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.*;
+
 import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Comparator;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+
 import ma.glasnost.orika.MapperFacade;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.pulsar.client.api.PulsarClientException;
@@ -58,11 +56,7 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.stereotype.Component;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.GetMapping;
-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;
+import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
 /**
@@ -70,7 +64,7 @@ import org.springframework.web.multipart.MultipartFile;
  * @create 2022-02-28 16:17:48
  * @describe 盲票管理前端控制器
  */
-@Api("渠道管理API")
+@Api(tags = "盲票管理API")
 @RestController
 @RequestMapping("/api/v1/mp/admin/ticket/box/*")
 @Component
@@ -110,6 +104,10 @@ public class TicketBoxMgrController extends BaseApiController {
 	 */
 	@PostMapping("/list")
 	@PreAuthorize("@ss.hasPermi('business:ticket:list')")
+	@ApiOperation("查询所有盲票组列表")
+	@ApiResponses(
+			@ApiResponse(code = 200, message = "查询成功", response = TicketBox.class)
+	)
 	public TableDataInfo list(@RequestBody TicketBox ticketBox) {
 		startPage();
 		QueryWrapper<TicketBox> queryWrapper = new QueryWrapper<TicketBox>();
@@ -121,6 +119,26 @@ public class TicketBoxMgrController extends BaseApiController {
 		return getDataTable(list);
 	}
 
+
+
+	@PostMapping("/update/sortWeight")
+	@PreAuthorize("@ss.hasPermi('business:ticket:edit')")
+	@ApiOperation("更新盲票排序权重")
+	@ApiImplicitParams({
+			@ApiImplicitParam(name = "boxId", value = "盲票组ID", required = true, dataType = "String", paramType = "query"),
+			@ApiImplicitParam(name = "sortWeight", value = "排序权重", required = true, dataType = "Integer", paramType = "query")
+	})
+	public AjaxResult updateSortWeight(@RequestParam String boxId,
+									   @RequestParam Integer sortWeight) {
+
+		TicketBox ticketBox = new TicketBox();
+		ticketBox.setBoxId(boxId);
+		ticketBox.setSortWeight(sortWeight);
+		return AjaxResult.success(ticketBoxService.updateById(ticketBox));
+	}
+
+
+
 	/**
 	 * 查看盲票详情
 	 */

+ 17 - 2
mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserExchangeController.java

@@ -2,6 +2,8 @@ package com.qs.mp.web.controller.api.user;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.github.xiaoymin.knife4j.annotations.DynamicParameter;
+import com.github.xiaoymin.knife4j.annotations.DynamicParameters;
 import com.qs.mp.admin.domain.ExchangeBanner;
 import com.qs.mp.admin.domain.Goods;
 import com.qs.mp.admin.domain.GoodsCategory;
@@ -32,6 +34,9 @@ import java.util.Arrays;
 import java.util.Iterator;
 import java.util.List;
 import java.util.stream.Collectors;
+
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
 import lombok.AllArgsConstructor;
 import ma.glasnost.orika.MapperFacade;
 import org.springframework.beans.BeanUtils;
@@ -45,7 +50,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 @RestController
 @RequestMapping("/api/v1/mp/user/exchange")
-@Api(tags = "盲票商城接口")
+@Api(tags = "盲票兑换大厅接口")
 @AllArgsConstructor
 public class UserExchangeController extends BaseApiController {
 
@@ -79,6 +84,15 @@ public class UserExchangeController extends BaseApiController {
    */
   @PostMapping("/goods/list")
   @ApiOperation(value = "商品列表", notes = "获取所有可兑换商品")
+  @DynamicParameters(properties = {
+          @DynamicParameter(name = "categoryId",value = "分类id",dataTypeClass = Long.class),
+          @DynamicParameter(name = "tagIds",value = "标签id",dataTypeClass = String.class),
+          @DynamicParameter(name = "startPrice",value = "开始价格",dataTypeClass = Integer.class),
+          @DynamicParameter(name = "endPrice",value = "结束价格",dataTypeClass = Integer.class)
+  })
+  @ApiResponses(
+          @ApiResponse(code = 200, message = "success" , response = GoodsListVO.class)
+  )
   public TableDataInfo list(@RequestBody JSONObject param) {
     Long categoryId = param.getLong("categoryId");
     String tagIds = param.getString("tagIds");
@@ -99,7 +113,8 @@ public class UserExchangeController extends BaseApiController {
         .le(null != endPrice && 0 != endPrice, Goods::getExchangePrice, endPrice)
         .eq(Goods::getStatus, GoodsStatusEnum.PUT_ON)
         .eq(Goods::getExchangeShow, 1)
-        .in(!CollectionUtils.isEmpty(goodsIds), Goods::getGoodsId, goodsIds));
+        .in(!CollectionUtils.isEmpty(goodsIds), Goods::getGoodsId, goodsIds)
+        .orderByDesc(Goods::getSortWeight));
     List<GoodsListVO> goodsListVOList = mapperFacade.mapAsList(goodsList, GoodsListVO.class);
     TableDataInfo rspData = getDataTable(goodsList);
     rspData.setRows(goodsListVOList);

+ 3 - 1
mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserTicketController.java

@@ -95,7 +95,9 @@ public class UserTicketController extends BaseApiController {
         new LambdaQueryWrapper<TicketBox>().eq(TicketBox::getType, param.getType())
             .eq(null != param.getCategoryId() && 0 != param.getCategoryId(),
                 TicketBox::getCategoryId, param.getCategoryId())
-            .eq(TicketBox::getStatus, TicketBoxStatusEnum.PUT_ON));
+            .eq(TicketBox::getStatus, TicketBoxStatusEnum.PUT_ON)
+            .orderByDesc(TicketBox::getSortWeight)
+    );
     List<TicketBoxListVO> ticketBoxListVOList = mapperFacade.mapAsList(ticketBoxes,
         TicketBoxListVO.class);
     TableDataInfo rspData = getDataTable(ticketBoxes);

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

@@ -20,6 +20,8 @@ import java.util.Map;
 import java.util.Set;
 import java.util.stream.*;
 
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
@@ -29,6 +31,7 @@ import lombok.Data;
  */
 @TableName("mp_goods")
 @Data
+@ApiModel("商品库实体类")
 public class Goods implements Serializable {
 
   private static final long serialVersionUID = 1L;
@@ -36,84 +39,102 @@ public class Goods implements Serializable {
   /**
    * 主键
    */
+  @ApiModelProperty("商品ID,主键")
   @TableId(value = "goods_id", type = IdType.AUTO)
   private Long goodsId;
 
   /**
    * 商品标题
    */
+  @ApiModelProperty("商品标题")
   @TableField("title")
   private String title;
 
   /**
    * 商品类目ID
    */
+  @ApiModelProperty("商品类目ID")
   @TableField("category_id")
   private Long categoryId;
 
   /**
    * 商品图片
    */
+  @ApiModelProperty("商品图片")
   @TableField("pic_url")
   private String picUrl;
 
   /**
    * 详情
    */
+  @ApiModelProperty("详情")
   @TableField("description")
   private String description;
 
   /**
    * 原兑换价格
    */
+  @ApiModelProperty("原兑换价格")
   @TableField("origin_price")
   private Integer originPrice;
 
   /**
    * 现兑换价格
    */
+  @ApiModelProperty("现兑换价格")
   @TableField("exchange_price")
   private Integer exchangePrice;
 
   /**
    * 商品价值
    */
+  @ApiModelProperty("商品价值")
   @TableField("value")
   private Integer value;
 
   /**
    * 商品成本
    */
+  @ApiModelProperty("商品成本")
   @TableField("cost")
   private Integer cost;
 
   /**
    * 库存数量
    */
+  @ApiModelProperty("库存数量")
   @TableField("quantity")
   private Integer quantity;
 
   /**
    * 已兑换量
    */
+  @ApiModelProperty("已兑换量")
   @TableField("exchanged_qty")
   private Integer exchangedQty;
 
   /**
    * 兑换大厅是否展示,0不展示,1展示
    */
+  @ApiModelProperty("兑换大厅是否展示,0不展示,1展示")
   @TableField("exchange_show")
   private Integer exchangeShow;
 
+  @ApiModelProperty("排序权重,越大越靠前")
+  @TableField("sort_weight")
+  private Integer sortWeight;
+
   /**
    * 是否多sku,0否,1是
    */
+  @ApiModelProperty("是否多sku,0否,1是")
   @TableField("multi_sku")
   private Integer multiSku;
 
   /**
    * 规格描述
    */
+  @ApiModelProperty("规格描述")
   @TableField("sku_prop")
   private String skuProp;
 
@@ -121,6 +142,7 @@ public class Goods implements Serializable {
   /**
    * 上架状态;上架/下架
    */
+  @ApiModelProperty("上架状态;上架/下架")
   @TableField("status")
   @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
   private GoodsStatusEnum status;
@@ -128,6 +150,7 @@ public class Goods implements Serializable {
   /**
    * 逻辑删除标识
    */
+  @ApiModelProperty("逻辑删除标识")
   @TableField("is_deleted")
   @TableLogic
   private Integer isDeleted;
@@ -135,12 +158,14 @@ public class Goods implements Serializable {
   /**
    * 创建时间
    */
+  @ApiModelProperty("创建时间")
   @TableField("created_time")
   private Date createdTime;
 
   /**
    * 更新时间
    */
+  @ApiModelProperty("更新时间")
   @TableField("updated_time")
   private Date updatedTime;
 }

+ 4 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/TicketBox.java

@@ -156,6 +156,10 @@ public class TicketBox implements Serializable {
   @TableField("properties")
   private String properties;
 
+  @ApiModelProperty("排序权重,越大越靠前")
+  @TableField("sort_weight")
+  private Integer sortWeight;
+
   /**
    * 上架时间
    */