智慧保安后台管理-外网项目备份
Administrator
2022-03-01 539102799d858a428ff6c6e1ad12b208d01b1750
考试打卡接口修改
10 files modified
430 ■■■■ changed files
src/main/java/org/springblade/modules/attendance/controller/AttendanceController.java 337 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/attendance/entity/Attendance.java 45 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/attendance/mapper/AttendanceMapper.java 4 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/attendance/mapper/AttendanceMapper.xml 14 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/attendance/service/IAttendanceService.java 4 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/attendance/service/impl/AttendanceServiceImpl.java 6 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/attendance/vo/AttendanceVO.java 13 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/attendance/wrapper/AttendanceWrapper.java 2 ●●● patch | view | raw | blame | history
src/main/resources/application-test.yml 4 ●●●● patch | view | raw | blame | history
src/main/resources/application.yml 1 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/attendance/controller/AttendanceController.java
@@ -1,5 +1,6 @@
package org.springblade.modules.attendance.controller;
import bsh.ParseException;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.Api;
@@ -18,12 +19,16 @@
import org.springblade.modules.attendance.service.IAttendanceService;
import org.springblade.modules.attendance.vo.AttendanceVO;
import org.springblade.modules.attendance.wrapper.AttendanceWrapper;
import org.springblade.modules.system.entity.DictBiz;
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.service.IDictBizService;
import org.springblade.modules.system.service.IUserService;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
/**
@@ -44,7 +49,7 @@
    private final IDictBizService iDictBizService;
    private final IUserService iUserService;
    private final IUserService userService;
    /**
     * 详情
@@ -98,169 +103,173 @@
//    }
//    /**
//     * 新增
//     */
//    @PostMapping("/AppSave")
//    @ApiOperationSupport(order = 4)
//    @ApiOperation(value = "新增", notes = "传入attendance")
//    public R AppSave(@Valid Attendance attendance, HttpServletResponse response) {
//        response.setHeader("Access-Control-Allow-Origin", "*");
//        response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
//        response.setHeader("Access-Control-Allow-Credentials", "true");
//        Enclosure enclosure = new Enclosure();
//        enclosure.setAnumber(attendance.getNumber());
//        //查询当前处警人员的电子围栏信息
//        Boolean onArea = iEnclosureService.isOnArea(attendance.getJd(),attendance.getWd(),enclosure);
//        //判断是否在所在区域打卡,返回数据
//        if (onArea) {
//            //查询当前考勤人员的部门信息
//            attendance.setDepartment(iUserService.selUserByCode(attendance.getNumber()).getDeptId());
//            //获取当前日期是礼拜几
//            attendance.setWeek(new SimpleDateFormat("EEEE").format(new Date()));
//            //获取打卡时间标准
//            List<DictBiz> dictBizList = iDictBizService.getList("attendanceStandard");
//            //定义打卡时间标准,上午,下午
//            StringBuilder forenoon = new StringBuilder();
//            StringBuilder afternoon = new StringBuilder();
//            String format = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
//            for (DictBiz dictBiz : dictBizList) {
//                if (dictBiz.getDictValue().contains("上午")) {
//                    forenoon = forenoon.append(dictBiz.getDictKey());
//                }
//                if (dictBiz.getDictValue().contains("下午")) {
//                    afternoon = afternoon.append(dictBiz.getDictKey());
//                }
//            }
//            //上午打卡时间标准
//            String forenoonWorkTime = format + " " + forenoon.toString().split("-")[0] + ":00";
//            String forenoonOfDutyTime = format + " " + forenoon.toString().split("-")[1] + ":00";
//            //下午打卡时间标准
//            String afternoonWorkTime = format + " " + afternoon.toString().split("-")[0] + ":00";
//            String afternoonOfDutyTime = format + " " + afternoon.toString().split("-")[1] + ":00";
//            //判断打卡时间
//            try {
//                long time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(attendance.getClockTime()).getTime();
//
//                //判断上午上班之前半小时前打卡为无效打卡
//                if (time-(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(forenoonWorkTime).getTime()-30*60*1000)<0){
//                    attendance.setClocktype("0");
//                    attendance.setAttendancetype("4");
//                    return R.status(attendanceService.save(attendance));
//                }
//
//                //上午上班半小时前到上班时间打卡为正常打卡
//                if (time-(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(forenoonWorkTime).getTime()-30*60*1000)>=0
//                    && time-new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(forenoonWorkTime).getTime()<=0) {
//                    attendance.setClocktype("0");
//                    attendance.setAttendancetype("0");
//                    return R.status(attendanceService.save(attendance));
//                }
//
//                //上午上班后到上班下班前打卡为正常打卡
//                if (time-new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(forenoonWorkTime).getTime()>0
//                    && time-new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(forenoonOfDutyTime).getTime()<0) {
//                    //查询当前时间之前当前考勤人员的最新的一条考勤数据
//                    Attendance attendanceNow = attendanceService.selAttendanceNewNow(attendance.getNumber());
//                    if (null!=attendanceNow){
//                        if (attendanceNow.getAttendancetype().equals("0") || attendanceNow.getClocktype().equals("1")) {
//                            //下班早退
//                            attendance.setClocktype("1");
//                            attendance.setAttendancetype("2");
//                        }
//                        if (attendanceNow.getAttendancetype().equals("4")){
//                            //上班迟到
//                            attendance.setClocktype("0");
//                            attendance.setAttendancetype("1");
//                        }
//                    }else {
//                        //上班迟到
//                        attendance.setClocktype("0");
//                        attendance.setAttendancetype("1");
//                    }
//                    return R.status(attendanceService.save(attendance));
//                }
//
//                //正常下班时间-下班半小时后
//                if (time-new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(forenoonOfDutyTime).getTime()>=0
//                    && time-(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(forenoonOfDutyTime).getTime()+30*60*1000)<=0){
//                    //正常下班打卡
//                    attendance.setClocktype("1");
//                    attendance.setAttendancetype("0");
//                    return R.status(attendanceService.save(attendance));
//                }
//
//                //上午下班半小时后-下午上班之前半小時打卡为无效打卡
//                if (time-(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(afternoonWorkTime).getTime()-30*60*1000)<0
//                    && time-(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(forenoonOfDutyTime).getTime()+30*60*1000)>0){
//                    //无效打卡
//                    attendance.setClocktype("0");
//                    attendance.setAttendancetype("4");
//                    return R.status(attendanceService.save(attendance));
//                }
//
//                //下午上班之前半小時-下午上班时间之前打卡为下午正常上班打卡
//                if (time-(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(afternoonWorkTime).getTime()-30*60*1000)>=0
//                    && time-new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(afternoonWorkTime).getTime()<=0){
//                    //下午正常打卡
//                    attendance.setClocktype("0");
//                    attendance.setAttendancetype("0");
//                    return R.status(attendanceService.save(attendance));
//                }
//
//                //下午上班之后到下午下班之前
//                if (time-new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(afternoonWorkTime).getTime()>0
//                    && time-new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(afternoonOfDutyTime).getTime()<0){
//                    //查询当前时间之前当前考勤人员的最新的一条考勤数据
//                    Attendance attendanceNow = attendanceService.selAttendanceNewNow(attendance.getNumber());
//                    if (null!=attendanceNow){
//                        if (attendanceNow.getAttendancetype().equals("0") && attendanceNow.getClocktype().equals("0")) {
//                            //下班早退
//                            attendance.setClocktype("1");
//                            attendance.setAttendancetype("2");
//                        }
//                        if (attendanceNow.getClocktype().equals("1")) {
//                            //下班早退
//                            attendance.setClocktype("1");
//                            attendance.setAttendancetype("2");
//                        }
//                        if (attendanceNow.getAttendancetype().equals("4")){
//                            //上班迟到
//                            attendance.setClocktype("0");
//                            attendance.setAttendancetype("1");
//                        }
//                    }else {
//                        //上班迟到
//                        attendance.setClocktype("0");
//                        attendance.setAttendancetype("1");
//                    }
//                    return R.status(attendanceService.save(attendance));
//                }
//
//                //正常打下午下班卡
//                if (time-new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(afternoonOfDutyTime).getTime()>=0
//                    && time-(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(afternoonOfDutyTime).getTime()+30*60*1000)<=0
//                    ){
//                    //下午正常下班打卡
//                    attendance.setClocktype("1");
//                    attendance.setAttendancetype("0");
//                    return R.status(attendanceService.save(attendance));
//                }
//
//                //打卡时间超过下午下班打卡时间后的半小时为无效打卡
//                if (time-(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(afternoonOfDutyTime).getTime()+30*60*1000)>0){
//                    //下午下班打卡无效
//                    attendance.setClocktype("1");
//                    attendance.setAttendancetype("4");
//                    return R.status(attendanceService.save(attendance));
//                }
//
//            } catch (ParseException e) {
//                e.printStackTrace();
//            }
//        }
//        return R.status(false);
//    }
    /**
     * 打卡(洪城义警app)
     * @param response
     * @param attendance
     * @return
     */
    @PostMapping("/AppSave")
    public R AppSave(@Valid AttendanceVO attendance, HttpServletResponse response) {
        response.setHeader("Access-Control-Allow-Origin", "*");
        response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
        response.setHeader("Access-Control-Allow-Credentials", "true");
        //先查询用户信息
        User user = new User();
        user.setCardid(attendance.getIdCardNo());
        user.setStatus(1);
        user.setIsDeleted(0);
        User user1 = userService.getOne(Condition.getQueryWrapper(user));
        if (null!=user1) {
            attendance.setUserId(user1.getId());
            attendance.setClockTime(new Date());
            //查询当前考勤人员的部门信息
            attendance.setDeptId(Long.parseLong(user1.getDeptId()));
            //获取当前日期是礼拜几
            attendance.setWeek(new SimpleDateFormat("EEEE").format(new Date()));
            //获取打卡时间标准
            List<DictBiz> dictBizList = iDictBizService.getList("attendanceStandard");
            //定义打卡时间标准,上午,下午
            StringBuilder forenoon = new StringBuilder();
            StringBuilder afternoon = new StringBuilder();
            String format = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
            for (DictBiz dictBiz : dictBizList) {
                if (dictBiz.getDictValue().contains("上午")) {
                    forenoon = forenoon.append(dictBiz.getDictKey());
                }
                if (dictBiz.getDictValue().contains("下午")) {
                    afternoon = afternoon.append(dictBiz.getDictKey());
                }
            }
            //上午打卡时间标准
            String forenoonWorkTime = format + " " + forenoon.toString().split("-")[0] + ":00";
            String forenoonOfDutyTime = format + " " + forenoon.toString().split("-")[1] + ":00";
            //下午打卡时间标准
            String afternoonWorkTime = format + " " + afternoon.toString().split("-")[0] + ":00";
            String afternoonOfDutyTime = format + " " + afternoon.toString().split("-")[1] + ":00";
            //判断打卡时间
            try {
                long time = attendance.getClockTime().getTime();
                //判断上午上班之前半小时前打卡为无效打卡
                if (time - (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(forenoonWorkTime).getTime() - 30 * 60 * 1000) < 0) {
                    attendance.setClockType(1);
                    attendance.setAttendanceType(5);
                    return R.status(attendanceService.save(attendance));
                }
                //上午上班半小时前到上班时间打卡为正常打卡
                if (time - (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(forenoonWorkTime).getTime() - 30 * 60 * 1000) >= 0
                    && time - new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(forenoonWorkTime).getTime() <= 0) {
                    attendance.setClockType(1);
                    attendance.setAttendanceType(1);
                    return R.status(attendanceService.save(attendance));
                }
                //上午上班后到上班下班前打卡为正常打卡
                if (time - new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(forenoonWorkTime).getTime() > 0
                    && time - new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(forenoonOfDutyTime).getTime() < 0) {
                    //查询当前时间之前当前考勤人员的最新的一条考勤数据
                    Attendance attendanceNow = attendanceService.selAttendanceNewNow(attendance.getUserId());
                    if (null != attendanceNow) {
                        if (attendanceNow.getAttendanceType().equals(1) || attendanceNow.getClockType().equals(2)) {
                            //下班早退
                            attendance.setClockType(2);
                            attendance.setAttendanceType(3);
                        }
                        if (attendanceNow.getAttendanceType().equals(5)) {
                            //上班迟到
                            attendance.setClockType(1);
                            attendance.setAttendanceType(2);
                        }
                    } else {
                        //上班迟到
                        attendance.setClockType(1);
                        attendance.setAttendanceType(2);
                    }
                    return R.status(attendanceService.save(attendance));
                }
                //正常下班时间-下班半小时后
                if (time - new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(forenoonOfDutyTime).getTime() >= 0
                    && time - (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(forenoonOfDutyTime).getTime() + 30 * 60 * 1000) <= 0) {
                    //正常下班打卡
                    attendance.setClockType(2);
                    attendance.setAttendanceType(1);
                    return R.status(attendanceService.save(attendance));
                }
                //上午下班半小时后-下午上班之前半小時打卡为无效打卡
                if (time - (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(afternoonWorkTime).getTime() - 30 * 60 * 1000) < 0
                    && time - (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(forenoonOfDutyTime).getTime() + 30 * 60 * 1000) > 0) {
                    //无效打卡
                    attendance.setClockType(1);
                    attendance.setAttendanceType(5);
                    return R.status(attendanceService.save(attendance));
                }
                //下午上班之前半小時-下午上班时间之前打卡为下午正常上班打卡
                if (time - (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(afternoonWorkTime).getTime() - 30 * 60 * 1000) >= 0
                    && time - new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(afternoonWorkTime).getTime() <= 0) {
                    //下午正常打卡
                    attendance.setClockType(1);
                    attendance.setAttendanceType(1);
                    return R.status(attendanceService.save(attendance));
                }
                //下午上班之后到下午下班之前
                if (time - new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(afternoonWorkTime).getTime() > 0
                    && time - new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(afternoonOfDutyTime).getTime() < 0) {
                    //查询当前时间之前当前考勤人员的最新的一条考勤数据
                    Attendance attendanceNow = attendanceService.selAttendanceNewNow(attendance.getUserId());
                    if (null != attendanceNow) {
                        if (attendanceNow.getAttendanceType().equals(1) && attendanceNow.getClockType().equals(1)) {
                            //下班早退
                            attendance.setClockType(2);
                            attendance.setAttendanceType(3);
                        }
                        if (attendanceNow.getClockType().equals(2)) {
                            //下班早退
                            attendance.setClockType(2);
                            attendance.setAttendanceType(3);
                        }
                        if (attendanceNow.getAttendanceType().equals(5)) {
                            //上班迟到
                            attendance.setClockType(1);
                            attendance.setAttendanceType(2);
                        }
                    } else {
                        //上班迟到
                        attendance.setClockType(1);
                        attendance.setAttendanceType(2);
                    }
                    return R.status(attendanceService.save(attendance));
                }
                //正常打下午下班卡
                if (time - new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(afternoonOfDutyTime).getTime() >= 0
                    && time - (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(afternoonOfDutyTime).getTime() + 30 * 60 * 1000) <= 0
                ) {
                    //下午正常下班打卡
                    attendance.setClockType(2);
                    attendance.setAttendanceType(1);
                    return R.status(attendanceService.save(attendance));
                }
                //打卡时间超过下午下班打卡时间后的半小时为无效打卡
                if (time - (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(afternoonOfDutyTime).getTime() + 30 * 60 * 1000) > 0) {
                    //下午下班打卡无效
                    attendance.setClockType(2);
                    attendance.setAttendanceType(5);
                    return R.status(attendanceService.save(attendance));
                }
            } catch (java.text.ParseException e) {
                e.printStackTrace();
            }
        }
        return R.status(false);
    }
    /**
     * 修改
src/main/java/org/springblade/modules/attendance/entity/Attendance.java
@@ -2,11 +2,14 @@
package org.springblade.modules.attendance.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
 * 考勤打卡实体类
@@ -16,27 +19,25 @@
 */
