Browse Source

奖品库设置奖品sku

cup 2 years ago
parent
commit
1c24678633

+ 37 - 4
mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserMineController.java

@@ -3,15 +3,13 @@ package com.qs.mp.web.controller.api.user;
 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.vo.TicketListVO;
 import com.qs.mp.admin.service.IGoodsService;
 import com.qs.mp.common.core.domain.AjaxResult;
 import com.qs.mp.common.core.page.TableDataInfo;
-import com.qs.mp.common.enums.PrizeStorageStatusEnum;
-import com.qs.mp.common.enums.TicketPrizeTypeEnum;
-import com.qs.mp.common.enums.TicketStatusEnum;
-import com.qs.mp.common.enums.UserCouponStatusEnum;
+import com.qs.mp.common.enums.*;
 import com.qs.mp.common.utils.DateUtils;
 import com.qs.mp.common.utils.StringUtils;
 import com.qs.mp.user.domain.UserCoin;
@@ -19,6 +17,7 @@ import com.qs.mp.user.domain.UserCoinLog;
 import com.qs.mp.user.domain.UserCoupon;
 import com.qs.mp.user.domain.UserPrizeStorage;
 import com.qs.mp.user.domain.param.UserPrizeStorageQueryParam;
+import com.qs.mp.user.domain.param.UserPrizeStorageUpdateParam;
 import com.qs.mp.user.domain.vo.UserCouponVO;
 import com.qs.mp.user.domain.vo.UserPrizeStorageVO;
 import com.qs.mp.user.service.IUserCoinLogService;
@@ -42,6 +41,7 @@ import ma.glasnost.orika.MapperFacade;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 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;
@@ -167,6 +167,39 @@ public class UserMineController extends BaseApiController {
     return getDataTable(userPrizeStorageVOList);
   }
 
+
+  @PostMapping("/prize/saveSku")
+  @ApiOperation("设置实物奖品的SKU")
+  @ApiResponses(
+          @ApiResponse(code = 200, message = "success")
+  )
+  public AjaxResult saveSku(@Validated @RequestBody UserPrizeStorageUpdateParam userPrizeStorageUpdateParam) {
+    UserPrizeStorage userPrizeStorage = userPrizeStorageService.getById(userPrizeStorageUpdateParam.getStorageId());
+    if (userPrizeStorage == null) {
+      return AjaxResult.error("奖品存储ID不正确");
+    }
+
+    if (PrizeStorageInTypeEnum.COIN_EXCHANGE.equals(userPrizeStorage.getInType())) {
+      return AjaxResult.error("当前来源不支持选择规格");
+    }
+
+    if (userPrizeStorage.getSkuId() != null) {
+      return AjaxResult.error("非法调用,已存在规格");
+    }
+
+    // 保存商品的sku信息
+    boolean rtn = userPrizeStorageService.update(new LambdaUpdateWrapper<UserPrizeStorage>()
+            .set(UserPrizeStorage::getSkuId, userPrizeStorageUpdateParam.getSkuId())
+            .set(UserPrizeStorage::getProperties, userPrizeStorageUpdateParam.getProperties())
+            .eq(UserPrizeStorage::getStorageId, userPrizeStorageUpdateParam.getStorageId()));
+    if (!rtn) {
+      return AjaxResult.error("保存规格失败,请重试");
+    }
+
+    return AjaxResult.success();
+  }
+
+
   /**
    * 我的
    */

+ 29 - 0
mp-service/src/main/java/com/qs/mp/user/domain/param/UserPrizeStorageUpdateParam.java

@@ -0,0 +1,29 @@
+package com.qs.mp.user.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/6/20
+ */
+@ApiModel(value = "用户实物奖品更新入参类")
+@Data
+public class UserPrizeStorageUpdateParam {
+
+    @NotBlank(message = "奖品存储ID不能为空")
+    @ApiModelProperty("奖品存储id")
+    private String storageId;
+
+    @NotNull(message = "skuId不能为空")
+    @ApiModelProperty("skuId")
+    private Long skuId;
+
+    @NotBlank(message = "sku属性不能为空")
+    @ApiModelProperty("sku属性")
+    private String properties;
+}