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