提交 8848d185 作者: zhenjie

单位管理、认证、加盟修改

上级 a6fc0d0d
......@@ -18,6 +18,7 @@ public enum ResultEnum implements BaseErrorInfoInterface {
THE_BRAND_LOGO_CANNOT_BE_EMPTY("1004", "logo图标不能为空"),
TAG_ALREADY_EXIST_ERROR("2001", "您已拥有该身份,不需要重复提交"),
TAG_APPLY_ALREADY_EXIST_ERROR("2002", "已存在申请记录,不可重复申请"),
LOGIN_ACCOUNT_NOT_EXIT_ERROR("5005", "账号不存在"),
LOGIN_PASSWORD_ERROR("5006", "密码错误"),
......@@ -29,6 +30,7 @@ public enum ResultEnum implements BaseErrorInfoInterface {
REMOVE_COMPANY_BINDING_APP_ERROR("5013", "删除失败,该单位有绑定小程序账号!"),
UNBIND_COMPANY_MEMBER_ERROR("5014", "不能解绑管理员"),
TRANFER_COMPANY_MEMBER_LEADER_ERROR("5015", "转交人不是管理员!"),
COMPANY_EXIST_ERROR("5015", "该企业已认证!"),
//微信相关
PASSWORD_INCONSISTENT("5026", "新密码与确认密码不一致,请确认一致"),
......
......@@ -79,6 +79,12 @@
<!-- <version>4.0.0</version>-->
<!-- </dependency>-->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>dysmsapi20170525</artifactId>
<version>2.0.5</version>
</dependency>
</dependencies>
<build>
......
......@@ -71,7 +71,7 @@ public class CompanyController extends BaseController {
return companyService.listCompanyPageBack(companyInfoQO);
}
@ApiOperation(value = "绑定小程序用户")
@ApiOperation(value = "成员-绑定")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("bindingCompanyMember")
public ResultBody bindingCompanyMember(HttpServletRequest request,
......@@ -80,7 +80,7 @@ public class CompanyController extends BaseController {
return companyService.bindingCompanyMember(this.getUserLoginInfoFromRedis(request), userAccountId, companyInfoId);
}
@ApiOperation(value = "解绑小程序用户")
@ApiOperation(value = "成员-解绑")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("unbindCompanyMember")
public ResultBody unbindCompanyMember(HttpServletRequest request,
......@@ -89,7 +89,7 @@ public class CompanyController extends BaseController {
return companyService.unbindCompanyMember(this.getUserLoginInfoFromRedis(request), userAccountId, companyInfoId);
}
@ApiOperation(value = "转让管理员")
@ApiOperation(value = "成员-转让管理员")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("transferLeader")
public ResultBody transferLeader(HttpServletRequest request,
......@@ -99,7 +99,7 @@ public class CompanyController extends BaseController {
return companyService.transferLeader(this.getUserLoginInfoFromRedis(request), fromUserAccountId, toUserAccountId, companyInfoId);
}
@ApiOperation(value = "单位成员列表")
@ApiOperation(value = "成员-列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("listCompanyMembers")
public ResultBody listCompanyMembers(HttpServletRequest request,
......
......@@ -133,4 +133,6 @@ public interface CooperationDao {
void updateCompanyInfo(UserApplyTagDO userApplyTagDO);
List<CompanyInfoDO> appBrandList();
int countUserApplyTagByUid(Integer userAccountId);
}
......@@ -203,16 +203,17 @@ public class AuthServiceImpl implements AuthService {
LoginSuccessDTO backLoginSuccessDTO = LoginSuccessDTO.builder().token(token).userAccountId(backUserAccountVO.getId())
.accountNo(backUserAccountVO.getAccountNo()).uid(backUserAccountVO.getId() + "").userName(backUserAccountVO.getUserName())
.nickName(backUserAccountVO.getUserName()).phoneNum(backUserAccountVO.getPhoneNum()).portType(0).companyInfoVO(companyInfoVO == null ? null : companyInfoVO)
.roleInfo(roleInfoDO.buildRoleInfoDTO()).appUserAccountId(loginSuccessDTO.getAppUserAccountId()).token(token).build();
.roleInfo(roleInfoDO.buildRoleInfoDTO()).appUserAccountId(loginSuccessDTO.getUserAccountId()).token(token).build();
// 设置后台账号token,key为randomLoginCode
stringRedisTemplate.opsForValue().set(
randomLoginCode, JSONObject.toJSONString(backLoginSuccessDTO),
JwtConstant.EXPIRATION, TimeUnit.MILLISECONDS);
loginSuccessDTO.setToken(token);
} else {
stringRedisTemplate.opsForValue().set(
randomLoginCode, JSONObject.toJSONString(loginSuccessDTO),
JwtConstant.TEMP_EXPIRATION, TimeUnit.MILLISECONDS);
}
stringRedisTemplate.opsForValue().set(
randomLoginCode, JSONObject.toJSONString(loginSuccessDTO),
JwtConstant.TEMP_EXPIRATION, TimeUnit.MILLISECONDS);
return ResultBody.success();
}
......
......@@ -43,6 +43,7 @@ public class BackUserAccountServiceImpl implements BackUserAccountService {
@Autowired
private RoleDao roleDao;
@Transactional
@Override
public ResultBody insertBAccount(BUserAccountVO bUserAccountVO) {
if (!bUserAccountVO.getPassWord().equals(bUserAccountVO.getAlertPwd())) {
......
......@@ -44,7 +44,7 @@ public class CompanyAuthServiceImpl implements CompanyAuthService {
if (companyInfoDO != null) {
List<CompanyMemberDO> companyMemberDOS = companyDao.listCompanyMembers(companyInfoDO.getId());
if (!CollectionUtils.isEmpty(companyMemberDOS)) {
return ResultBody.error("该企业已认证");
return ResultBody.error(ResultEnum.APPLET_LOGIN_ERROR);
}
} else {
companyInfoDO = new CompanyInfoDO();
......
......@@ -17,13 +17,16 @@ import com.mmc.iuav.user.model.vo.*;
import com.mmc.iuav.user.service.BackUserAccountService;
import com.mmc.iuav.user.service.CooperationService;
import com.mmc.iuav.user.service.UserAccountService;
import com.mmc.iuav.user.util.SmsUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.RandomStringUtils;
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.Map;
import java.util.stream.Collectors;
/**
......@@ -57,6 +60,10 @@ public class CooperationServiceImpl implements CooperationService {
@Override
public ResultBody apply(UserApplyTagVO userApplyTagVO) {
int applyCount = cooperationDao.countUserApplyTagByUid(userApplyTagVO.getUserAccountId());
if (applyCount > 0) {
return ResultBody.error(ResultEnum.TAG_APPLY_ALREADY_EXIST_ERROR);
}
int count = cooperationDao.userTagInfo(userApplyTagVO.getCooperationTagId(), userApplyTagVO.getUserAccountId());
if (count > 0) {
return ResultBody.error(ResultEnum.TAG_ALREADY_EXIST_ERROR);
......@@ -164,6 +171,7 @@ public class CooperationServiceImpl implements CooperationService {
int count =
cooperationDao.userTagInfo(
userApplyTag.getCooperationTagId(), userApplyTag.getUserAccountId());
UserAccountVO account = userAccountService.getUserAccountById(userApplyTag.getUserAccountId());
if (status) {
cooperationDao.updateApplyTagStatus(id, 1);
if (count == 0) {
......@@ -177,12 +185,23 @@ public class CooperationServiceImpl implements CooperationService {
BUserAccountVO bUserAccountVO = this.generateBackUserAccountVO(userApplyTag);
ResultBody resultBody = backUserAccountService.insertBAccount(bUserAccountVO);
if (!resultBody.getCode().equals(ResultEnum.SUCCESS.getResultCode())) {
// 生成账号失败处理
if (resultBody.getCode().equals(ResultEnum.ADD_USER_ACCOUNT_NAME_EXISTS.getResultCode())) {
bUserAccountVO.setAccountNo(bUserAccountVO.getPhoneNum() + "X");
ResultBody retryResultBody = backUserAccountService.insertBAccount(bUserAccountVO);
if (retryResultBody.getCode().equals(ResultEnum.SUCCESS.getResultCode())) {
throw new BizException("审核失败,请联系管理人员!");
}
}
throw new BizException("审核失败,请联系管理人员!");
}
// TODO 发送短信通知
log.info("bUserAccountVO:{}", JSONObject.toJSONString(bUserAccountVO));
log.info("apply cooperation tag, bUserAccountVO:{}", JSONObject.toJSONString(bUserAccountVO));
Map<String, String> param = new HashMap<String, String>();
param.put("accountNo", bUserAccountVO.getAccountNo());
param.put("password", bUserAccountVO.getPassWord());
SmsUtil.send("SMS_461986130", JSONObject.toJSONString(param), bUserAccountVO.getPhoneNum());
} else {
// TODO 发送短信通知
SmsUtil.send("SMS_462095054", null, account.getPhoneNum());
cooperationDao.updateApplyTagStatus(id, 2);
}
return ResultBody.success();
......
package com.mmc.iuav.user.util;
import com.aliyun.dysmsapi20170525.models.SendSmsRequest;
import com.aliyun.dysmsapi20170525.models.SendSmsResponse;
import com.aliyun.teaopenapi.models.Config;
import com.google.gson.Gson;
/**
* @author: zj
* @Date: 2023/7/25 17:00
*/
public class SmsUtil {
public static String ALIYUN_OSS_ACCESS_KEY_ID = "LTAI4FzCpyrA33PegnxWS6XV";
public static String ALIYUN_OSS_ACCESS_KEY_SECRET = "ILuNh3zJfRjg3iARSipMWBKCjglz3u";
public static String CLOUD_JOIN_WEBSITE = "云享飞";
private static String ENDPOINT = "dysmsapi.aliyuncs.com";
public static String send(String TemplateCode, String param, String phone) {
return send(CLOUD_JOIN_WEBSITE, TemplateCode, param, phone);
}
public static String send(String signName, String TemplateCode, String param, String phone) {
Config config = new Config().setAccessKeyId(ALIYUN_OSS_ACCESS_KEY_ID).setAccessKeySecret(ALIYUN_OSS_ACCESS_KEY_SECRET);
config.endpoint = ENDPOINT;
com.aliyun.dysmsapi20170525.Client client = null;
SendSmsRequest request = new SendSmsRequest();
request.setPhoneNumbers(phone);
request.setSignName(signName);
request.setTemplateCode(TemplateCode);
if (param != null) {
request.setTemplateParam(param);
}
SendSmsResponse response = null;
try {
client = new com.aliyun.dysmsapi20170525.Client(config);
response = client.sendSms(request);
} catch (Exception e) {
return e.getMessage();
}
return new Gson().toJson(response.body);
}
}
......@@ -72,7 +72,7 @@
</update>
<delete id="unbindCompanyMember">
delete from company_member where user_account_id = #{fromUserAccountId} and company_info_id = #{companyInfoId}
delete from company_member where user_account_id = #{userAccountId} and company_info_id = #{companyInfoId}
</delete>
<select id="getCompanyInfoById" resultType="com.mmc.iuav.user.entity.CompanyInfoDO">
......@@ -188,7 +188,8 @@
ua.id,
ua.user_name,
ua.nick_name,
ua.phone_num
ua.phone_num,
ua.user_img
FROM
company_member cm
INNER JOIN company_info ci ON cm.company_info_id = ci.id
......
......@@ -367,4 +367,8 @@
FROM company_member cm
LEFT JOIN company_info ci ON cm.company_info_id = ci.id
</select>
<select id="countUserApplyTagByUid" resultType="java.lang.Integer">
select count(*) from user_apply_tag where user_account_id = #{userAccountId}
</select>
</mapper>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论