From 727c30f11ede5b3c82ead6e09e5e077c0e7519f1 Mon Sep 17 00:00:00 2001
From: “djh” <“3298565835@qq.com”>
Date: 星期三, 05 二月 2025 13:02:21 +0800
Subject: [PATCH] Merge branch 'dev-20250116' of https://sinanoaq.cn:8888/r/swspkmas into dev-20250116

---
 exam-system/src/main/java/com/gkhy/exam/pay/entity/NonCoalPayStudent.java                  |   14 +
 exam-system/src/main/java/com/gkhy/exam/pay/controller/NonCoalPayController.java           |   17 +
 exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/addForm/ExamSiteAddForm.java     |   66 ++--
 exam-system/src/main/resources/mapper/pay/NonCoalPayMapper.xml                             |   10 
 ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java                       |    6 
 exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalPayDetailH5RepDto.java          |    4 
 exam-system/src/main/java/com/gkhy/exam/pay/service/NonCoalPayStudentService.java          |    4 
 exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalPayStudentServiceImpl.java |   49 +++
 exam-system/src/main/resources/mapper/pay/NonCoalPayStudentMapper.xml                      |    7 
 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java                |  269 +++++++++++-----------
 exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalStuRep.java                     |    8 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java           |  102 ++-----
 exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/ExamSiteServiceImpl.java  |  137 +++++-----
 13 files changed, 380 insertions(+), 313 deletions(-)

diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/addForm/ExamSiteAddForm.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/addForm/ExamSiteAddForm.java
index 11ca06b..9b5b6c7 100644
--- a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/addForm/ExamSiteAddForm.java
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/addForm/ExamSiteAddForm.java
@@ -15,37 +15,37 @@
 @Data
 public class ExamSiteAddForm {
 
-	//考点名称
-	@ApiModelProperty(value = "考点名称",required = true)
-	@NotEmpty(message = "请输入考点名称")
-	private String siteName;
-	//地区id
-	@ApiModelProperty(value = "地区id",required = true)
-	@NotNull(message = "请选择地区")
-	private Long districtId;
-	//地址
-	@ApiModelProperty(value = "地址")
-	private String address;
-	//负责人
-	@ApiModelProperty(value = "负责人")
-	private String header;
-	//负责人电话
-	@ApiModelProperty(value = "负责人电话")
-	private String hphone;
-	//联系人
-	@ApiModelProperty(value = "联系人")
-	private String contact;
-	//联系人电话
-	@ApiModelProperty(value = "联系人电话")
-	private String cphone;
-	//是否为煤矿:0为非,1是
-	@ApiModelProperty(value = "是否为煤矿",required = true,notes = "0为非,1是")
-	@NotNull(message = "请选择是否为煤矿")
-	private Byte isCm;
-	//备注
-	@ApiModelProperty(value = "备注")
-	private String remark;
-	@ApiModelProperty(value = "机构id",required = true)
-	@NotNull(message = "请选择机构")
-	private Long institutionId;
+    //考点名称
+    @ApiModelProperty(value = "考点名称", required = true)
+    @NotEmpty(message = "请输入考点名称")
+    private String siteName;
+    //地区id
+    @ApiModelProperty(value = "地区id", required = true)
+    @NotNull(message = "请选择地区")
+    private Long districtId;
+    //地址
+    @ApiModelProperty(value = "地址")
+    private String address;
+    //负责人
+    @ApiModelProperty(value = "负责人")
+    private String header;
+    //负责人电话
+    @ApiModelProperty(value = "负责人电话")
+    private String hphone;
+    //联系人
+    @ApiModelProperty(value = "联系人")
+    private String contact;
+    //联系人电话
+    @ApiModelProperty(value = "联系人电话")
+    private String cphone;
+    //是否为煤矿:0为非,1是
+    @ApiModelProperty(value = "是否为煤矿", required = true, notes = "0为非,1是")
+    @NotNull(message = "请选择是否为煤矿")
+    private Byte isCm;
+    //备注
+    @ApiModelProperty(value = "备注")
+    private String remark;
+    @ApiModelProperty(value = "机构id", required = false)
+//	@NotNull(message = "请选择机构")
+    private Long institutionId;
 }
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/ExamSiteServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/ExamSiteServiceImpl.java
index 36c8bdc..7e1947c 100644
--- a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/ExamSiteServiceImpl.java
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/ExamSiteServiceImpl.java
@@ -4,7 +4,6 @@
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gkhy.exam.noncoalmine.entity.ExamSite;
-import com.gkhy.exam.noncoalmine.entity.TrainingInstitution;
 import com.gkhy.exam.noncoalmine.mapper.ExamSiteMapper;
 import com.gkhy.exam.noncoalmine.mapper.TrainingInstitutionMapper;
 import com.gkhy.exam.noncoalmine.model.addForm.ExamSiteAddForm;
