Browse Source

盲票序号生成增加票形式

chunping 3 years ago
parent
commit
087198a7fd

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

@@ -26,6 +26,7 @@ import com.qs.mp.common.enums.GoodsStatusEnum;
 import com.qs.mp.common.enums.TicketBoxStatusEnum;
 import com.qs.mp.common.enums.TicketStatusEnum;
 import com.qs.mp.common.utils.StringUtils;
+import com.qs.mp.user.domain.param.ExchangeOrderParam;
 import com.qs.mp.user.service.IUserHitPrizeService;
 import com.qs.mp.user.service.IUserTicketOrderItemService;
 import com.qs.mp.utils.SecurityUtils;
@@ -101,4 +102,18 @@ public class UserExchangeController extends BaseApiController {
     return AjaxResult.success(goodsVo);
   }
 
+  /**
+   * 提交兑换订单
+   */
+  @PostMapping("/submit")
+  @ApiOperation(value = "提交兑换订单" , notes = "提交兑换订单")
+  public AjaxResult submit(@RequestBody ExchangeOrderParam param) {
+    if (StringUtils.isBlank(param.getGoodsId()) || null == param.getOrderNum()
+        || param.getOrderNum() == 0) {
+      return AjaxResult.error("参数缺失");
+    }
+
+    return AjaxResult.success();
+  }
+
 }

+ 2 - 1
mp-service/src/main/java/com/qs/mp/admin/service/ITicketBoxSerialService.java

@@ -11,8 +11,9 @@ import com.qs.mp.common.enums.TicketTypeEnum;
 public interface ITicketBoxSerialService {
 
   /**
-   * 格式,共7位,分三段,票类型(1位)-年份(1位)-序号(5位)
+   * 格式,共8位,分四段,票类型(1位)-形式(1位)-年份(1位)-序号(5位)
    * T(票类型,T代表通用票)
+   * S(形式,S代表线上,X代表线下)
    * H(年份后两位+50后的ascii码,从2022年可以用到2072年)
    * 00001(序号,每年从年份数字开始,比如2022年,那起始序号为2022)
    *

+ 4 - 2
mp-service/src/main/java/com/qs/mp/admin/service/impl/TicketBoxSerialServiceImpl.java

@@ -56,7 +56,7 @@ public class TicketBoxSerialServiceImpl implements ITicketBoxSerialService {
       if (!CollectionUtils.isEmpty(ticketBoxList)) {
         String boxNo = ticketBoxList.get(0).getBoxNo();
 
-        int year = Character.codePointAt(boxNo.substring(1, 2), 0) - 50;
+        int year = Character.codePointAt(boxNo.substring(2, 3), 0) - 50;
         // 同一年份,做累加
         if (year == Integer.valueOf(prefix)) {
           start = Integer.valueOf(boxNo.substring(2)) + 1;
@@ -69,7 +69,9 @@ public class TicketBoxSerialServiceImpl implements ITicketBoxSerialService {
     String str = new String(Character.toChars(Integer.parseInt(prefix) + 50));
     Object value = redisTemplate.opsForValue().get(prefix);
     LogUtil.debug(logger, "生成的年份为{0},序列号为{1}", new Object[]{str, value});
-    return "T" + str + String.format("%1$05d", value);
+
+    String type = ticketType == TicketTypeEnum.ONLINE ? "S" : "X";
+    return "T" + type + str + String.format("%1$05d", value);
   }
 
   // 获取第二年 1月 1日 00:00的时间

+ 7 - 3
mp-service/src/main/java/com/qs/mp/user/domain/param/ExchangeOrderParam.java

@@ -11,9 +11,13 @@ import lombok.Data;
 public class ExchangeOrderParam {
 
 	@NotEmpty(message = "商品ID不能为空")
-	@ApiModelProperty(value = "奖品库IDs",required=true)
+	@ApiModelProperty(value = "商品ID",required=true)
 	private String goodsId;
 
-	@ApiModelProperty(value = "地址ID",required=false)
-	private Long addrId;
+	@ApiModelProperty(value = "skuID",required=true)
+	private String skuId;
+
+	@NotEmpty(message = "兑换数量不能为空")
+	@ApiModelProperty(value = "兑换数量",required=false)
+	private Integer orderNum;
 }