@Data
@TableName("sys_attendance")
@ApiModel(value = "Attendance对象", description = "Attendance对象")
public class Attendance implements Serializable {
    private static final long serialVersionUID = 1L;
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 雪花算法,非自增
     */
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;
    /**
    * 姓名
    * 用户id
    */
    private String name;
    /**
    * 编号
    */
    private String number;
    private Long userId;
    /**
    * 部门
    * 部门id
    */
    private String department;
    private Long deptId;
    /**
    * 天气
@@ -47,7 +48,10 @@
    /**
    * 打卡时间
    */
    private String clockTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date clockTime;
    /**
    * 经度
    */
@@ -59,21 +63,24 @@
    private String wd;
    /**
    * 打卡类型 0:上班 1:下班
    * 打卡类型 1:上班 2:下班
    */
    private String clocktype;
    private Integer clockType;
    /**
    * 考勤类型 0:正常 1:迟到 2:早退 3:外勤
    * 考勤类型 1:正常 2:迟到 3:早退 4:外勤
    */
    private String attendancetype;
    private Integer attendanceType;
    /**
     * 星期
     */
    private String week;
    /**
     * 地址
     */
    private String address;
    @TableLogic
    private Integer isDeleted;
}
src/main/java/org/springblade/modules/attendance/mapper/AttendanceMapper.java
@@ -59,8 +59,8 @@
    /**
     * 查询当前时间之前最新的一条数据
     * @param number 考勤人员编号
     * @param userId 考勤人员编号
     * @return
     */
    Attendance selAttendanceNewNow(String number);
    Attendance selAttendanceNewNow(Long userId);
}
src/main/java/org/springblade/modules/attendance/mapper/AttendanceMapper.xml
@@ -61,7 +61,7 @@
            where
        number = #{number}
            and
        to_days(now())=to_days(clockTime)
        to_days(now())=to_days(clock_time)
            and
        is_deleted=0
    </select>