@@ -20,6 +19,7 @@
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -31,75 +31,78 @@
  */
 @Service("examSiteService")
 public class ExamSiteServiceImpl extends ServiceImpl<ExamSiteMapper, ExamSite> implements ExamSiteService {
-	@Autowired
-	private SysDistrictService districtService;
-	@Autowired
-	private ExamSiteMapper examSiteMapper;
-	@Autowired
-	private TrainingInstitutionMapper institutionMapper;
-	@Override
-	public List<ExamSiteVO> listByPage(ExamSiteQuery query) {
-		SysUser user = SecurityUtils.getLoginUser().getUser();
-		if(StringUtils.isEmpty(query.getDistrictCode())){
-			//传入区划为空
-			if(!user.isAdmin(user.getUserId())){
-				//非超管
-				List<SysDistrict> districtList = districtService
-						.selectAll()
-						.stream()
-						.filter(sysDistrict -> sysDistrict.getId().equals(user.getDistrictId()))
-						.collect(Collectors.toList());
-				if(districtList.size() > 0){
-					SysDistrict sysDistrict = districtList.get(0);
-					query.setDistrictCode(sysDistrict.getCode());
-				}
-			}
-		}
-		List<ExamSiteVO> trainingInstitutionVOS = examSiteMapper.listByPage(query);
-		trainingInstitutionVOS.forEach(item->{
-			TrainingInstitution trainingInstitution = institutionMapper.selectById(item.getInstitutionId());
-			item.setInstitutionName(trainingInstitution != null ? trainingInstitution.getInstitutionName() : "");
-		});
-		return trainingInstitutionVOS;
-	}
+    @Autowired
+    private SysDistrictService districtService;
+    @Autowired
+    private ExamSiteMapper examSiteMapper;
+    @Autowired
+    private TrainingInstitutionMapper institutionMapper;
 
-	/**
-	 * 新增
-	 * @param addForm
-	 * @return
-	 */
-	@Override
-	public int add(ExamSiteAddForm addForm) {
-		ExamSite examSite = new ExamSite();
-		BeanUtils.copyProperties(addForm,examSite);
-		examSite.setDelFlag((byte)0);
-		return baseMapper.insert(examSite);
-	}
+    @Override
+    public List<ExamSiteVO> listByPage(ExamSiteQuery query) {
+        SysUser user = SecurityUtils.getLoginUser().getUser();
+        if (StringUtils.isEmpty(query.getDistrictCode())) {
+            //传入区划为空
+            if (!user.isAdmin(user.getUserId())) {
+                //非超管
+                List<SysDistrict> districtList = districtService
+                        .selectAll()
+                        .stream()
+                        .filter(sysDistrict -> sysDistrict.getId().equals(user.getDistrictId()))
+                        .collect(Collectors.toList());
+                if (districtList.size() > 0) {
+                    SysDistrict sysDistrict = districtList.get(0);
+                    query.setDistrictCode(sysDistrict.getCode());
+                }
+            }
+        }
+        List<ExamSiteVO> trainingInstitutionVOS = examSiteMapper.listByPage(query);
+//		trainingInstitutionVOS.forEach(item->{
+//			TrainingInstitution trainingInstitution = institutionMapper.selectById(item.getInstitutionId());
+//			item.setInstitutionName(trainingInstitution != null ? trainingInstitution.getInstitutionName() : "");
+//		});
+        return trainingInstitutionVOS;
+    }
 
-	/**
-	 * 修改
-	 * @param modForm
-	 * @return
-	 */
-	@Override
-	public int mod(ExamSiteModForm modForm) {
-		ExamSite examSite = new ExamSite();
-		BeanUtils.copyProperties(modForm,examSite);
-		return baseMapper.updateById(examSite);
-	}
+    /**
+     * 新增
+     *
+     * @param addForm
+     * @return
+     */
+    @Override
+    public int add(ExamSiteAddForm addForm) {
+        ExamSite examSite = new ExamSite();
+        BeanUtils.copyProperties(addForm, examSite);
+        examSite.setDelFlag((byte) 0);
+        return baseMapper.insert(examSite);
+    }
 
-	@Override
-	public void delBatch(List<Long> siteIds) {
-		UpdateWrapper<ExamSite> updateWrapper = new UpdateWrapper<>();
-		updateWrapper.in("site_id",siteIds)
-				.set("del_flag",(byte)2);
-		this.update(updateWrapper);
-	}
+    /**
+     * 修改
+     *
+     * @param modForm
+     * @return
+     */
+    @Override
+    public int mod(ExamSiteModForm modForm) {
+        ExamSite examSite = new ExamSite();
+        BeanUtils.copyProperties(modForm, examSite);
+        return baseMapper.updateById(examSite);
+    }
 
-	@Override
-	public List<ExamSite> getSiteByInstitutionId(Long institutionId) {
-		List<ExamSite> examSites = baseMapper.selectList(new LambdaQueryWrapper<ExamSite>().eq(ExamSite::getDelFlag, (byte) 0).eq(ExamSite::getInstitutionId, institutionId));
-		return examSites;
-	}
+    @Override
+    public void delBatch(List<Long> siteIds) {
+        UpdateWrapper<ExamSite> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.in("site_id", siteIds)
+                .set("del_flag", (byte) 2);
+        this.update(updateWrapper);
+    }
+
+    @Override
+    public List<ExamSite> getSiteByInstitutionId(Long institutionId) {
+        List<ExamSite> examSites = baseMapper.selectList(new LambdaQueryWrapper<ExamSite>().eq(ExamSite::getDelFlag, (byte) 0).eq(ExamSite::getInstitutionId, institutionId));
+        return examSites;
+    }
 }
 
diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/controller/NonCoalPayController.java b/exam-system/src/main/java/com/gkhy/exam/pay/controller/NonCoalPayController.java
index 8d11c9a..7d54b50 100644
--- a/exam-system/src/main/java/com/gkhy/exam/pay/controller/NonCoalPayController.java
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/controller/NonCoalPayController.java
@@ -20,7 +20,6 @@
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -90,7 +89,7 @@
      * 新增非煤缴费管理
      */
     @PostMapping("/add")
-    @PreAuthorize("@ss.hasPermi('noncoal:nonpay:add')")
+    //@PreAuthorize("@ss.hasPermi('noncoal:nonpay:add')")
     @ApiOperation(value = "新增非煤缴费管理")
     public AjaxResult add(@Validated @RequestBody NonCoalPayReqDto nonCoalPay) {
         return toAjax(nonCoalPayService.insertNonCoalPay(nonCoalPay));
@@ -206,4 +205,18 @@
         return success(nonCoalPayStudentService.sendOrder(id, payType));
     }
 
