mingfu 1 місяць тому
батько
коміт
6371f078bf

+ 14 - 0
ie-admin/src/main/java/com/ruoyi/IEApplication.java

@@ -1,5 +1,8 @@
 package com.ruoyi;
 
+import io.swagger.v3.oas.annotations.OpenAPIDefinition;
+import io.swagger.v3.oas.annotations.info.Info;
+import io.swagger.v3.oas.annotations.servers.Server;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
@@ -10,6 +13,17 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
  * @author ruoyi
  */
 @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
+@OpenAPIDefinition(
+        info = @Info(
+                title = "IEPlus API",
+                version = "1.0.0",
+                description = "单招第二版接口"
+        ),
+        servers = {
+                @Server(url = "https://dz2.mx.jinliyk.com", description = "测试环境"),
+                @Server(url = "http://localhost:8080", description = "本地环境")
+        }
+)
 public class IEApplication
 {
     public static void main(String[] args)

+ 5 - 3
ie-admin/src/main/java/com/ruoyi/web/controller/front/CommController.java

@@ -13,6 +13,7 @@ import com.ruoyi.common.utils.PhoneUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.dz.domain.DzCards;
 import com.ruoyi.dz.service.IDzCardsService;
+import com.ruoyi.enums.SmsTypeEnum;
 import com.ruoyi.system.domain.SysConfig;
 import com.ruoyi.system.service.ISysConfigService;
 import com.ruoyi.system.service.ISysDictTypeService;
@@ -20,6 +21,7 @@ import com.ruoyi.system.service.ISysUserService;
 import com.ruoyi.system.service.ShortMessageService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.compress.utils.Lists;
 import org.springframework.web.bind.annotation.*;
@@ -107,7 +109,7 @@ public class CommController {
     @ApiOperation("发送验证码(验重,验证码,不登陆)")
     @PostMapping(value = "sendSmsNoToken")
     @Anonymous
-    public AjaxResult sendSmsNoToken(String mobile, Integer smsType, String uuid, String code){
+    public AjaxResult sendSmsNoToken(String mobile, SmsTypeEnum smsType, String uuid, String code){
         if(!PhoneUtils.isPhoneNumber(mobile)){
             return AjaxResult.error("手机号错误");
         }
@@ -128,7 +130,7 @@ public class CommController {
     @ApiOperation("发送验证码(不验重,验证码,不登陆)")
     @PostMapping(value = "sendSmsNoValidationNoToken")
     @Anonymous
-    public AjaxResult sendSmsNoValidationNoToken(String mobile, Integer smsType, String uuid, String code){
+    public AjaxResult sendSmsNoValidationNoToken(String mobile, SmsTypeEnum smsType, String uuid, String code){
         if(!PhoneUtils.isPhoneNumber(mobile)){
             return AjaxResult.error("手机号错误");
         }
@@ -143,7 +145,7 @@ public class CommController {
 
     @ApiOperation("发送验证码(不验重,需登陆,无验证码)")
     @PostMapping(value = "sendSms")
-    public AjaxResult sendSms(String mobile, Integer smsType){
+    public AjaxResult sendSms(String mobile, SmsTypeEnum smsType){
         return shortMessageService.sendVerifyCode(smsType, mobile);
     }
 

+ 1 - 2
ie-admin/src/main/java/com/ruoyi/web/controller/front/UserController.java

@@ -62,7 +62,7 @@ public class UserController {
 
     @GetMapping(value = "examTypes")
     @Anonymous
-    @ApiOperation("考生列表")
+    @ApiOperation("考生类型列表")
     public AjaxResult examTypes(@RequestParam String location)
     {
         DzControl cond = new DzControl();
@@ -81,7 +81,6 @@ public class UserController {
         }).collect(Collectors.toList()));
     }
 
-
     /**
      * 登录方法
      *

+ 24 - 1
ie-admin/src/main/java/com/ruoyi/web/service/CommService.java

@@ -1,19 +1,30 @@
 package com.ruoyi.web.service;
 
+import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.text.Convert;
+import com.ruoyi.common.enums.UserRegStatus;
+import com.ruoyi.common.exception.CustomException;
 import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.dz.domain.DzCards;
+import com.ruoyi.dz.service.IDzCardsService;
+import com.ruoyi.enums.CardTimeStatus;
 import com.ruoyi.system.service.ISysConfigService;
 import org.springframework.stereotype.Service;
 
+import java.time.LocalDate;
+import java.time.ZoneId;
 import java.util.Date;
 
 @Service
 public class CommService {
     private final ISysConfigService configService;
+    private final IDzCardsService cardsService;
 
-    public CommService(ISysConfigService configService) {
+    public CommService(ISysConfigService configService, IDzCardsService cardsService) {
         this.configService = configService;
+        this.cardsService = cardsService;
     }
 
 
@@ -40,4 +51,16 @@ public class CommService {
         }
         return false;
     }
+
+    public void requireVip() {
+        SysUser user = SecurityUtils.getLoginUser().getUser();
+        if (!UserRegStatus.Student.equals(user.getRegStatus())) {
+            throw new CustomException("没有权限,请开通VIP", 405);
+        }
+        DzCards card = cardsService.selectDzCardsByCardId(user.getCardId());
+        Date nowDate = Date.from(LocalDate.now().atStartOfDay(ZoneId.systemDefault()).toInstant());
+        if (!CardTimeStatus.Valid.getVal().equals(card.getTimeStatus()) || (null != card.getOutDate() && card.getOutDate().getTime() < nowDate.getTime())) {
+            throw new CustomException("没有权限,请开通VIP", 405);
+        }
+    }
 }

+ 43 - 0
ie-common/src/main/java/com/ruoyi/common/exception/CustomException.java

@@ -0,0 +1,43 @@
+package com.ruoyi.common.exception;
+
+/**
+ * 自定义异常
+ *
+ * @author ruoyi
+ */
+public class CustomException extends RuntimeException
+{
+    private static final long serialVersionUID = 1L;
+
+    private Integer code;
+
+    private String message;
+
+    public CustomException(String message)
+    {
+        this.message = message;
+    }
+
+    public CustomException(String message, Integer code)
+    {
+        this.message = message;
+        this.code = code;
+    }
+
+    public CustomException(String message, Throwable e)
+    {
+        super(message, e);
+        this.message = message;
+    }
+
+    @Override
+    public String getMessage()
+    {
+        return message;
+    }
+
+    public Integer getCode()
+    {
+        return code;
+    }
+}

+ 5 - 0
ie-system/pom.xml

@@ -30,6 +30,11 @@
             <groupId>com.aliyun</groupId>
             <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <scope>provided</scope>
+        </dependency>
     </dependencies>
 
 </project>

+ 12 - 0
ie-system/src/main/java/com/ruoyi/enums/CardDistributeStatus.java

@@ -0,0 +1,12 @@
+package com.ruoyi.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+@Getter
+@AllArgsConstructor
+public enum CardDistributeStatus {
+    Free(0), Assign(10), Close(30); // 未用/申请开卡/开卡成功且支付/激活
+
+    private final Integer val;
+}

+ 13 - 0
ie-system/src/main/java/com/ruoyi/enums/CardStatus.java

@@ -0,0 +1,13 @@
+package com.ruoyi.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.Getter;
+
+@Getter
+@AllArgsConstructor
+public enum CardStatus {
+    Free(0), Open(10), Paid(20), Active(30); // 未用/申请开卡/开卡成功且支付/激活
+
+    private final Integer val;
+}

+ 12 - 0
ie-system/src/main/java/com/ruoyi/enums/CardTimeStatus.java

@@ -0,0 +1,12 @@
+package com.ruoyi.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+@Getter
+@AllArgsConstructor
+public enum CardTimeStatus {
+    Valid(0), Expire(10), Invalid(30); // 正常/过期(毕业前超过过期时间)/失效(超过毕业时间)
+
+    private final Integer val;
+}

+ 19 - 0
ie-system/src/main/java/com/ruoyi/enums/SmsTypeEnum.java

@@ -0,0 +1,19 @@
+package com.ruoyi.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+@Getter
+@AllArgsConstructor
+public enum SmsTypeEnum {
+    CODE(1), // 普通
+    PASSWD(2), // 改密码
+    ECARD(3), // 电子卡
+    ;
+
+    /**
+     * 类型
+     */
+    private final int type;
+
+}

+ 4 - 3
ie-system/src/main/java/com/ruoyi/system/service/ShortMessageService.java

@@ -10,6 +10,7 @@ import com.aliyuncs.profile.IClientProfile;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.VerifyCodeUtils;
+import com.ruoyi.enums.SmsTypeEnum;
 import com.ruoyi.system.domain.SysSmsBlacklist;
 import com.ruoyi.system.domain.SysSmsLog;
 import com.ruoyi.system.mapper.SysSmsLogMapper;
@@ -60,11 +61,11 @@ public class ShortMessageService {
     private ISysConfigService configService;
 
     /**
-     * 短信类型 1绑定用户信息 2修改密码 4电子卡
+     * 短信类型 SmsTypeEnum
      */
-    public AjaxResult sendVerifyCode(Integer smsType, String mobileNo) {
+    public AjaxResult sendVerifyCode(SmsTypeEnum smsType, String mobileNo) {
         SysSmsLog smsLog = new SysSmsLog();
-        smsLog.setType(smsType);
+        smsLog.setType(smsType.getType());
         smsLog.setPhoneNo(mobileNo);
         smsLog.setCreateTime(new Date());
         smsLog.setUpdateTime(new Date());