1
This commit is contained in:
@@ -49,6 +49,14 @@ public interface SysRoleMapper
|
||||
*/
|
||||
public SysRole selectRoleById(Long roleId);
|
||||
|
||||
/**
|
||||
* 根据角色名称查询角色id
|
||||
* @param roleName
|
||||
* @return
|
||||
*/
|
||||
public Long selectRoleIdByName(String roleName);
|
||||
|
||||
|
||||
/**
|
||||
* 根据用户ID查询角色
|
||||
*
|
||||
|
||||
@@ -134,4 +134,11 @@ public interface SysUserMapper
|
||||
public SysUser checkEmailUnique(String email);
|
||||
|
||||
List<SysUser> selectUserListByIds(@Param("idList") List<Long> idList);
|
||||
|
||||
/**
|
||||
* 根据身份证号查询用户信息
|
||||
* @param identityNo
|
||||
* @return
|
||||
*/
|
||||
SysUser selectUserByIdCard(@Param("idCard")String identityNo);
|
||||
}
|
||||
|
||||
@@ -104,6 +104,16 @@ public class CaseAffiliate extends BaseEntity {
|
||||
|
||||
/** 送达电子邮件 */
|
||||
private String sendEmail;
|
||||
private String applicantAgentUserId;
|
||||
|
||||
public String getApplicantAgentUserId() {
|
||||
return applicantAgentUserId;
|
||||
}
|
||||
|
||||
public void setApplicantAgentUserId(String applicantAgentUserId) {
|
||||
this.applicantAgentUserId = applicantAgentUserId;
|
||||
}
|
||||
|
||||
/** 快递单号 */
|
||||
private String trackNum;
|
||||
|
||||
|
||||
@@ -340,6 +340,30 @@ public class CaseApplication extends BaseEntity {
|
||||
*/
|
||||
private String userId;
|
||||
private List<Long> deptIds;
|
||||
/**
|
||||
* 部门长状态
|
||||
*/
|
||||
private List<Integer> deptHeadStatus;
|
||||
/**
|
||||
* 财务状态
|
||||
*/
|
||||
private Integer financeStatus;
|
||||
|
||||
public Integer getFinanceStatus() {
|
||||
return financeStatus;
|
||||
}
|
||||
|
||||
public void setFinanceStatus(Integer financeStatus) {
|
||||
this.financeStatus = financeStatus;
|
||||
}
|
||||
|
||||
public List<Integer> getDeptHeadStatus() {
|
||||
return deptHeadStatus;
|
||||
}
|
||||
|
||||
public void setDeptHeadStatus(List<Integer> deptHeadStatus) {
|
||||
this.deptHeadStatus = deptHeadStatus;
|
||||
}
|
||||
|
||||
public List<Long> getDeptIds() {
|
||||
return deptIds;
|
||||
|
||||
+20
-1
@@ -3,9 +3,10 @@ package com.ruoyi.wisdomarbitrate.domain;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
public class IdentityAuthentication extends BaseEntity {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@@ -15,6 +16,20 @@ public class IdentityAuthentication extends BaseEntity {
|
||||
private String name;
|
||||
/** 身份证号 */
|
||||
private String identityNo;
|
||||
/**
|
||||
* 短信验证码
|
||||
*/
|
||||
private String VerifyCode;
|
||||
private String passWord;
|
||||
private String phone;
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
private String email;
|
||||
/**
|
||||
* 身份证地址
|
||||
*/
|
||||
private String idAddress;
|
||||
/** 认证时间 */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date certificationTime;
|
||||
@@ -44,6 +59,10 @@ public class IdentityAuthentication extends BaseEntity {
|
||||
private Long userId;
|
||||
/** 用户账号 */
|
||||
private String userName;
|
||||
/**
|
||||
* 用户昵称
|
||||
*/
|
||||
private String nickName;
|
||||
|
||||
/** EID商户id */
|
||||
private String merchantId;
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.ruoyi.wisdomarbitrate.domain.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author wangqiong
|
||||
* @description 待办数量
|
||||
* @date 2023-10-17 09:48
|
||||
*/
|
||||
@Data
|
||||
public class ToDoCount {
|
||||
|
||||
private int caseApply; // 立案申请
|
||||
private int caseApplyCheck; // 待立案审查
|
||||
private int caseApplyPay; // 待缴费
|
||||
private int caseApplyPayCheck; // 待缴费确认
|
||||
private int caseApplyEvidence; //待案件质证
|
||||
private int caseApplyGroupCheck; // 待组庭审核
|
||||
private int caseApplyGroupConfirm; // 待组庭确定
|
||||
// private int caseApplyGroupNotice;
|
||||
private int caseApplyArbitrateWay; // 待审核仲裁方式
|
||||
private int caseApplyGroupOnline; // 待开庭审理
|
||||
private int caseApplyGroupOffline; // 待书面审理
|
||||
private int caseApplyAward; // 待生成仲裁文书
|
||||
private int caseApplyAwardCheck; // 待核验仲裁文书
|
||||
private int caseApplyAwardConfirm; // 待审核仲裁文书
|
||||
private int caseApplyAwardSign; // 待仲裁文书签名
|
||||
private int caseApplyAwardSeal; // 待仲裁文书用印
|
||||
private int caseApplyAwardSend; // 待仲裁文书送达
|
||||
private int caseApplyStored; // 待案件归档
|
||||
private int caseApplyArchived; // 已归档
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
package com.ruoyi.wisdomarbitrate.domain.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.wisdomarbitrate.domain.Arbitrator;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 微信小程序用户注册登录
|
||||
*/
|
||||
@Data
|
||||
public class WeChatUserVO {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
private Long id;
|
||||
/**
|
||||
* 微信用户唯一标识
|
||||
*/
|
||||
private String openId;
|
||||
/**
|
||||
* 微信授权的code,用户登录凭证
|
||||
*/
|
||||
private String wxCode;
|
||||
|
||||
/**
|
||||
* 姓名
|
||||
*/
|
||||
@NotEmpty(message = "姓名不能为空")
|
||||
private String name;
|
||||
/** 身份证号 */
|
||||
@NotEmpty(message = "身份证号不能为空")
|
||||
private String identityNo;
|
||||
/** 认证时间 */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date certificationTime;
|
||||
/** 认证状态 */
|
||||
private Integer certificationStatus;
|
||||
private String password;
|
||||
/**
|
||||
* 电话
|
||||
*/
|
||||
@NotEmpty(message = "电话不能为空")
|
||||
private String phone;
|
||||
/**
|
||||
* 验证码
|
||||
*/
|
||||
private String verifyCode;
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
@NotEmpty(message = "邮箱不能为空")
|
||||
private String email;
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
private String createBy;
|
||||
private String updateBy;
|
||||
}
|
||||
+15
-1
@@ -4,6 +4,7 @@ import com.ruoyi.wisdomarbitrate.domain.Arbitrator;
|
||||
import com.ruoyi.wisdomarbitrate.domain.CaseAffiliate;
|
||||
import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
|
||||
import com.ruoyi.wisdomarbitrate.domain.dto.CaseConfirmPayDTO;
|
||||
import com.ruoyi.wisdomarbitrate.domain.vo.ToDoCount;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
@@ -43,7 +44,7 @@ public interface CaseApplicationMapper {
|
||||
|
||||
/**
|
||||
* 查询仲裁员根据案件id
|
||||
* @param arbitrator
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
String selectArbitratorList(@Param("id") String id);
|
||||
@@ -53,4 +54,17 @@ public interface CaseApplicationMapper {
|
||||
* @param payDTO
|
||||
*/
|
||||
void updatePayType(CaseConfirmPayDTO payDTO);
|
||||
|
||||
/**
|
||||
* 查询部门长案件
|
||||
* @param caseApplication
|
||||
* @return
|
||||
*/
|
||||
List<CaseApplication> selectDeptHeadCaseApplicationList(@Param("caseApplication") CaseApplication caseApplication, @Param("statusList")List<Integer> caseStatusList);
|
||||
|
||||
ToDoCount selectAdminCaseToDoCount();
|
||||
|
||||
ToDoCount selectDeptHeadCaseToDoCount( @Param("statusList")List<Integer> caseStatusList);
|
||||
|
||||
ToDoCount selectTodoCountByRole(CaseApplication caseApplication);
|
||||
}
|
||||
|
||||
+1
-2
@@ -8,6 +8,5 @@ public interface IdentityAuthenticationMapper {
|
||||
IdentityAuthentication selectIdentityAuthentication(IdentityAuthentication identityAuthentication);
|
||||
|
||||
|
||||
|
||||
|
||||
void updateIdentityAuthentication(IdentityAuthentication ientityAuthentication);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.ruoyi.wisdomarbitrate.mapper;
|
||||
|
||||
import com.ruoyi.wisdomarbitrate.domain.vo.WeChatUserVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author wangqiong
|
||||
* @description 微信小程序用户注册登录
|
||||
* @date 2023-10-16 11:45
|
||||
*/
|
||||
@Repository
|
||||
public interface WeChatUserMapper {
|
||||
int insertUser(WeChatUserVO userVO);
|
||||
int updateUser(WeChatUserVO userVO);
|
||||
List<WeChatUserVO> selectIdentityAuthentication(WeChatUserVO userVO);
|
||||
|
||||
WeChatUserVO selectUserByOppenId(@Param("oppenId") String openId);
|
||||
}
|
||||
+8
@@ -6,11 +6,13 @@ import com.ruoyi.wisdomarbitrate.domain.ArbitrateRecord;
|
||||
import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
|
||||
import com.ruoyi.wisdomarbitrate.domain.SealSignRecord;
|
||||
import com.ruoyi.wisdomarbitrate.domain.vo.SendRoomNoMessageVO;
|
||||
import com.ruoyi.wisdomarbitrate.domain.vo.ToDoCount;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface ICaseApplicationService {
|
||||
List<CaseApplication> selectCaseApplicationList(CaseApplication caseApplication);
|
||||
List<CaseApplication> selectCaseApplicationListByRole(CaseApplication caseApplication);
|
||||
|
||||
|
||||
int insertcaseApplication(CaseApplication caseApplication);
|
||||
@@ -52,4 +54,10 @@ public interface ICaseApplicationService {
|
||||
AjaxResult creatTrialRecord(ArbitrateRecord arbitrateRecord);
|
||||
|
||||
CaseApplication selectSignSealUrl(CaseApplication caseApplication) throws EsignDemoException;
|
||||
|
||||
/**
|
||||
* 查询待办数量
|
||||
* @return
|
||||
*/
|
||||
ToDoCount selectToDoCount();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.ruoyi.wisdomarbitrate.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.wisdomarbitrate.domain.IdentityAuthentication;
|
||||
import com.ruoyi.wisdomarbitrate.domain.vo.WeChatUserVO;
|
||||
|
||||
/**
|
||||
* 微信小程序用户注册登录
|
||||
*/
|
||||
public interface WeChatUserService {
|
||||
|
||||
|
||||
String sendCode(WeChatUserVO userVO);
|
||||
|
||||
|
||||
AjaxResult registerUser(IdentityAuthentication ientityAuthentication);
|
||||
}
|
||||
+215
-37
@@ -13,6 +13,7 @@ import com.google.gson.JsonArray;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.ruoyi.common.annotation.DataScope;
|
||||
import com.ruoyi.common.constant.CaseApplicationConstants;
|
||||
import com.ruoyi.common.constant.Constants;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.domain.entity.*;
|
||||
|
||||
@@ -27,7 +28,11 @@ import com.ruoyi.common.utils.file.SaaSAPIFileUtils;
|
||||
import com.ruoyi.common.core.domain.entity.SysUser;
|
||||
import com.ruoyi.common.exception.EsignDemoException;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import com.ruoyi.system.domain.SysUserRole;
|
||||
import com.ruoyi.system.mapper.SysRoleMapper;
|
||||
import com.ruoyi.system.mapper.SysUserMapper;
|
||||
import com.ruoyi.system.mapper.SysUserRoleMapper;
|
||||
import com.ruoyi.wisdomarbitrate.domain.vo.ToDoCount;
|
||||
import com.ruoyi.wisdomarbitrate.utils.CaseLogUtils;
|
||||
import com.ruoyi.common.utils.bean.BeanUtils;
|
||||
import com.ruoyi.system.mapper.SysDeptMapper;
|
||||
@@ -79,6 +84,10 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
|
||||
@Autowired
|
||||
private SysUserMapper sysUserMapper;
|
||||
@Autowired
|
||||
private SysUserRoleMapper userRoleMapper;
|
||||
@Autowired
|
||||
private SysRoleMapper roleMapper;
|
||||
@Autowired
|
||||
private SealSignRecordMapper sealSignRecordMapper;
|
||||
@Autowired
|
||||
private CaseLogRecordMapper caseLogRecordMapper;
|
||||
@@ -98,41 +107,118 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
|
||||
* @return
|
||||
*/
|
||||
// @Override
|
||||
// public List<CaseApplication> selectCaseApplicationList(CaseApplication caseApplication) {
|
||||
// // 获取登录用户
|
||||
// LoginUser loginUser = getLoginUser();
|
||||
// SysUser user = loginUser.getUser();
|
||||
// Long userId = user.getUserId();
|
||||
// Long deptId = user.getDeptId();
|
||||
// List<SysRole> roles = user.getRoles();
|
||||
// // 查询登录人身份证号
|
||||
// SysUser sysUser = sysUserMapper.selectUserById(userId);
|
||||
// caseApplication.setIdCard(sysUser.getIdCard());
|
||||
// caseApplication.setUserId(String.valueOf(userId));
|
||||
// startPage();
|
||||
// for (SysRole role : roles) {
|
||||
// // 超级管理员和仲裁委(部门长)案件,可查看所有案件 √
|
||||
// if(role.getRoleName().equals("超级管理员")
|
||||
// ||role.getRoleName().equals("仲裁委")
|
||||
// ||role.getRoleName().equals("部门长")){
|
||||
// return caseApplicationMapper.selectAdminCaseApplicationList(caseApplication);
|
||||
// }
|
||||
// if(role.getRoleName().equals("法律顾问")){
|
||||
// // 查询角色有关的用户部门
|
||||
// List<Long> deptIds = sysDeptMapper.selectUserDeptListByRoleId(role.getRoleId());
|
||||
// caseApplication.setDeptIds(deptIds);
|
||||
// }
|
||||
// if(StrUtil.isEmpty(caseApplication.getNameId())&&role.getRoleName().equals("申请人")){
|
||||
// // 查询角色有关的用户部门
|
||||
// caseApplication.setNameId(String.valueOf(sysUser.getDeptId()));
|
||||
// }
|
||||
// }
|
||||
//
|
||||
//
|
||||
// // 根据条件查询申请人,被申请人,仲裁员,法律顾问案件
|
||||
// return caseApplicationMapper.selectCaseApplicationList(caseApplication);
|
||||
//
|
||||
// }
|
||||
public List<CaseApplication> selectCaseApplicationListByRole(CaseApplication caseApplication) {
|
||||
// 获取登录用户
|
||||
LoginUser loginUser = getLoginUser();
|
||||
SysUser user = loginUser.getUser();
|
||||
Long userId = user.getUserId();
|
||||
|
||||
// 查询登录人身份证号
|
||||
SysUser sysUser = sysUserMapper.selectUserById(userId);
|
||||
List<SysRole> roles = sysUser.getRoles();
|
||||
// 没有角色不能查看案件列表
|
||||
if(CollectionUtil.isEmpty(roles)){
|
||||
throw new ServiceException("该用户没有角色权限");
|
||||
}
|
||||
startPage();
|
||||
for (SysRole role : roles) {
|
||||
// 超级管理员和仲裁委(部门长)案件,可查看所有案件 √
|
||||
if(role.getRoleName().equals("超级管理员")
|
||||
){
|
||||
return caseApplicationMapper.selectAdminCaseApplicationList(caseApplication);
|
||||
}
|
||||
if(role.getRoleName().equals("仲裁委")
|
||||
||role.getRoleName().equals("部门长")){
|
||||
List<Integer> caseStatusList=new ArrayList<>();
|
||||
caseStatusList.add(CaseApplicationConstants.CONFIRMDED_PENDING_TRIAL);
|
||||
caseStatusList.add(CaseApplicationConstants.SIGN_ARBITRATION);
|
||||
caseStatusList.add(CaseApplicationConstants.ARBITRATED_SEAL);
|
||||
caseApplication.setDeptHeadStatus(caseStatusList);
|
||||
}
|
||||
if(role.getRoleName().equals("仲裁员")){
|
||||
caseApplication.setUserId(String.valueOf(userId));
|
||||
}
|
||||
if(role.getRoleName().equals("财务")){
|
||||
caseApplication.setFinanceStatus(CaseApplicationConstants.PENDING_PAYMENT_CONFIRM);
|
||||
}
|
||||
if(role.getRoleName().equals("法律顾问")){
|
||||
// 查询角色有关的用户部门
|
||||
List<Long> deptIds = sysDeptMapper.selectUserDeptListByRoleId(role.getRoleId());
|
||||
caseApplication.setDeptIds(deptIds);
|
||||
}
|
||||
if(StrUtil.isEmpty(caseApplication.getNameId())&&role.getRoleName().equals("申请人")){
|
||||
// 查询角色有关的用户部门
|
||||
caseApplication.setNameId(String.valueOf(sysUser.getDeptId()));
|
||||
}
|
||||
if(role.getRoleName().equals("被申请人")){
|
||||
//
|
||||
caseApplication.setIdCard(String.valueOf(sysUser.getIdCard()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 根据条件查询申请人,被申请人,仲裁员,法律顾问案件
|
||||
return caseApplicationMapper.selectCaseApplicationList(caseApplication);
|
||||
|
||||
}
|
||||
@Override
|
||||
public ToDoCount selectToDoCount() {
|
||||
|
||||
// 获取登录用户
|
||||
LoginUser loginUser = getLoginUser();
|
||||
SysUser user = loginUser.getUser();
|
||||
Long userId = user.getUserId();
|
||||
|
||||
// 查询登录人身份证号
|
||||
SysUser sysUser = sysUserMapper.selectUserById(userId);
|
||||
List<SysRole> roles = sysUser.getRoles();
|
||||
// 没有角色不能查看案件列表
|
||||
if(CollectionUtil.isEmpty(roles)){
|
||||
throw new ServiceException("该用户没有角色权限");
|
||||
}
|
||||
CaseApplication caseApplication = new CaseApplication();
|
||||
List<Integer> caseStatusList=new ArrayList<>();
|
||||
for (SysRole role : roles) {
|
||||
// 超级管理员和仲裁委(部门长)案件,可查看所有案件 √
|
||||
if(role.getRoleName().equals("超级管理员")
|
||||
){
|
||||
return caseApplicationMapper.selectAdminCaseToDoCount();
|
||||
}
|
||||
if(role.getRoleName().equals("仲裁委")
|
||||
||role.getRoleName().equals("部门长")){
|
||||
|
||||
caseStatusList.add(CaseApplicationConstants.CONFIRMDED_PENDING_TRIAL);
|
||||
caseStatusList.add(CaseApplicationConstants.SIGN_ARBITRATION);
|
||||
caseStatusList.add(CaseApplicationConstants.ARBITRATED_SEAL);
|
||||
caseApplication.setDeptHeadStatus(caseStatusList);
|
||||
}
|
||||
if(role.getRoleName().equals("仲裁员")){
|
||||
caseApplication.setUserId(String.valueOf(userId));
|
||||
}
|
||||
if(role.getRoleName().equals("财务")){
|
||||
caseApplication.setFinanceStatus(CaseApplicationConstants.PENDING_PAYMENT_CONFIRM);
|
||||
}
|
||||
if(role.getRoleName().equals("法律顾问")){
|
||||
// 查询角色有关的用户部门
|
||||
List<Long> deptIds = sysDeptMapper.selectUserDeptListByRoleId(role.getRoleId());
|
||||
caseApplication.setDeptIds(deptIds);
|
||||
}
|
||||
if(StrUtil.isEmpty(caseApplication.getNameId())&&role.getRoleName().equals("申请人")){
|
||||
// 查询角色有关的用户部门
|
||||
caseApplication.setNameId(String.valueOf(sysUser.getDeptId()));
|
||||
}
|
||||
if(role.getRoleName().equals("被申请人")){
|
||||
//
|
||||
caseApplication.setIdCard(String.valueOf(sysUser.getIdCard()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// 根据条件查询申请人,被申请人,仲裁员,法律顾问案件
|
||||
return caseApplicationMapper.selectTodoCountByRole(caseApplication);
|
||||
}
|
||||
@Override
|
||||
public List<CaseApplication> selectCaseApplicationList(CaseApplication caseApplication) {
|
||||
return caseApplicationMapper.selectAdminCaseApplicationList(caseApplication);
|
||||
@@ -188,6 +274,11 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
|
||||
caseAffiliate.setApplicationOrganName(caseAffiliate.getName());
|
||||
|
||||
}
|
||||
// 组装申请代理人信息
|
||||
String agentInfoFlag = buildAgentInfo(caseAffiliate);
|
||||
if(StrUtil.isNotEmpty(agentInfoFlag)){
|
||||
throw new ServiceException(agentInfoFlag);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,8 +366,14 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
|
||||
caseAffiliate.setApplicationOrganId(String.valueOf(dept.getDeptId()));
|
||||
|
||||
}
|
||||
String agentInfoFlag = buildAgentInfo(caseAffiliate);
|
||||
if(StrUtil.isNotEmpty(agentInfoFlag)){
|
||||
throw new ServiceException(agentInfoFlag);
|
||||
}
|
||||
|
||||
}
|
||||
caseAffiliateMapper.updataCaseAffiliate(caseAffiliate);
|
||||
|
||||
caseAffiliateMapper.updataCaseAffiliate(caseAffiliate);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -292,6 +389,68 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
|
||||
return rows;
|
||||
}
|
||||
|
||||
/**
|
||||
* 组装申请代理人信息
|
||||
* @param caseAffiliate
|
||||
*/
|
||||
private String buildAgentInfo(CaseAffiliate caseAffiliate) {
|
||||
if (caseAffiliate.getIdentityType()==1&&StrUtil.isNotEmpty(caseAffiliate.getNameAgent())) {
|
||||
// 查询申请人角色id
|
||||
Long roleId = roleMapper.selectRoleIdByName("申请人");
|
||||
// 组装申请机构代理人信息,用户表新增并且和部门关联
|
||||
// 根据代理人身份证去用户表查询,有修改,么有新增
|
||||
SysUser agentUser = sysUserMapper.selectUserByIdCard(caseAffiliate.getIdentityNumAgent());
|
||||
if (agentUser == null) {
|
||||
agentUser = new SysUser();
|
||||
agentUser.setIdCard(caseAffiliate.getIdentityNumAgent());
|
||||
agentUser.setNickName(caseAffiliate.getNameAgent());
|
||||
agentUser.setUserName(caseAffiliate.getIdentityNumAgent());
|
||||
agentUser.setPhonenumber(caseAffiliate.getContactTelphoneAgent());
|
||||
agentUser.setPassword(SecurityUtils.encryptPassword(Constants.DEFAULT_PASSWORD));
|
||||
agentUser.setDeptId(Long.valueOf(caseAffiliate.getApplicationOrganId()));
|
||||
int insertUserRow = sysUserMapper.insertUser(agentUser);
|
||||
// 新增角色为申请人
|
||||
ArrayList<SysUserRole> sysUserRoles = new ArrayList<>();
|
||||
SysUserRole sysUserRole = new SysUserRole();
|
||||
sysUserRole.setUserId(agentUser.getUserId());
|
||||
sysUserRole.setRoleId(roleId);
|
||||
sysUserRoles.add(sysUserRole);
|
||||
if(CollectionUtil.isNotEmpty(sysUserRoles)) {
|
||||
userRoleMapper.batchUserRole(sysUserRoles);
|
||||
}
|
||||
if (insertUserRow > 0) {
|
||||
caseAffiliate.setApplicantAgentUserId(String.valueOf(agentUser.getUserId()));
|
||||
// 发送短信 todo
|
||||
}
|
||||
} else if (null != agentUser.getDeptId() && !String.valueOf(agentUser.getDeptId()).equals(caseAffiliate.getApplicationOrganId())) {
|
||||
return "申请机构与申请代理人不匹配";
|
||||
} else if (null != agentUser.getDeptId() && String.valueOf(agentUser.getDeptId()).equals(caseAffiliate.getApplicationOrganId())){
|
||||
// 同步用户表和案件关联人表的手机号和名称
|
||||
caseAffiliate.setContactTelphoneAgent(agentUser.getPhonenumber());
|
||||
caseAffiliate.setNameAgent(agentUser.getNickName());
|
||||
caseAffiliate.setApplicantAgentUserId(String.valueOf(agentUser.getUserId()));
|
||||
// 新增角色为申请人
|
||||
if(agentUser.getRoleIds()!=null) {
|
||||
List<Long> longList = Arrays.asList(agentUser.getRoleIds());
|
||||
if(!longList.contains(roleId)) {
|
||||
ArrayList<SysUserRole> sysUserRoles = new ArrayList<>();
|
||||
SysUserRole sysUserRole = new SysUserRole();
|
||||
sysUserRole.setUserId(agentUser.getUserId());
|
||||
sysUserRole.setRoleId(roleId);
|
||||
sysUserRoles.add(sysUserRole);
|
||||
if (CollectionUtil.isNotEmpty(sysUserRoles)) {
|
||||
userRoleMapper.batchUserRole(sysUserRoles);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int submitCaseApplication(CaseApplication caseApplication) {
|
||||
@@ -417,7 +576,13 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
|
||||
// }else {
|
||||
// caseApplicationListinsert.add(caseApplication);
|
||||
// }
|
||||
caseApplicationListinsert.add(caseApplication);
|
||||
if(StrUtil.isEmpty(caseApplication.getErrorMsg())) {
|
||||
caseApplicationListinsert.add(caseApplication);
|
||||
}else {
|
||||
// 拼接错误信息
|
||||
failureMsg.append("<br/>").append("第").append(i+2).append("行:").append(caseApplication.getErrorMsg().toString());
|
||||
|
||||
}
|
||||
}else {
|
||||
// 拼接错误信息
|
||||
failureMsg.append("<br/>").append("第").append(i+2).append("行:").append(caseApplication.getErrorMsg().toString());
|
||||
@@ -465,9 +630,11 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
|
||||
if(caseAffiliates!=null&&caseAffiliates.size()>0){
|
||||
for (CaseAffiliate caseAffiliate : caseAffiliates){
|
||||
caseAffiliate.setCaseAppliId(caseApplicationItera.getId());
|
||||
|
||||
}
|
||||
caseAffiliateMapper.batchCaseAffiliate(caseAffiliates);
|
||||
}
|
||||
|
||||
successNum++;
|
||||
successMsg.append("<br/>" + successNum + "、立案编号 " + caseApplicationItera.getCaseNum() + " 导入成功");
|
||||
}
|
||||
@@ -1225,6 +1392,8 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
|
||||
return caseApplication;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int pendTralSure(CaseApplication caseApplication) {
|
||||
@@ -1338,6 +1507,15 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
|
||||
if(StrUtil.isNotEmpty(caseApplication.getName())){
|
||||
setApplicantOrganization(caseAffiliate, caseApplication, deptMap);
|
||||
}
|
||||
String s = buildAgentInfo(caseAffiliate);
|
||||
if(StrUtil.isNotEmpty(s)){
|
||||
StringBuilder errorMsg = caseApplication.getErrorMsg();
|
||||
if(StrUtil.isEmpty(errorMsg)){
|
||||
errorMsg=new StringBuilder();
|
||||
}
|
||||
errorMsg.append(s);
|
||||
caseApplication.setErrorMsg(errorMsg);
|
||||
}
|
||||
caseAffiliatesnew.add(caseAffiliate);
|
||||
|
||||
// 组装被申请人信息
|
||||
|
||||
+15
-8
@@ -8,8 +8,10 @@ import cn.hutool.crypto.symmetric.SymmetricCrypto;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.domain.entity.SysUser;
|
||||
import com.ruoyi.common.core.domain.model.LoginUser;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.system.mapper.SysUserMapper;
|
||||
import com.ruoyi.wisdomarbitrate.domain.IdentityAuthentication;
|
||||
import com.ruoyi.wisdomarbitrate.mapper.IdentityAuthenticationMapper;
|
||||
import com.ruoyi.wisdomarbitrate.service.IdentityAuthenticationService;
|
||||
@@ -46,6 +48,7 @@ public class IdentityAuthenticationServiceImpl implements IdentityAuthentication
|
||||
|
||||
@Autowired
|
||||
private IdentityAuthenticationMapper identityAuthenticationMapper;
|
||||
private SysUserMapper sysUserMapper;
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(IdentityAuthenticationServiceImpl.class);
|
||||
|
||||
@@ -147,7 +150,7 @@ public class IdentityAuthenticationServiceImpl implements IdentityAuthentication
|
||||
@Transactional
|
||||
public AjaxResult selectIdentityAuthenticaRespon(IdentityAuthentication ientityAuthentication) {
|
||||
String eidToken = ientityAuthentication.getEidToken();
|
||||
|
||||
IdentityAuthentication authentication = new IdentityAuthentication();
|
||||
try {
|
||||
Credential cred = new Credential(credentialSecretId, credentialSecretKey);
|
||||
// 实例化一个http选项,可选的,没有特殊需求可以跳过
|
||||
@@ -181,8 +184,8 @@ public class IdentityAuthenticationServiceImpl implements IdentityAuthentication
|
||||
String idcardno = info.getString("idnum");
|
||||
String name = info.getString("name");
|
||||
//2.在用户认证表中插入用户认证记录
|
||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||
IdentityAuthentication authentication = new IdentityAuthentication();
|
||||
// LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||
|
||||
/**
|
||||
* 用户名
|
||||
* 用户名id
|
||||
@@ -192,15 +195,17 @@ public class IdentityAuthenticationServiceImpl implements IdentityAuthentication
|
||||
* 认证状态0表示成功
|
||||
* 请求id
|
||||
*/
|
||||
authentication.setUserName(loginUser.getUsername());
|
||||
authentication.setUserId(loginUser.getUserId());
|
||||
// authentication.setUserName(loginUser.getUsername());
|
||||
// authentication.setUserId(loginUser.getUserId());
|
||||
authentication.setName(name);
|
||||
authentication.setIdentityNo(idcardno);
|
||||
authentication.setCertificationTime(new Date());
|
||||
authentication.setCertificationStatus(0);
|
||||
authentication.setCreateBy(loginUser.getUsername());
|
||||
authentication.setCreateBy(name);
|
||||
// authentication.setCreateBy(loginUser.getUsername());
|
||||
try {
|
||||
identityAuthenticationMapper.insertIdentityAuthentication(authentication);
|
||||
authentication.setId(authentication.getId());
|
||||
} catch (Exception e) {
|
||||
System.out.println("认证记录新增失败");
|
||||
}
|
||||
@@ -210,12 +215,14 @@ public class IdentityAuthenticationServiceImpl implements IdentityAuthentication
|
||||
}
|
||||
}
|
||||
}
|
||||
return AjaxResult.success();
|
||||
return AjaxResult.success(authentication);
|
||||
} catch (TencentCloudSDKException e) {
|
||||
System.out.println(e.toString());
|
||||
}
|
||||
return null;
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
+157
@@ -0,0 +1,157 @@
|
||||
package com.ruoyi.wisdomarbitrate.service.impl;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.alibaba.fastjson2.JSONArray;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.ruoyi.common.constant.CacheConstants;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.domain.entity.SysDictData;
|
||||
import com.ruoyi.common.core.domain.entity.SysUser;
|
||||
import com.ruoyi.common.core.domain.model.LoginUser;
|
||||
import com.ruoyi.common.core.redis.RedisCache;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.common.utils.SmsUtils;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.common.utils.http.HttpUtils;
|
||||
import com.ruoyi.common.utils.spring.SpringUtils;
|
||||
import com.ruoyi.system.mapper.SysUserMapper;
|
||||
import com.ruoyi.wisdomarbitrate.domain.IdentityAuthentication;
|
||||
import com.ruoyi.wisdomarbitrate.domain.vo.WeChatUserVO;
|
||||
import com.ruoyi.wisdomarbitrate.mapper.IdentityAuthenticationMapper;
|
||||
import com.ruoyi.wisdomarbitrate.mapper.WeChatUserMapper;
|
||||
import com.ruoyi.wisdomarbitrate.service.WeChatUserService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/**
|
||||
* @author wangqiong
|
||||
* @description 微信小程序用户注册登录
|
||||
* @date 2023-10-16 11:45
|
||||
*/
|
||||
@Service
|
||||
@Slf4j
|
||||
public class WeChatUserServiceImpl implements WeChatUserService {
|
||||
String appid="wx91cb8459dca561b4";//自行获取
|
||||
//小程序secret
|
||||
String secret="190aaa3bda96a65d25318fbb0e133fc6";//自己去公众号后台获取
|
||||
// 获取openId
|
||||
String openIdUrl = "https://api.weixin.qq.com/sns/jscode2session";
|
||||
@Autowired
|
||||
private WeChatUserMapper weChatUserMapper;
|
||||
@Autowired
|
||||
private SysUserMapper sysUserMapper;
|
||||
@Autowired
|
||||
private IdentityAuthenticationMapper identityAuthenticationMapper;
|
||||
|
||||
@Override
|
||||
public String sendCode(WeChatUserVO userVO) {
|
||||
|
||||
Random random = new Random();
|
||||
String code = "";
|
||||
for (int i = 0; i < 6; i++) {
|
||||
|
||||
code += random.nextInt(10);
|
||||
}
|
||||
SmsUtils.SendSmsRequest request = new SmsUtils.SendSmsRequest();
|
||||
request.setTemplateId("1955047");
|
||||
// 1954926 普通短信 短信验证码 验证码:,为了保证您的账户安全,请勿想他人泄露验证码信息。如非本人操作,请忽略本短信。
|
||||
request.setPhone(userVO.getPhone());
|
||||
request.setTemplateParamSet(new String[]{ code});
|
||||
Boolean flag = SmsUtils.sendSms(request);
|
||||
if(flag){
|
||||
setCodeCache(userVO.getPhone(),code);
|
||||
return "短信发送成功";
|
||||
}
|
||||
return "短信发送失败";
|
||||
}
|
||||
/**
|
||||
* 设置验证码缓存
|
||||
*
|
||||
* @param key 参数键
|
||||
* @param code 验证码
|
||||
*/
|
||||
public static void setCodeCache(String key, String code)
|
||||
{
|
||||
SpringUtils.getBean(RedisCache.class).setCacheObject(getVerifyCodeCacheKey(key), code, 5,TimeUnit.MINUTES);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取字典缓存
|
||||
*
|
||||
* @param key 参数键
|
||||
* @return dictDatas 字典数据列表
|
||||
*/
|
||||
public static String getCodeCache(String key)
|
||||
{
|
||||
String codeCache = SpringUtils.getBean(RedisCache.class).getCacheObject(getVerifyCodeCacheKey(key));
|
||||
if (StringUtils.isNotNull(codeCache))
|
||||
{
|
||||
return codeCache;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private static String getVerifyCodeCacheKey(String key) {
|
||||
return CacheConstants.WE_CHAT_SMS_VERIFY_CODE_KEY + key;
|
||||
}
|
||||
@Transactional
|
||||
@Override
|
||||
public AjaxResult registerUser(IdentityAuthentication ientityAuthentication) {
|
||||
String codeCache = getCodeCache(ientityAuthentication.getPhone());
|
||||
// 校验短信验证码
|
||||
if(StrUtil.isEmpty(codeCache)){
|
||||
return AjaxResult.warn("验证码校验失败");
|
||||
}else if(!codeCache.equals(ientityAuthentication.getVerifyCode())){
|
||||
return AjaxResult.warn("验证码校验失败");
|
||||
}
|
||||
SysUser sysUserName=sysUserMapper.selectUserByUserName(ientityAuthentication.getUserName());
|
||||
if(sysUserName!=null){
|
||||
return AjaxResult.warn("账号已存在");
|
||||
}
|
||||
// 根据身份证查询系统用户表中是否存在该用户,存在则同步已认证的信息,不存在则新增
|
||||
SysUser sysUser=sysUserMapper.selectUserByIdCard(ientityAuthentication.getIdentityNo());
|
||||
|
||||
if(sysUser!=null){
|
||||
sysUser.setIdCard(ientityAuthentication.getIdentityNo());
|
||||
sysUser.setNickName(ientityAuthentication.getName());
|
||||
sysUser.setUserName(ientityAuthentication.getUserName());
|
||||
sysUser.setPhonenumber(ientityAuthentication.getPhone());
|
||||
sysUser.setEmail(ientityAuthentication.getEmail());
|
||||
sysUser.setPassword(SecurityUtils.encryptPassword(ientityAuthentication.getPassWord()));
|
||||
sysUserMapper.updateUser(sysUser);
|
||||
ientityAuthentication.setUserId(sysUser.getUserId());
|
||||
}else {
|
||||
sysUser=new SysUser();
|
||||
// 用户名设为电话号
|
||||
sysUser.setUserName(ientityAuthentication.getPhone());
|
||||
sysUser.setIdCard(ientityAuthentication.getIdentityNo());
|
||||
sysUser.setNickName(ientityAuthentication.getName());
|
||||
sysUser.setUserName(ientityAuthentication.getUserName());
|
||||
sysUser.setPhonenumber(ientityAuthentication.getPhone());
|
||||
sysUser.setEmail(ientityAuthentication.getEmail());
|
||||
sysUser.setCreateBy(ientityAuthentication.getPhone());
|
||||
sysUser.setPassword(SecurityUtils.encryptPassword(ientityAuthentication.getPassWord()));
|
||||
int row = sysUserMapper.insertUser(sysUser);
|
||||
if(row<1) {
|
||||
return AjaxResult.warn("注册失败");
|
||||
}
|
||||
}
|
||||
|
||||
ientityAuthentication.setUserId(sysUser.getUserId());
|
||||
ientityAuthentication.setUserName(sysUser.getUserName());
|
||||
// 已经认证过的用户才能注册,认证表中已经有该数据
|
||||
identityAuthenticationMapper.updateIdentityAuthentication(ientityAuthentication);
|
||||
return AjaxResult.success("注册成功");
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user