+
+    @PostMapping("/queryOrder")
+    @ApiOperation(value = "查询是否生成缴费订单")
+    @Anonymous
+    @RepeatSubmit
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", dataTypeClass = Long.class, value = "个人缴费学员数据id,团队缴费数据id", required = true),
+            @ApiImplicitParam(name = "payType", dataTypeClass = String.class, value = "1个人2是团队", required = true),
+    })
+    public AjaxResult queryOrder(@RequestParam("id") Long id, @RequestParam("payType") String payType) {
+        return success(nonCoalPayStudentService.sendOrder(id, payType));
+    }
+
+
 }
diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalPayDetailH5RepDto.java b/exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalPayDetailH5RepDto.java
index c1dd6b4..5c5ec8e 100644
--- a/exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalPayDetailH5RepDto.java
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalPayDetailH5RepDto.java
@@ -34,8 +34,8 @@
     @ApiModelProperty("缴费状态0否1是")
     private Integer payStatus;
 
-//    @ApiModelProperty("待定财政缴费状态0未缴费1缴费中2完成缴费")
-//    private Long govPayStatus;
+    @ApiModelProperty("待定财政缴费状态0未缴费1缴费中2完成缴费")
+    private Long govPayStatus;
 
     @ApiModelProperty("缴费凭证")
     private String fileData;
diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalStuRep.java b/exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalStuRep.java
index b42ba0d..0d1f7ab 100644
--- a/exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalStuRep.java
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalStuRep.java
@@ -1,9 +1,11 @@
 package com.gkhy.exam.pay.dto.rep;
 
+import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 @Data
+@ApiModel(value = "缴费学员相关信息")
 public class NonCoalStuRep {
 
     private Long id;
@@ -43,4 +45,10 @@
 
     @ApiModelProperty("财政订单编号")
     private String orderId;
+
+    @ApiModelProperty("订单编号")
+    private String orderNo;
+
+    @ApiModelProperty("财政订单状态0未生成1生成中2已生成")
+    private Long govPayStatus;
 }
diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/entity/NonCoalPayStudent.java b/exam-system/src/main/java/com/gkhy/exam/pay/entity/NonCoalPayStudent.java
index 9d1ce1a..9500fad 100644
--- a/exam-system/src/main/java/com/gkhy/exam/pay/entity/NonCoalPayStudent.java
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/entity/NonCoalPayStudent.java
@@ -100,6 +100,12 @@
     @ApiModelProperty("缴费时间")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date payTime;
+
+    /**
+     * 财政订单状态0未生成1生成中2未生成
+     */
+    @ApiModelProperty("财政订单状态0未生成1生成中2未生成")
+    private Integer govPayStatus;
     /**
      * 删除标志(0代表存在2代表删除)
      */
@@ -235,4 +241,12 @@
     public void setPayTime(Date payTime) {
         this.payTime = payTime;
     }
+
+    public Integer getGovPayStatus() {
+        return govPayStatus;
+    }
+
+    public void setGovPayStatus(Integer govPayStatus) {
+        this.govPayStatus = govPayStatus;
+    }
 }
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/service/NonCoalPayStudentService.java b/exam-system/src/main/java/com/gkhy/exam/pay/service/NonCoalPayStudentService.java
index 5c2ee94..726d57e 100644
--- a/exam-system/src/main/java/com/gkhy/exam/pay/service/NonCoalPayStudentService.java
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/service/NonCoalPayStudentService.java
@@ -1,6 +1,7 @@
 package com.gkhy.exam.pay.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.exam.pay.dto.rep.NonCoalStuRep;
 import com.gkhy.exam.pay.dto.req.NonCoalPayStuImport;
 import com.gkhy.exam.pay.dto.req.NonCoalPayStudentReqDto;
 import com.gkhy.exam.pay.entity.NonCoalPayStudent;
@@ -33,6 +34,9 @@
 
     public String sendOrder(Long dataId, String payType);
 