@@ -69,13 +69,11 @@
    <!--查询当前时间之前最新的一条数据-->
    <select id="selAttendanceNewNow" resultType="org.springblade.modules.attendance.entity.Attendance">
        select * from sys_attendance
            where
        number = #{number}
                    and
        to_days(now())=to_days(clockTime)
            and
        is_deleted=0
            order by clockTime desc
        where
        user_id = #{userId}
        and
        to_days(now())=to_days(clock_time)
        order by clock_time desc
        limit 1
    </select>
src/main/java/org/springblade/modules/attendance/service/IAttendanceService.java
@@ -56,8 +56,8 @@
    /**
     * 查询当前时间之前最新的一条数据
     * @param number 考勤人员编号
     * @param userId 考勤人员编号
     * @return
     */
    Attendance selAttendanceNewNow(String number);
    Attendance selAttendanceNewNow(Long userId);
}
src/main/java/org/springblade/modules/attendance/service/impl/AttendanceServiceImpl.java
@@ -69,11 +69,11 @@
    /**
     * 查询当前时间之前最新的一条数据
     * @param number 考勤人员编号
     * @param userId 考勤人员编号
     * @return
     */
    @Override
    public Attendance selAttendanceNewNow(String number) {
        return baseMapper.selAttendanceNewNow(number);
    public Attendance selAttendanceNewNow(Long userId) {
        return baseMapper.selAttendanceNewNow(userId);
    }
}
src/main/java/org/springblade/modules/attendance/vo/AttendanceVO.java
@@ -34,11 +34,24 @@
    private static final long serialVersionUID = 1L;
    /**
     * 姓名
     */
    private String realName;
    /**
     * 部门名
     */
    private String deptName;
    /**
     * 身份证号码
     */
    private String idCardNo;
    private  String beginTime;
    private  String endTime;
