Pārlūkot izejas kodu

下单判断年龄段

mac 7 mēneši atpakaļ
vecāks
revīzija
5ac3d3eaf5

+ 21 - 0
lhb-basic/lhb-basic-api/src/main/java/com/kxs/lhb/basic/api/constant/enums/ChannelCodeEnum.java

@@ -0,0 +1,21 @@
+package com.kxs.lhb.basic.api.constant.enums;
+
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
+
+/**
+ * 通道商枚举类
+ *
+ * @author 没秃顶的码农
+ * @date 2024-09-04
+ */
+@Getter
+@RequiredArgsConstructor
+public enum ChannelCodeEnum {
+
+    TY("tongyi", "统一");
+
+    private final String code;
+
+    private final String description;
+}

+ 8 - 3
lhb-basic/lhb-basic-api/src/main/java/com/kxs/lhb/basic/api/model/LhbGoods.java

@@ -8,6 +8,7 @@ import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.*;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotNull;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import com.kxs.common.core.valid.Phone;
@@ -71,6 +72,7 @@ public class LhbGoods extends Model<LhbGoods> implements Serializable {
      * 产品名称
      */
     @Schema(description = "产品名称")
+    @NotBlank(message = "产品名称不能为空")
     private String goodsName;
 
 
@@ -78,6 +80,7 @@ public class LhbGoods extends Model<LhbGoods> implements Serializable {
      * 商品封面图
      */
     @Schema(description = "商品封面图")
+    @NotBlank(message = "商品封面图不能为空")
     private String picUrl;
 
 
@@ -92,6 +95,7 @@ public class LhbGoods extends Model<LhbGoods> implements Serializable {
      * 月租价格
      */
     @Schema(description = "月租价格")
+    @NotNull(message = "月租价格不能为空")
     private BigDecimal price;
 
 
@@ -106,6 +110,7 @@ public class LhbGoods extends Model<LhbGoods> implements Serializable {
      * 外部产品ID
      */
     @Schema(description = "外部产品ID")
+    @NotNull(message = "外部产品ID不能为空")
     private String externalId;
 
 
@@ -113,6 +118,7 @@ public class LhbGoods extends Model<LhbGoods> implements Serializable {
      * 通道名称
      */
     @Schema(description = "通道名称")
+    @NotBlank(message = "通道名称不能为空")
     private String ifCode;
 
 
@@ -164,6 +170,7 @@ public class LhbGoods extends Model<LhbGoods> implements Serializable {
      * 运营商, 1:电信,2:移动 3 :联通 4:广电
      */
     @Schema(description = "运营商, 1:电信,2:移动 3 :联通 4:广电")
+    @NotNull(message = "运营商不能为空")
     private Integer operators;
 
 
@@ -178,10 +185,8 @@ public class LhbGoods extends Model<LhbGoods> implements Serializable {
      * 年龄区间 18-65
      */
     @Schema(description = "年龄区间 18-65")
+    @NotNull(message = "年龄区间不能为空")
     private String ageSection;
 
-
-
-
 }
 

+ 1 - 1
lhb-basic/lhb-basic-api/src/main/java/com/kxs/lhb/basic/api/model/LhbOrder.java

@@ -98,7 +98,7 @@ public class LhbOrder extends Model<LhbOrder> implements Serializable {
      * 商品 ID
      */
     @Schema(description = "商品 ID")
-    @NotNull(groups = Update.class, message = "商品 ID不能为空")
+    @NotNull(groups = {Insert.class,Update.class}, message = "商品ID不能为空")
     private Integer goodsId;
 
     /**

+ 3 - 0
lhb-basic/lhb-basic-biz/src/main/java/com/kxs/lhb/basic/biz/service/impl/LhbGoodsServiceImpl.java

@@ -139,6 +139,9 @@ public class LhbGoodsServiceImpl extends MPJBaseServiceImpl<LhbGoodsMapper, LhbG
             goodsInfoVO.getSkuList().add(goodsSkuVO);
         });
 
+        goods.setMakeCount(goods.getMakeCount() + 1);
+        goods.updateById();
+
         return goodsInfoVO;
     }
 

+ 11 - 0
lhb-basic/lhb-basic-biz/src/main/java/com/kxs/lhb/basic/biz/service/impl/LhbOrderServiceImpl.java

@@ -3,6 +3,7 @@ package com.kxs.lhb.basic.biz.service.impl;
 import cn.hutool.core.date.DatePattern;
 import cn.hutool.core.date.LocalDateTimeUtil;
 import cn.hutool.core.util.IdUtil;
+import cn.hutool.core.util.IdcardUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.yulichang.base.MPJBaseServiceImpl;
@@ -103,6 +104,15 @@ public class LhbOrderServiceImpl extends MPJBaseServiceImpl<LhbOrderMapper, LhbO
 
         LhbUser user = userService.getById(SecurityUtils.getUser().getId());
 
+        LhbGoods goods = goodsService.getById(order.getGoodsId());
+
+        String ageSection = goods.getAgeSection();
+        String[] split = ageSection.split(StrUtil.DASHED);
+        int age = IdcardUtil.getAgeByIdCard(order.getIdCard());
+        if(age < Integer.parseInt(split[0]) || age > Integer.parseInt(split[1])){
+            throw new GlobalCustomerException("办理年龄段在" + ageSection + "岁之间");
+        }
+
         //订单号
         String orderSn = CommonConstants.ORDER_SN_PREFIX + IdUtil.getSnowflakeNextIdStr();
         order.setOrderSn(orderSn);
@@ -138,6 +148,7 @@ public class LhbOrderServiceImpl extends MPJBaseServiceImpl<LhbOrderMapper, LhbO
 
             throw new GlobalCustomerException("服务费与传入的服务费不匹配");
         }
+        order.setIfCode(goods.getIfCode());
         order.setOperators(goods.getOperators());
         order.setAddress(param.getAddress());
         order.setArea(param.getArea());

+ 1 - 1
lhb-basic/lhb-basic-biz/src/main/resources/application-prod.yml

@@ -19,5 +19,5 @@ spring:
         namespace: 34ad51f1-3c8b-44ae-ade9-d19e7382c677
   config:
     import:
-      - optional:nacos:llb-application-@profiles.active@.yml
+      - optional:nacos:application-@profiles.active@.yml
       - optional:nacos:${spring.application.name}-@profiles.active@.yml

+ 1 - 1
lhb-gateway/src/main/resources/application-prod.yml

@@ -19,5 +19,5 @@ spring:
         namespace: 34ad51f1-3c8b-44ae-ade9-d19e7382c677
   config:
     import:
-      - optional:nacos:lhb-application-@profiles.active@.yml
+      - optional:nacos:application-@profiles.active@.yml
       - optional:nacos:${spring.application.name}-@profiles.active@.yml

+ 1 - 1
lhb-quartz/src/main/resources/application-prod.yml

@@ -19,5 +19,5 @@ spring:
         namespace: 34ad51f1-3c8b-44ae-ade9-d19e7382c677
   config:
     import:
-      - optional:nacos:lhb-application-@profiles.active@.yml
+      - optional:nacos:application-@profiles.active@.yml
       - optional:nacos:${spring.application.name}-@profiles.active@.yml

+ 1 - 1
lhb-system/lhb-system-biz/src/main/resources/application-dev.yml

@@ -15,5 +15,5 @@ spring:
         namespace: 968c16b0-ee4f-4c2c-8a9f-0a7c8f37f230
   config:
     import:
-      - optional:nacos:lhb-application-@profiles.active@.yml
+      - optional:nacos:application-@profiles.active@.yml
       - optional:nacos:${spring.application.name}-@profiles.active@.yml

+ 1 - 1
lhb-system/lhb-system-biz/src/main/resources/application-prod.yml

@@ -19,5 +19,5 @@ spring:
         namespace: 34ad51f1-3c8b-44ae-ade9-d19e7382c677
   config:
     import:
-      - optional:nacos:lhb-application-@profiles.active@.yml
+      - optional:nacos:application-@profiles.active@.yml
       - optional:nacos:${spring.application.name}-@profiles.active@.yml