+
+    public NonCoalStuRep queryOrder(Long dataId, String payType);
+
     /**
      * 新增【请填写功能名称】
      *
diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalPayStudentServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalPayStudentServiceImpl.java
index ace1294..c6df39a 100644
--- a/exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalPayStudentServiceImpl.java
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalPayStudentServiceImpl.java
@@ -81,6 +81,29 @@
             if (nonCoalStuRep.getPayStatus() == 1) {
                 throw new BusinessException(this.getClass(), ResultConstants.BUSINESS_ERROR, "已缴费请勿重复缴费");
             }
+            //财政缴款码已生成了
+            if (nonCoalStuRep.getGovPayStatus() == 2) {
+                return nonCoalStuRep.getOrderId();
+            }
+            //财政缴款码未生成
+            if (nonCoalStuRep.getPayStatus() == 0) {
+                if ("1".equals(payType)) {
+                    baseMapper.update(null, Wrappers.<NonCoalPayStudent>lambdaUpdate()
+                            .set(NonCoalPayStudent::getOrderNo, orderNo)
+                            .set(NonCoalPayStudent::getGovPayStatus, 1)
+                            .eq(NonCoalPayStudent::getId, dataId).eq(NonCoalPayStudent::getDelFlag, 0)
+                            .eq(NonCoalPayStudent::getPayType, payType).eq(NonCoalPayStudent::getPayStatus, 0));
+                } else {
+                    //团体缴费
+                    baseMapper.update(null, Wrappers.<NonCoalPayStudent>lambdaUpdate()
+                            .set(NonCoalPayStudent::getOrderNo, orderNo)
+                            .set(NonCoalPayStudent::getGovPayStatus, 1)
+                            .eq(NonCoalPayStudent::getNonCoalPayId, dataId).eq(NonCoalPayStudent::getDelFlag, 0)
+                            .eq(NonCoalPayStudent::getPayType, payType).eq(NonCoalPayStudent::getPayStatus, 0));
+                }
+            } else {
+                orderNo = nonCoalStuRep.getOrderNo();
+            }
             List<NonCoalCateRep> nonCoalPayCategoryList = nonCoalPayOrder.getNonCoalPayCategoryList();
 
             if (StringUtils.isEmpty(nonCoalPayCategoryList)) {
@@ -101,7 +124,7 @@
                         if ("1".equals(payType)) {
                             baseMapper.update(null, Wrappers.<NonCoalPayStudent>lambdaUpdate()
                                     .set(NonCoalPayStudent::getOrderId, orderId)
-                                    .set(NonCoalPayStudent::getOrderNo, orderNo)
+//                                    .set(NonCoalPayStudent::getOrderNo, orderNo)
                                     .set(NonCoalPayStudent::getPayCode, billNo)
                                     .eq(NonCoalPayStudent::getId, dataId).eq(NonCoalPayStudent::getDelFlag, 0)
                                     .eq(NonCoalPayStudent::getPayType, payType).eq(NonCoalPayStudent::getPayStatus, 0));
@@ -109,7 +132,7 @@
                             //团体缴费
                             baseMapper.update(null, Wrappers.<NonCoalPayStudent>lambdaUpdate()
                                     .set(NonCoalPayStudent::getOrderId, orderId)
-                                    .set(NonCoalPayStudent::getOrderNo, orderNo)
+//                                    .set(NonCoalPayStudent::getOrderNo, orderNo)
                                     .set(NonCoalPayStudent::getPayCode, billNo)
                                     .eq(NonCoalPayStudent::getNonCoalPayId, dataId).eq(NonCoalPayStudent::getDelFlag, 0)
                                     .eq(NonCoalPayStudent::getPayType, payType).eq(NonCoalPayStudent::getPayStatus, 0));
@@ -133,6 +156,28 @@
         return null;
     }
 
+    @Override
+    public NonCoalStuRep queryOrder(Long dataId, String payType) {
+        List<NonCoalPayOrder> nonCoalPayOrders = nonCoalPayMapper.selectNonCoalPayOrderByParam(dataId, Long.valueOf(payType));
+        if (StringUtils.isEmpty(nonCoalPayOrders)) {
+            throw new BusinessException(this.getClass(), ResultConstants.BUSINESS_ERROR, "未找到相关缴费信息");
+        }
+        NonCoalPayOrder nonCoalPayOrder = nonCoalPayOrders.get(0);
+
+        List<NonCoalStuRep> nonCoalStuList = nonCoalPayOrder.getNonCoalStuList();
+
+        if (StringUtils.isEmpty(nonCoalStuList)) {
+            throw new BusinessException(this.getClass(), ResultConstants.BUSINESS_ERROR, "未找到需要缴费的学员");
+        }
+        NonCoalStuRep nonCoalStuRep = nonCoalStuList.get(0);
+
+        if (nonCoalStuRep.getPayStatus() == 1) {
+            throw new BusinessException(this.getClass(), ResultConstants.BUSINESS_ERROR, "已缴费请勿重复缴费");
+        }
+
+        return nonCoalStuRep;
+    }
+
     private PayReqData dealData(NonCoalPayOrder nonCoalPayOrder, String orderNo, String payType) {
         List<NonCoalStuRep> nonCoalStuList = nonCoalPayOrder.getNonCoalStuList();
         List<NonCoalCateRep> nonCoalPayCategoryList = nonCoalPayOrder.getNonCoalPayCategoryList();
diff --git a/exam-system/src/main/resources/mapper/pay/NonCoalPayMapper.xml b/exam-system/src/main/resources/mapper/pay/NonCoalPayMapper.xml
index 3ef4f09..87f4d9c 100644
--- a/exam-system/src/main/resources/mapper/pay/NonCoalPayMapper.xml
+++ b/exam-system/src/main/resources/mapper/pay/NonCoalPayMapper.xml
@@ -59,7 +59,7 @@
         <result property="idCard" column="id_card"/>
         <result property="studentName" column="student_name"/>
         <result property="payStatus" column="pay_status"/>
-        <!--        <result property="govPayStatus" column="gov_pay_status"/>-->
+        <result property="govPayStatus" column="gov_pay_status"/>
         <result property="fileData" column="file_data"/>
         <result property="nonCoalPayType" column="non_coal_pay_type"/>
         <result property="orderId" column="order_id"/>
@@ -184,7 +184,7 @@
                t.id_card,
                t.name     as student_name,
                t.pay_status,
---                t.gov_pay_status,
+               t.gov_pay_status,
                t.file_data,
                t.pay_type as non_coal_pay_type,
                t.order_id,
@@ -234,6 +234,8 @@
         <result property="studentName" column="student_name"/>
         <result property="payStatus" column="pay_status"/>
         <result property="orderId" column="order_id"/>
+        <result property="orderNo" column="order_no"/>
+        <result property="govPayStatus" column="gov_pay_status"/>
     </resultMap>
 
 
@@ -260,7 +262,9 @@
         t.id_card,
         t.name as student_name,
         t.pay_status,
-        t.order_id
+        t.order_id,
+        t.gov_pay_status,
+        t.order_no
         from non_coal_pay a
         inner join non_coal_pay_student t on t.non_coal_pay_id = a.id and t.del_flag = 0 and t.pay_status = 0 and
         t.order_id is null
diff --git a/exam-system/src/main/resources/mapper/pay/NonCoalPayStudentMapper.xml b/exam-system/src/main/resources/mapper/pay/NonCoalPayStudentMapper.xml
index 06d44bf..b15f948 100644
--- a/exam-system/src/main/resources/mapper/pay/NonCoalPayStudentMapper.xml
+++ b/exam-system/src/main/resources/mapper/pay/NonCoalPayStudentMapper.xml
@@ -23,6 +23,7 @@
         <result property="orderId" column="order_id"/>
         <result property="fileData" column="file_data"/>
         <result property="payTime" column="pay_time"/>
+        <result property="govPayStatus" column="gov_pay_status"/>
     </resultMap>
 
     <sql id="selectNonCoalPayStudentVo">
@@ -43,7 +44,8 @@
                order_no,
                order_id,
                file_data,
-               pay_time
+               pay_time,
+               gov_pay_status
         from non_coal_pay_student
     </sql>
 
@@ -77,6 +79,7 @@
             <if test="idCard != null and idCard != ''">id_card,</if>
             <if test="phone != null and phone != ''">phone,</if>
             <if test="sex != null">sex,</if>
+            <if test="govPayStatus!=null">gov_pay_status,</if>
             <if test="payCode != null">pay_code,</if>
             <if test="payType != null">pay_type,</if>
             <if test="orderNo != null and orderNo != '' ">order_no,</if>
@@ -94,6 +97,7 @@
             <if test="idCard != null and idCard != ''">#{idCard},</if>
             <if test="phone != null and phone != ''">#{phone},</if>
             <if test="sex != null">#{sex},</if>
+            <if test="govPayStatus!=null">#{govPayStatus},</if>
             <if test="payCode != null">#{payCode},</if>
             <if test="payType != null">#{payType},</if>
             <if test="orderNo != null and orderNo != '' ">#{orderNo},</if>
@@ -123,6 +127,7 @@
             <if test="sex != null">sex = #{sex},</if>
             <if test="orderNo != null and orderNo != ''">order_no = #{orderNo},</if>
             <if test="orderId != null and orderId != ''">order_id = #{orderId},</if>
+            <if test="govPayStatus!=null">gov_pay_status=#{govPayStatus},</if>
             <if test="fileData != null and fileData != ''">file_data = #{fileData},</if>
             <if test="payTime != null">pay_time = #{payTime},</if>
             <if test="payType != null">pay_type = #{payType},</if>
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
index 256367b..c16a962 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
@@ -1,21 +1,5 @@
 package com.ruoyi.web.controller.system;
 
-import java.util.List;
-import java.util.stream.Collectors;
-import javax.servlet.http.HttpServletResponse;
-import org.apache.commons.lang3.ArrayUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.multipart.MultipartFile;
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
@@ -31,16 +15,25 @@
 import com.ruoyi.system.service.ISysPostService;
 import com.ruoyi.system.service.ISysRoleService;
 import com.ruoyi.system.service.ISysUserService;
+import org.apache.commons.lang3.ArrayUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 用户信息
- * 
+ *
  * @author ruoyi
  */
 @RestController
 @RequestMapping("/system/user")