src/main/java/org/springblade/modules/attendance/wrapper/AttendanceWrapper.java
@@ -41,7 +41,7 @@
    @Override
    public AttendanceVO entityVO(Attendance attendance) {
        AttendanceVO attendanceVO = Objects.requireNonNull(BeanUtil.copy(attendance, AttendanceVO.class));
        List<String> deptName = SysCache.getDeptNames(attendance.getDepartment());
        List<String> deptName = SysCache.getDeptNames(attendance.getDeptId().toString());
        attendanceVO.setDeptName(Func.join(deptName));
        return attendanceVO;
    }
src/main/resources/application-test.yml
@@ -45,9 +45,9 @@
  ftpUserName: arsn
  ftpPassword: 123456
  ftpPath: anbao/
  localPath: D:\\anbao\\
  localPath: E:\\anbao\\
  ip: http://223.82.109.183:2081
  jsonUrl: D:\\anbao\\
  jsonUrl: E:\\anbao\\
  username: root
  password: ZHba@0112
  qfqkBaseApiUrl : http://192.168.0.198:83
src/main/resources/application.yml
@@ -222,6 +222,7 @@
      - /simulateExamRecord/beginExam
      - /examSubjectChoices/getSubjectResultInfoBySimulate
      - /blade-user/getNotUpdatePwdInfo
      - /attendance/AppSave
    #授权认证配置
    auth: