Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into hjb
This commit is contained in:
+1
@@ -11,6 +11,7 @@ import java.util.List;
|
||||
|
||||
public interface ICaseApplicationService {
|
||||
List<CaseApplication> selectCaseApplicationList(CaseApplication caseApplication);
|
||||
List<CaseApplication> selectCaseApplicationListNew(CaseApplication caseApplication);
|
||||
|
||||
|
||||
int insertcaseApplication(CaseApplication caseApplication);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
+93
-36
@@ -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.*;
|
||||
|
||||
@@ -98,41 +99,57 @@ 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> selectCaseApplicationListNew(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);
|
||||
return caseApplicationMapper.selectDeptHeadCaseApplicationList(caseApplication,caseStatusList);
|
||||
}
|
||||
if(role.getRoleName().equals("仲裁员")){
|
||||
caseApplication.setUserId(String.valueOf(userId));
|
||||
}
|
||||
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 List<CaseApplication> selectCaseApplicationList(CaseApplication caseApplication) {
|
||||
return caseApplicationMapper.selectAdminCaseApplicationList(caseApplication);
|
||||
@@ -188,6 +205,8 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
|
||||
caseAffiliate.setApplicationOrganName(caseAffiliate.getName());
|
||||
|
||||
}
|
||||
// 组装申请代理人信息
|
||||
buildAgentInfo(caseAffiliate);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,8 +294,11 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
|
||||
caseAffiliate.setApplicationOrganId(String.valueOf(dept.getDeptId()));
|
||||
|
||||
}
|
||||
buildAgentInfo(caseAffiliate);
|
||||
|
||||
}
|
||||
caseAffiliateMapper.updataCaseAffiliate(caseAffiliate);
|
||||
|
||||
caseAffiliateMapper.updataCaseAffiliate(caseAffiliate);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -292,6 +314,38 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
|
||||
return rows;
|
||||
}
|
||||
|
||||
/**
|
||||
* 组装申请代理人信息
|
||||
* @param caseAffiliate
|
||||
*/
|
||||
private void buildAgentInfo(CaseAffiliate caseAffiliate) {
|
||||
if(StrUtil.isNotEmpty(caseAffiliate.getNameAgent())){
|
||||
// 组装申请机构代理人信息,用户表新增并且和部门关联
|
||||
// 根据代理人身份证去用户表查询,有修改,么有新增
|
||||
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);
|
||||
if(insertUserRow>0) {
|
||||
caseAffiliate.setApplicantAgentUserId(String.valueOf(agentUser.getUserId()));
|
||||
// 发送短信 todo
|
||||
}
|
||||
}else {
|
||||
// 同步用户表和案件关联人表的手机号和名称
|
||||
caseAffiliate.setContactTelphoneAgent(agentUser.getPhonenumber());
|
||||
caseAffiliate.setNameAgent(agentUser.getNickName());
|
||||
caseAffiliate.setApplicantAgentUserId(String.valueOf(agentUser.getUserId()));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int submitCaseApplication(CaseApplication caseApplication) {
|
||||
@@ -465,9 +519,12 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
|
||||
if(caseAffiliates!=null&&caseAffiliates.size()>0){
|
||||
for (CaseAffiliate caseAffiliate : caseAffiliates){
|
||||
caseAffiliate.setCaseAppliId(caseApplicationItera.getId());
|
||||
buildAgentInfo(caseAffiliate);
|
||||
|
||||
}
|
||||
caseAffiliateMapper.batchCaseAffiliate(caseAffiliates);
|
||||
}
|
||||
|
||||
successNum++;
|
||||
successMsg.append("<br/>" + successNum + "、立案编号 " + caseApplicationItera.getCaseNum() + " 导入成功");
|
||||
}
|
||||
|
||||
+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();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
+154
@@ -0,0 +1,154 @@
|
||||
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.MILLISECONDS);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取字典缓存
|
||||
*
|
||||
* @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) {
|
||||
// 校验短信验证码
|
||||
if(StrUtil.isEmpty(getCodeCache(ientityAuthentication.getPhone()))){
|
||||
return AjaxResult.success("验证码校验失败");
|
||||
}
|
||||
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.error("注册失败");
|
||||
}
|
||||
}
|
||||
|
||||
ientityAuthentication.setUserId(sysUser.getUserId());
|
||||
ientityAuthentication.setUserName(sysUser.getUserName());
|
||||
// 已经认证过的用户才能注册,认证表中已经有该数据
|
||||
identityAuthenticationMapper.updateIdentityAuthentication(ientityAuthentication);
|
||||
return AjaxResult.success("注册成功");
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user