-public class SysUserController extends BaseController
-{
+public class SysUserController extends BaseController {
     @Autowired
     private ISysUserService userService;
 
@@ -58,8 +51,7 @@
      */
     @PreAuthorize("@ss.hasPermi('system:user:list')")
     @GetMapping("/list")
-    public TableDataInfo list(SysUser user)
-    {
+    public TableDataInfo list(SysUser user) {
         startPage();
         List<SysUser> list = userService.selectUserList(user);
         return getDataTable(list);
@@ -68,8 +60,7 @@
     @Log(title = "用户管理", businessType = BusinessType.EXPORT)
     @PreAuthorize("@ss.hasPermi('system:user:export')")
     @PostMapping("/export")
-    public void export(HttpServletResponse response, SysUser user)
-    {
+    public void export(HttpServletResponse response, SysUser user) {
         List<SysUser> list = userService.selectUserList(user);
         ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
         util.exportExcel(response, list, "用户数据");
@@ -78,8 +69,7 @@
     @Log(title = "用户管理", businessType = BusinessType.IMPORT)
     @PreAuthorize("@ss.hasPermi('system:user:import')")
     @PostMapping("/importData")
-    public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception
-    {
+    public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception {
         ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
         List<SysUser> userList = util.importExcel(file.getInputStream());
         String operName = getUsername();
@@ -88,8 +78,7 @@
     }
 
     @PostMapping("/importTemplate")
-    public void importTemplate(HttpServletResponse response)
-    {
+    public void importTemplate(HttpServletResponse response) {
         ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
         util.importTemplateExcel(response, "用户数据");
     }
@@ -98,16 +87,14 @@
      * 根据用户编号获取详细信息
      */
     @PreAuthorize("@ss.hasPermi('system:user:query')")
-    @GetMapping(value = { "/", "/{userId}" })
-    public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId)
-    {
+    @GetMapping(value = {"/", "/{userId}"})
+    public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId) {
         userService.checkUserDataScope(userId);
         AjaxResult ajax = AjaxResult.success();
         List<SysRole> roles = roleService.selectRoleAll();
         ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList()));
         ajax.put("posts", postService.selectPostAll());
-        if (StringUtils.isNotNull(userId))
-        {
+        if (StringUtils.isNotNull(userId)) {
             SysUser sysUser = userService.selectUserById(userId);
             ajax.put(AjaxResult.DATA_TAG, sysUser);
             ajax.put("postIds", postService.selectPostListByUserId(userId));
@@ -122,18 +109,12 @@
     @PreAuthorize("@ss.hasPermi('system:user:add')")
     @Log(title = "用户管理", businessType = BusinessType.INSERT)
     @PostMapping
-    public AjaxResult add(@Validated @RequestBody SysUser user)
-    {
-        if (!userService.checkUserNameUnique(user))
-        {
+    public AjaxResult add(@Validated @RequestBody SysUser user) {
+        if (!userService.checkUserNameUnique(user)) {
             return error("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
-        }
-        else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user))
-        {
+        } else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
             return error("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
-        }
-        else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user))
-        {
+        } else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) {
             return error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在");
         }
         user.setCreateBy(getUsername());
@@ -147,20 +128,14 @@
     @PreAuthorize("@ss.hasPermi('system:user:edit')")
     @Log(title = "用户管理", businessType = BusinessType.UPDATE)
     @PutMapping
-    public AjaxResult edit(@Validated @RequestBody SysUser user)
-    {
+    public AjaxResult edit(@Validated @RequestBody SysUser user) {
         userService.checkUserAllowed(user);
         userService.checkUserDataScope(user.getUserId());
-        if (!userService.checkUserNameUnique(user))
-        {
+        if (!userService.checkUserNameUnique(user)) {
             return error("修改用户'" + user.getUserName() + "'失败,登录账号已存在");
-        }
-        else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user))
-        {
+        } else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
             return error("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
-        }
-        else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user))
-        {
+        } else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) {
             return error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
         }
         user.setUpdateBy(getUsername());
@@ -173,10 +148,8 @@
     @PreAuthorize("@ss.hasPermi('system:user:remove')")
     @Log(title = "用户管理", businessType = BusinessType.DELETE)
     @DeleteMapping("/{userIds}")
-    public AjaxResult remove(@PathVariable Long[] userIds)
-    {
-        if (ArrayUtils.contains(userIds, getUserId()))
-        {
+    public AjaxResult remove(@PathVariable Long[] userIds) {
+        if (ArrayUtils.contains(userIds, getUserId())) {
             return error("当前用户不能删除");
         }
         return toAjax(userService.deleteUserByIds(userIds));
@@ -188,8 +161,7 @@
     @PreAuthorize("@ss.hasPermi('system:user:resetPwd')")
     @Log(title = "用户管理", businessType = BusinessType.UPDATE)
     @PutMapping("/resetPwd")
-    public AjaxResult resetPwd(@RequestBody SysUser user)
-    {
+    public AjaxResult resetPwd(@RequestBody SysUser user) {
         userService.checkUserAllowed(user);
         userService.checkUserDataScope(user.getUserId());
         user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
@@ -203,8 +175,7 @@
     @PreAuthorize("@ss.hasPermi('system:user:edit')")
     @Log(title = "用户管理", businessType = BusinessType.UPDATE)
     @PutMapping("/changeStatus")
-    public AjaxResult changeStatus(@RequestBody SysUser user)
-    {
+    public AjaxResult changeStatus(@RequestBody SysUser user) {
         userService.checkUserAllowed(user);
         userService.checkUserDataScope(user.getUserId());
         user.setUpdateBy(getUsername());
@@ -216,8 +187,7 @@
      */
     @PreAuthorize("@ss.hasPermi('system:user:query')")
     @GetMapping("/authRole/{userId}")
-    public AjaxResult authRole(@PathVariable("userId") Long userId)
-    {
+    public AjaxResult authRole(@PathVariable("userId") Long userId) {
         AjaxResult ajax = AjaxResult.success();
         SysUser user = userService.selectUserById(userId);
         List<SysRole> roles = roleService.selectRolesByUserId(userId);
@@ -232,8 +202,7 @@
     @PreAuthorize("@ss.hasPermi('system:user:edit')")
     @Log(title = "用户管理", businessType = BusinessType.GRANT)
     @PutMapping("/authRole")
-    public AjaxResult insertAuthRole(Long userId, Long[] roleIds)
-    {
+    public AjaxResult insertAuthRole(Long userId, Long[] roleIds) {
         userService.checkUserDataScope(userId);
         userService.insertUserAuth(userId, roleIds);
         return success();
@@ -242,10 +211,9 @@
     /**
      * 获取部门树列表
      */
-    @PreAuthorize("@ss.hasPermi('system:user:list')")
+    //@PreAuthorize("@ss.hasPermi('system:user:list')")
     @GetMapping("/deptTree")
-    public AjaxResult deptTree(SysDept dept)
-    {
+    public AjaxResult deptTree(SysDept dept) {
         return success(deptService.selectDeptTreeList(dept));
     }
 }
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
index 32e5ee7..fe685f9 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
@@ -1,35 +1,41 @@
 package com.ruoyi.common.core.domain.entity;
 
-import java.util.Date;
-import java.util.List;
-import javax.validation.constraints.*;
-
-import com.ruoyi.common.core.domain.model.SysDistrictVo;
-import com.ruoyi.common.core.domain.model.TrainingInstitutionVo;
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
 import com.ruoyi.common.annotation.Excel;
 import com.ruoyi.common.annotation.Excel.ColumnType;
 import com.ruoyi.common.annotation.Excel.Type;
 import com.ruoyi.common.annotation.Excels;
 import com.ruoyi.common.core.domain.BaseEntity;
+import com.ruoyi.common.core.domain.model.SysDistrictVo;
+import com.ruoyi.common.core.domain.model.TrainingInstitutionVo;
 import com.ruoyi.common.xss.Xss;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+import javax.validation.constraints.Email;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Size;
+import java.util.Date;
+import java.util.List;
 
 /**
  * 用户对象 sys_user
- * 
+ *
  * @author ruoyi
  */
-public class SysUser extends BaseEntity
-{
+public class SysUser extends BaseEntity {
     private static final long serialVersionUID = 1L;
 
-    /** 用户ID */
+    /**
+     * 用户ID
+     */
     @Excel(name = "用户序号", cellType = ColumnType.NUMERIC, prompt = "用户编号")
     private Long userId;
 
-    /** 部门ID */
+    /**
+     * 部门ID
+     */
     @Excel(name = "部门编号", type = Type.IMPORT)
+
     private Long deptId;
     /**
      * 区域
@@ -38,70 +44,102 @@
 
     private String unit;
 
-    /** 用户账号 */
+    /**
+     * 用户账号
+     */
     @Excel(name = "登录名称")
     private String userName;
 
-    /** 用户昵称 */
+    /**
+     * 用户昵称
+     */
     @Excel(name = "用户名称")
     private String nickName;
 
-    /** 用户邮箱 */
+    /**
+     * 用户邮箱
+     */
     @Excel(name = "用户邮箱")
     private String email;
 
-    /** 手机号码 */
+    /**
+     * 手机号码
+     */
     @Excel(name = "手机号码")
     private String phonenumber;
 
-    /** 用户性别 */
+    /**
+     * 用户性别
+     */
     @Excel(name = "用户性别", readConverterExp = "0=男,1=女,2=未知")
     private String sex;
 
-    /** 用户头像 */
+    /**
+     * 用户头像
+     */
     private String avatar;
 
-    /** 密码 */
+    /**
+     * 密码
+     */
     private String password;
 
-    /** 帐号状态(0正常 1停用) */
+    /**
+     * 帐号状态(0正常 1停用)
+     */
     @Excel(name = "帐号状态", readConverterExp = "0=正常,1=停用")
     private String status;
 
-    /** 删除标志(0代表存在 2代表删除) */
+    /**
+     * 删除标志(0代表存在 2代表删除)
+     */
     private String delFlag;
 
-    /** 最后登录IP */
+    /**
+     * 最后登录IP
+     */
     @Excel(name = "最后登录IP", type = Type.EXPORT)
     private String loginIp;
 
-    /** 最后登录时间 */
+    /**
+     * 最后登录时间
+     */
     @Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Type.EXPORT)
     private Date loginDate;
 
-    /** 部门对象 */
+    /**
+     * 部门对象
+     */
     @Excels({
-        @Excel(name = "部门名称", targetAttr = "deptName", type = Type.EXPORT),
-        @Excel(name = "部门负责人", targetAttr = "leader", type = Type.EXPORT)
+            @Excel(name = "部门名称", targetAttr = "deptName", type = Type.EXPORT),
+            @Excel(name = "部门负责人", targetAttr = "leader", type = Type.EXPORT)
     })
     private SysDept dept;
 
-    /** 角色对象 */
+    /**
+     * 角色对象
+     */
     private List<SysRole> roles;
 
-    /** 角色组 */
+    /**
+     * 角色组
+     */
     private Long[] roleIds;
 
-    /** 岗位组 */
+    /**
+     * 岗位组
+     */
     private Long[] postIds;
 
-    /** 角色ID */
+    /**
+     * 角色ID
+     */
     private Long roleId;
 
     /**
      * 身份证
      */
-    private String  idCard;
+    private String idCard;
     /***
      * 机构ids
      */
@@ -111,211 +149,172 @@
 
     private List<TrainingInstitutionVo> institutions;
 
-    public SysUser()
-    {
+    public SysUser() {
 
     }
 
-    public SysUser(Long userId)
-    {
+    public SysUser(Long userId) {
         this.userId = userId;
     }
 
-    public Long getUserId()
-    {
+    public Long getUserId() {
         return userId;
     }
 
-    public void setUserId(Long userId)
-    {
+    public void setUserId(Long userId) {
         this.userId = userId;
     }
 
-    public boolean isAdmin()
-    {
+    public boolean isAdmin() {
         return isAdmin(this.userId);
     }
 
-    public static boolean isAdmin(Long userId)
-    {
+    public static boolean isAdmin(Long userId) {
         return userId != null && 1L == userId;
     }
 
-    public Long getDeptId()
-    {
+    //@NotNull(message = "部门未选择")
+    public Long getDeptId() {
         return deptId;
     }
 
-    public void setDeptId(Long deptId)
-    {
+    public void setDeptId(Long deptId) {
         this.deptId = deptId;
     }
 
     @Xss(message = "用户昵称不能包含脚本字符")
     @Size(min = 0, max = 30, message = "用户昵称长度不能超过30个字符")
-    public String getNickName()
-    {
+    public String getNickName() {
         return nickName;
     }
 
-    public void setNickName(String nickName)
-    {
+    public void setNickName(String nickName) {
         this.nickName = nickName;
     }
 
     @Xss(message = "用户账号不能包含脚本字符")
     @NotBlank(message = "用户账号不能为空")
     @Size(min = 0, max = 30, message = "用户账号长度不能超过30个字符")
-    public String getUserName()
-    {
+    public String getUserName() {
         return userName;
     }
 
-    public void setUserName(String userName)
-    {
+    public void setUserName(String userName) {
         this.userName = userName;
     }
 
     @Email(message = "邮箱格式不正确")
     @Size(min = 0, max = 50, message = "邮箱长度不能超过50个字符")
-    public String getEmail()
-    {
+    public String getEmail() {
         return email;
     }
 
-    public void setEmail(String email)
-    {
+    public void setEmail(String email) {
         this.email = email;
     }
 
     @Size(min = 0, max = 11, message = "手机号码长度不能超过11个字符")
-    public String getPhonenumber()
-    {
+    public String getPhonenumber() {
         return phonenumber;
     }
 
-    public void setPhonenumber(String phonenumber)
-    {
+    public void setPhonenumber(String phonenumber) {
         this.phonenumber = phonenumber;
     }
 
-    public String getSex()
-    {
+    public String getSex() {
         return sex;
     }
 
-    public void setSex(String sex)
-    {
+    public void setSex(String sex) {
         this.sex = sex;
     }
 
-    public String getAvatar()
-    {
+    public String getAvatar() {
         return avatar;
     }
 
-    public void setAvatar(String avatar)
-    {
+    public void setAvatar(String avatar) {
         this.avatar = avatar;
     }
 
-    public String getPassword()
-    {
+    public String getPassword() {
         return password;
     }
 
-    public void setPassword(String password)
-    {
+    public void setPassword(String password) {
         this.password = password;
     }
 
-    public String getStatus()
-    {
+    public String getStatus() {
         return status;
     }
 
-    public void setStatus(String status)
-    {
+    public void setStatus(String status) {
         this.status = status;
     }
 
-    public String getDelFlag()
-    {
+    public String getDelFlag() {
         return delFlag;
     }
 
-    public void setDelFlag(String delFlag)
-    {
+    public void setDelFlag(String delFlag) {
         this.delFlag = delFlag;
     }
 
-    public String getLoginIp()
-    {
+    public String getLoginIp() {
         return loginIp;
     }
 
-    public void setLoginIp(String loginIp)
-    {
+    public void setLoginIp(String loginIp) {
         this.loginIp = loginIp;
     }
 
-    public Date getLoginDate()
-    {
+    public Date getLoginDate() {
         return loginDate;
     }
 
-    public void setLoginDate(Date loginDate)
-    {
+    public void setLoginDate(Date loginDate) {
         this.loginDate = loginDate;
     }
 
-    public SysDept getDept()
-    {
+    public SysDept getDept() {
         return dept;
     }
 
-    public void setDept(SysDept dept)
-    {
+    public void setDept(SysDept dept) {
         this.dept = dept;
     }
 
-    public List<SysRole> getRoles()
-    {
+    public List<SysRole> getRoles() {
         return roles;
     }
 
-    public void setRoles(List<SysRole> roles)
-    {
+    public void setRoles(List<SysRole> roles) {
         this.roles = roles;
     }
 
-    public Long[] getRoleIds()
-    {
+    public Long[] getRoleIds() {
         return roleIds;
     }
 
-    public void setRoleIds(Long[] roleIds)
-    {
+    public void setRoleIds(Long[] roleIds) {
         this.roleIds = roleIds;
     }
 
-    public Long[] getPostIds()
-    {
+    public Long[] getPostIds() {
         return postIds;
     }
 
-    public void setPostIds(Long[] postIds)
-    {
+    public void setPostIds(Long[] postIds) {
         this.postIds = postIds;
     }
 
-    public Long getRoleId()
-    {
+    public Long getRoleId() {
         return roleId;
     }
 
-    public void setRoleId(Long roleId)
-    {
+    public void setRoleId(Long roleId) {
         this.roleId = roleId;
     }
 
@@ -369,28 +368,28 @@
 
     @Override
     public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("userId", getUserId())
-            .append("deptId", getDeptId())
-            .append("unit", getUnit())
-            .append("districtId", getDistrictId())
-            .append("userName", getUserName())
-            .append("nickName", getNickName())
-            .append("email", getEmail())
-            .append("phonenumber", getPhonenumber())
-            .append("sex", getSex())
-            .append("avatar", getAvatar())
-            .append("password", getPassword())
-            .append("status", getStatus())
-            .append("delFlag", getDelFlag())
-            .append("loginIp", getLoginIp())
-            .append("loginDate", getLoginDate())
-            .append("createBy", getCreateBy())
-            .append("createTime", getCreateTime())
-            .append("updateBy", getUpdateBy())
-            .append("updateTime", getUpdateTime())
-            .append("remark", getRemark())
-            .append("dept", getDept())
-            .toString();
+        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+                .append("userId", getUserId())
+                .append("deptId", getDeptId())
+                .append("unit", getUnit())
+                .append("districtId", getDistrictId())
+                .append("userName", getUserName())
+                .append("nickName", getNickName())
+                .append("email", getEmail())
+                .append("phonenumber", getPhonenumber())
+                .append("sex", getSex())
+                .append("avatar", getAvatar())
+                .append("password", getPassword())
+                .append("status", getStatus())
+                .append("delFlag", getDelFlag())
+                .append("loginIp", getLoginIp())
+                .append("loginDate", getLoginDate())
+                .append("createBy", getCreateBy())
+                .append("createTime", getCreateTime())
+                .append("updateBy", getUpdateBy())
+                .append("updateTime", getUpdateTime())
+                .append("remark", getRemark())
+                .append("dept", getDept())
+                .toString();
     }
 }
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java
index 48bcc09..5bbcbc4 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java
@@ -40,7 +40,11 @@
      **/
     public static String getDeptDistrictCode() {
         try {
-            return getLoginUser().getUser().getDept().getDistrictCode();
+            if (getLoginUser().getUser().getDept() == null) {
+                return "";
+            }
+            String districtCode = getLoginUser().getUser().getDept().getDistrictCode();
+            return StringUtils.isEmpty(districtCode) ? "" : districtCode;
         } catch (Exception e) {
             throw new ServiceException("获取部门区域异常", HttpStatus.UNAUTHORIZED);
         }

--
Gitblit v1.9.2