夏文涛 il y a 1 an
Parent
commit
6d50f7bc31

+ 22 - 0
src/main/java/com/template/api/SystemSettingControllerAPI.java

@@ -0,0 +1,22 @@
+package com.template.api;
+
+import com.template.model.request.changePasswordRequest;
+import com.template.model.request.loginRequest;
+import com.template.model.request.mobileLoginRequest;
+import com.template.model.result.CommonResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.BindingResult;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+
+@RequestMapping("/api/systemSetting")
+@Api(tags = {"SystemSettingController"}, value = "系统设置")
+public interface SystemSettingControllerAPI {
+
+    @GetMapping(value = "/querySettings")
+    @ApiOperation(value = "获取设置数据", notes = "获取设置数据", httpMethod = "GET")
+    CommonResult querySettings();
+
+}

+ 2 - 1
src/main/java/com/template/common/utils/JWTUtil.java

@@ -31,7 +31,7 @@ public class JWTUtil {
      * 生成token 有过期时间
      * 生成token 有过期时间
      * @return 返回token
      * @return 返回token
      */
      */
-    public static TokenDateVo getToken(Integer userId,Long expired){
+    public static TokenDateVo getToken(String studentCard,Integer userId,Long expired){
 
 
         TokenDateVo result = new TokenDateVo();
         TokenDateVo result = new TokenDateVo();
         // 签发时间
         // 签发时间
@@ -51,6 +51,7 @@ public class JWTUtil {
 //                .withClaim("identityType", ms.getIdentityType()) // 认证类型
 //                .withClaim("identityType", ms.getIdentityType()) // 认证类型
 //                .withClaim("identifier", ms.getIdentifier()) // 登录标识
 //                .withClaim("identifier", ms.getIdentifier()) // 登录标识
                 .withClaim("userId",userId)
                 .withClaim("userId",userId)
+                .withClaim("studentCard",studentCard)
                 .withExpiresAt(expireTime) // 设置过期时间。过期时间要大于签发时间
                 .withExpiresAt(expireTime) // 设置过期时间。过期时间要大于签发时间
                 .withIssuedAt(iatDate) // 设置签发时间
                 .withIssuedAt(iatDate) // 设置签发时间
                 .sign(Algorithm.HMAC256(SIGNATURE)); // 加密
                 .sign(Algorithm.HMAC256(SIGNATURE)); // 加密

+ 2 - 2
src/main/java/com/template/controller/LoginController.java

@@ -98,7 +98,7 @@ public class LoginController implements LoginControllerAPI {
             return CommonResult.fail("密码错误");
             return CommonResult.fail("密码错误");
         }
         }
 
 
-        TokenDateVo tokenDate = JWTUtil.getToken(result.getId(), null);
+        TokenDateVo tokenDate = JWTUtil.getToken("", result.getId(), null);
         String token = tokenDate == null ? "" : tokenDate.getToken();
         String token = tokenDate == null ? "" : tokenDate.getToken();
         Date expireTime = tokenDate == null ? new Date() : tokenDate.getExpireTime();
         Date expireTime = tokenDate == null ? new Date() : tokenDate.getExpireTime();
         LoginVO login = new LoginVO();
         LoginVO login = new LoginVO();
@@ -287,7 +287,7 @@ public class LoginController implements LoginControllerAPI {
         wlv.setPhone(student.getPhone().replace("(+86)", ""));
         wlv.setPhone(student.getPhone().replace("(+86)", ""));
         wlv.setCollege(college == null ? "微校获取不到院校" : college);
         wlv.setCollege(college == null ? "微校获取不到院校" : college);
         long expired = 1000 * 60 * 60 * 24 * 365;
         long expired = 1000 * 60 * 60 * 24 * 365;
-        TokenDateVo token = JWTUtil.getToken(student.getId(), expired);
+        TokenDateVo token = JWTUtil.getToken(id_card,student.getId(), expired);
         wlv.setToken(token.getToken());
         wlv.setToken(token.getToken());
         System.out.println("微校授权成功:" + user_name + "" + card_number);
         System.out.println("微校授权成功:" + user_name + "" + card_number);
         return CommonResult.ok(wlv);
         return CommonResult.ok(wlv);

+ 119 - 0
src/main/java/com/template/controller/SystemSettingController.java

@@ -0,0 +1,119 @@
+package com.template.controller;
+
+import com.google.gson.Gson;
+import com.google.gson.reflect.TypeToken;
+import com.template.annotation.PassToken;
+import com.template.api.LoginControllerAPI;
+import com.template.api.SystemSettingControllerAPI;
+import com.template.common.utils.*;
+import com.template.config.WxOpenidConfig;
+import com.template.model.pojo.*;
+import com.template.model.request.changePasswordRequest;
+import com.template.model.request.loginRequest;
+import com.template.model.request.mobileLoginRequest;
+import com.template.model.result.CommonResult;
+import com.template.model.result.Wx_user;
+import com.template.model.vo.*;
+import com.template.services.*;
+import io.swagger.annotations.ApiModelProperty;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.StringUtils;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.*;
+
+/**
+ * @Author: binguo
+ * @Date: 2023/7/5 星期三 9:28
+ * @Description: com.template.controller
+ * @Version: 1.0
+ */
+@RestController
+public class SystemSettingController implements SystemSettingControllerAPI {
+
+    //宿舍缴费设置 welcome_pay_setting
+    @Autowired
+    private WelcomePaySettingService welcomePaySettingService;
+    //宿舍开放比例设置 welcome_open_setting
+    @Autowired
+    private WelcomeOpenSettingService welcomeOpenSettingService;
+    //到站时间段设置 welcome_arrive_setting
+    @Autowired
+    private WelcomeArriveSettingService welcomeArriveSettingService;
+    //基础信息 welcome_setting
+    @Autowired
+    private WelcomeSettingService welcomeSettingService;
+
+    @Override
+    public CommonResult querySettings() {
+        List<WelcomePaySetting> wps = welcomePaySettingService.list(null);
+        List<WelcomeOpenSetting> wos = welcomeOpenSettingService.list(null);
+        List<WelcomeArriveSetting> wass = welcomeArriveSettingService.list(null);
+        List<WelcomeSetting> ws = welcomeSettingService.list(null);
+
+        SystemSettingVo result = new SystemSettingVo();
+
+        //选宿舍缴费设置
+        List<PaySettingVo> psvs = new ArrayList<>();
+        if(wps != null && wps.size() > 0){
+            for (WelcomePaySetting wp:wps) {
+                PaySettingVo psv = new PaySettingVo();
+                psv.setId(wp.getId());
+                psv.setSchool(wp.getSchool());
+                psv.setMethod(wp.getMethod());
+                psv.setPayAmount(wp.getPayAmount());
+                psvs.add(psv);
+            }
+        }
+        result.setPsvs(psvs);
+
+        //宿舍开放比例设置
+        List<OpenSettingVo> osvs = new ArrayList<>();
+        if(wos != null && wos.size() > 0){
+            for (WelcomeOpenSetting wo:wos) {
+                OpenSettingVo osv = new OpenSettingVo();
+                osv.setId(wo.getId());
+                osv.setSchool(wo.getSchool());
+                osv.setCollege(wo.getCollege());
+                osv.setOpenAmount(wo.getOpenAmount());
+                osvs.add(osv);
+            }
+        }
+        result.setOsvs(osvs);
+
+        //到站时间段设置
+        List<ArriveSettingVo> asvs = new ArrayList<>();
+        if(wass != null && wass.size() > 0){
+            for (WelcomeArriveSetting was:wass){
+                ArriveSettingVo asv = new ArriveSettingVo();
+                asv.setId(was.getId());
+                asv.setIsCheck(was.getIsCheck());
+                asv.setStartTime(was.getStartTime());
+                asv.setEndTime(was.getEndTime());
+                asvs.add(asv);
+            }
+        }
+        result.setAsvs(asvs);
+
+        if(ws != null && ws.size() > 0){
+            WelcomeSetting wsData = ws.get(0);
+            result.setCarNum(wsData.getCarNum());
+            result.setPhone(wsData.getPhone());
+            result.setSafetyNotice(wsData.getSafetyNotice());
+            result.setBasicVerification(wsData.getBasicVerification());
+            result.setFamilyInfo(wsData.getFamilyInfo());
+            result.setArriveSchool(wsData.getArriveSchool());
+            result.setChooseDormitory(wsData.getChooseDormitory());
+            result.setCarOrder(wsData.getCarOrder());
+        }
+
+
+        return CommonResult.ok(result);
+    }
+}

+ 3 - 0
src/main/java/com/template/controller/WelcomeStudentController.java

@@ -13,6 +13,7 @@ import com.template.model.result.CommonResult;
 import com.template.model.result.PageUtils;
 import com.template.model.result.PageUtils;
 import com.template.model.vo.*;
 import com.template.model.vo.*;
 import com.template.services.*;
 import com.template.services.*;
+import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.hssf.usermodel.HSSFRow;
 import org.apache.poi.hssf.usermodel.HSSFRow;
 import org.apache.poi.hssf.usermodel.HSSFSheet;
 import org.apache.poi.hssf.usermodel.HSSFSheet;
@@ -124,6 +125,7 @@ public class WelcomeStudentController implements WelcomeStudentControllerAPI {
         ws.setArrvieDate(isr.getArrvieDate());
         ws.setArrvieDate(isr.getArrvieDate());
         ws.setArriveTime(isr.getArriveTime());
         ws.setArriveTime(isr.getArriveTime());
         ws.setZipCode(isr.getZipCode());
         ws.setZipCode(isr.getZipCode());
+        ws.setRegisterOntime(isr.getRegisterOntime());
         //ws.setAmountPayable(isr.getAmountPayable());
         //ws.setAmountPayable(isr.getAmountPayable());
         //ws.setPayAmount(isr.getPayAmount());
         //ws.setPayAmount(isr.getPayAmount());
         //ws.setIsDrive(isr.getIsDrive());
         //ws.setIsDrive(isr.getIsDrive());
@@ -249,6 +251,7 @@ public class WelcomeStudentController implements WelcomeStudentControllerAPI {
         student.setArrvieDate(usr.getArrvieDate());
         student.setArrvieDate(usr.getArrvieDate());
         student.setArriveTime(usr.getArriveTime());
         student.setArriveTime(usr.getArriveTime());
         student.setZipCode(usr.getZipCode());
         student.setZipCode(usr.getZipCode());
+        student.setRegisterOntime(usr.getRegisterOntime());
         //ws.setAmountPayable(isr.getAmountPayable());
         //ws.setAmountPayable(isr.getAmountPayable());
         //ws.setPayAmount(isr.getPayAmount());
         //ws.setPayAmount(isr.getPayAmount());
         //ws.setIsDrive(isr.getIsDrive());
         //ws.setIsDrive(isr.getIsDrive());

+ 1 - 48
src/main/java/com/template/core/JwtAuthenticationInterceptor.java

@@ -46,24 +46,6 @@ public class JwtAuthenticationInterceptor implements HandlerInterceptor {
         }
         }
         //endregion
         //endregion
         System.out.println("2");
         System.out.println("2");
-        //除了登录和注册接口不需要user_head和token请求头外其他时候基本都要请求头
-//        if(request.getHeader("user_head") == null){
-//            //region 自定义返回响应的json格式
-//            //加上这个可以让浏览器那里得到浏览器的401:response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
-//            response.setCharacterEncoding("UTF-8");
-//            response.setContentType("application/json; charset=utf-8");
-//            JSONObject res = new JSONObject();
-//            res.put("code", ResponseStatusEnum.MISSING_REQUEST_HEADER.getStatus());
-//            res.put("message",  ResponseStatusEnum.MISSING_REQUEST_HEADER.getMsg());
-//            res.put("success", false);
-//            PrintWriter out = null;
-//            out = response.getWriter();
-//            out.write(res.toString());
-//            out.flush();
-//            out.close();
-//            //endregion
-//            return false;
-//        }
 
 
         //region 获取url传递的参数 Query string传递的参数
         //region 获取url传递的参数 Query string传递的参数
         //获取url参数 getParameter方法里的参数名和定义的参数名一致
         //获取url参数 getParameter方法里的参数名和定义的参数名一致
@@ -92,36 +74,6 @@ public class JwtAuthenticationInterceptor implements HandlerInterceptor {
         }
         }
         System.out.println("5");
         System.out.println("5");
         //ManageUserToken tokenData = manageUserTokenService.getManageByToken(token);
         //ManageUserToken tokenData = manageUserTokenService.getManageByToken(token);
-        System.out.println("6");
-        if(null == null){
-            System.out.println("6.1");
-            //region 自定义返回响应的json格式
-            //加上这个可以让浏览器那里得到浏览器的401:response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
-            response.setCharacterEncoding("UTF-8");
-            System.out.println("6.2");
-            response.setContentType("application/json; charset=utf-8");
-            System.out.println("6.3");
-            response.setStatus(401);
-            System.out.println("6.4");
-            JSONObject res = new JSONObject();
-            System.out.println("6.5");
-            res.put("code", ResponseStatusEnum.SYSTEM_LOGIN_ERROR.getStatus());
-            System.out.println("6.6");
-            res.put("message",  ResponseStatusEnum.SYSTEM_LOGIN_ERROR.getMsg());
-            System.out.println("6.7");
-            res.put("success", false);
-            System.out.println("6.8");
-            PrintWriter out = null;
-            System.out.println("6.9");
-            out = response.getWriter();
-            System.out.println("6.91");
-            out.write(res.toString());
-            out.flush();
-            out.close();
-            //endregion
-            return false;
-        }
-        System.out.println("7");
         // 解析token
         // 解析token
         Map<String, Claim> stringClaimMap = JWTUtil.verifyToken(token);
         Map<String, Claim> stringClaimMap = JWTUtil.verifyToken(token);
         if (ObjectUtils.isNotEmpty(stringClaimMap)) { // 登录
         if (ObjectUtils.isNotEmpty(stringClaimMap)) { // 登录
@@ -144,6 +96,7 @@ public class JwtAuthenticationInterceptor implements HandlerInterceptor {
                 return false;
                 return false;
             }
             }
             request.setAttribute("userId", stringClaimMap.get("userId").asString());
             request.setAttribute("userId", stringClaimMap.get("userId").asString());
+            request.setAttribute("studentCard", stringClaimMap.get("studentCard").asString());
             return true;
             return true;
         }
         }
         System.out.println("8");
         System.out.println("8");

+ 3 - 0
src/main/java/com/template/model/request/InsertStudentRequest.java

@@ -119,6 +119,9 @@ public class InsertStudentRequest implements Serializable {
     @ApiModelProperty(value = "邮编")
     @ApiModelProperty(value = "邮编")
     private String zipCode;
     private String zipCode;
 
 
+    @ApiModelProperty(value = "按时报到")
+    private Integer registerOntime;
+
 //    @ApiModelProperty(value = "应缴金额")
 //    @ApiModelProperty(value = "应缴金额")
 //    private BigDecimal amountPayable;
 //    private BigDecimal amountPayable;
 //
 //

+ 3 - 2
src/main/java/com/template/model/request/updateStudentRequest.java

@@ -117,6 +117,9 @@ public class updateStudentRequest implements Serializable {
     @ApiModelProperty(value = "邮编")
     @ApiModelProperty(value = "邮编")
     private String zipCode;
     private String zipCode;
 
 
+    @ApiModelProperty(value = "按时报到")
+    private Integer registerOntime;
+
 //    @ApiModelProperty(value = "应缴金额")
 //    @ApiModelProperty(value = "应缴金额")
 //    private BigDecimal amountPayable;
 //    private BigDecimal amountPayable;
 //
 //
@@ -144,6 +147,4 @@ public class updateStudentRequest implements Serializable {
     //床位号
     //床位号
     private String bednum;
     private String bednum;
 
 
-
-
 }
 }

+ 36 - 0
src/main/java/com/template/model/vo/ArriveSettingVo.java

@@ -0,0 +1,36 @@
+package com.template.model.vo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author ceshi
+ * @since 2025-06-13
+ */
+@Data
+public class ArriveSettingVo implements Serializable {
+
+    @ApiModelProperty(value = "数据ID")
+    private Integer id;
+
+    @ApiModelProperty(value = "是否勾选")
+    private Integer isCheck;
+
+    @ApiModelProperty(value = "开始时间")
+    private String startTime;
+
+    @ApiModelProperty(value = "结束时间")
+    private String endTime;
+
+}

+ 37 - 0
src/main/java/com/template/model/vo/OpenSettingVo.java

@@ -0,0 +1,37 @@
+package com.template.model.vo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author ceshi
+ * @since 2025-06-13
+ */
+@Data
+public class OpenSettingVo implements Serializable {
+
+    @ApiModelProperty(value = "数据ID")
+    private Integer id;
+
+    @ApiModelProperty(value = "校区")
+    private String school;
+
+    @ApiModelProperty(value = "学院")
+    private String college;
+
+    @ApiModelProperty(value = "开放比例")
+    private Integer openAmount;
+
+
+}

+ 37 - 0
src/main/java/com/template/model/vo/PaySettingVo.java

@@ -0,0 +1,37 @@
+package com.template.model.vo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author ceshi
+ * @since 2025-06-13
+ */
+@Data
+public class PaySettingVo implements Serializable {
+
+    @ApiModelProperty(value = "数据ID")
+    private Integer id;
+
+    @ApiModelProperty(value = "校区")
+    private String school;
+
+    @ApiModelProperty(value = "方式")
+    private String method;
+
+    @ApiModelProperty(value = "金额")
+    private BigDecimal payAmount;
+
+}

+ 52 - 0
src/main/java/com/template/model/vo/SystemSettingVo.java

@@ -0,0 +1,52 @@
+package com.template.model.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author: xwt
+ * @Date: 2025/6/16 星期一 11:28
+ * @Description: com.template.model.vo
+ * @Version: 1.0
+ */
+@Data
+public class SystemSettingVo {
+    //选宿舍缴费设置
+    @ApiModelProperty(value = "选宿舍缴费设置集合")
+    private List<PaySettingVo> psvs;
+
+    //宿舍开放比例设置
+    @ApiModelProperty(value = "宿舍开放比例设置集合")
+    private List<OpenSettingVo> osvs;
+
+    @ApiModelProperty(value = "每天限制车位数")
+    private Integer carNum;
+
+    //到站时间段设置
+    @ApiModelProperty(value = "到站时间段设置集合")
+    private List<ArriveSettingVo> asvs;
+
+    @ApiModelProperty(value = "联系电话")
+    private String phone;
+
+    @ApiModelProperty(value = "安全告知")
+    private String safetyNotice;
+
+    @ApiModelProperty(value = "基本信息核对")
+    private String basicVerification;
+
+    @ApiModelProperty(value = "家庭信息填报")
+    private String familyInfo;
+
+    @ApiModelProperty(value = "到校信息填报")
+    private String arriveSchool;
+
+    @ApiModelProperty(value = "未缴费在线选宿舍")
+    private String chooseDormitory;
+
+    @ApiModelProperty(value = "未缴费车牌预约")
+    private String carOrder;
+
+}