diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/SystemUser.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/SystemUser.java index 62228dcd8..b31afb598 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/SystemUser.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/SystemUser.java @@ -194,4 +194,7 @@ public class SystemUser implements Serializable { @TableField(exist = false) @ApiModelProperty(value = "邮箱") private java.lang.String personMail; + @TableField(exist = false) + @ApiModelProperty(value = "默认1,通过邮箱验证,0则不通过邮箱验证") + private java.lang.Integer isCheckCode; } diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/ISystemUserService.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/ISystemUserService.java index 7cd68c40e..46d567677 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/ISystemUserService.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/ISystemUserService.java @@ -31,8 +31,6 @@ public interface ISystemUserService extends IService { /** * 根据企业或项目SN查找账号列表 * - * @param sn - * @param type 3 项目级别账号 * @return */ List getSystemUsersBySn(Map map); diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java index ff1694c75..473de93a6 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java @@ -76,6 +76,18 @@ import java.util.stream.Collectors; @Slf4j @Transactional(rollbackFor = Exception.class) public class SystemUserServiceImpl extends ServiceImpl implements ISystemUserService { + /** + * 重置密码的邮箱验证码 + */ + public static final String UPDATE_PW_EMAIL_CODE = "UPDATE_PW_EMAIL_CODE:"; + /** + * 修改密码的有效期 + */ + public static final String UPDATE_PW_UUID = "UPDATE_PW_UUID:"; + /** + * redis密码登录失败次数前缀 + */ + private static final String PW_FAILED_COUNT_PREFIX = "USER_PW_FAILED_COUNT:"; @Autowired private MechanicalEquipmentPositionDevMapper mechanicalEquipmentPositionDevMapper; @Autowired @@ -128,20 +140,8 @@ public class SystemUserServiceImpl extends ServiceImpl getToken(Map map) { @@ -341,8 +341,12 @@ public class SystemUserServiceImpl extends ServiceImpl users = getProjectChilderSystemUserList(new MapBuilder().put("projectSn", systemUser.getSn()).build()); + if (CollUtil.isNotEmpty(users)) { + systemUser.setPersonMail(users.get(0).getPersonMail()); + } + } if (companyConfig == null || companyConfig.getIsEnable() == 0) { throw new OpenAlertException(MessageUtil.get("loginEnabledErr")); } @@ -1223,7 +1227,6 @@ public class SystemUserServiceImpl extends ServiceImpl getSystemUserList(Map map) { companyService.getCompanyType(map); @@ -1289,7 +1292,10 @@ public class SystemUserServiceImpl extends ServiceImpl list; if (Objects.equals(carInfo.getCarModuleType(), 3)) { - WorkerInfo workerInfo = workerInfoService.selectWorkerInfoByIdCard(new MapParamBuilder().put("idCard", carInfo.getOutsideDriverIdCard()).put("projectSn", carInfo.getProjectSn()).build()); + WorkerInfo workerInfo = workerInfoService.selectWorkerInfoByIdCard(new MapBuilder().put("idCard", carInfo.getOutsideDriverIdCard()).put("projectSn", carInfo.getProjectSn()).build()); if (workerInfo == null) { return; } diff --git a/src/main/java/com/zhgd/xmgl/modules/video/service/impl/AiAnalyseHardWareAlarmRecordServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/video/service/impl/AiAnalyseHardWareAlarmRecordServiceImpl.java index 08dd0fbc9..1960f2e62 100644 --- a/src/main/java/com/zhgd/xmgl/modules/video/service/impl/AiAnalyseHardWareAlarmRecordServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/video/service/impl/AiAnalyseHardWareAlarmRecordServiceImpl.java @@ -598,7 +598,7 @@ public class AiAnalyseHardWareAlarmRecordServiceImpl extends ServiceImpl users = systemUserService.getSystemUsers(new MapParamBuilder().put("type", 3).put("sn", record.getProjectSn()).build()); + List users = systemUserService.getSystemUsers(new MapBuilder().put("type", 3).put("sn", record.getProjectSn()).build()); for (SystemUser systemUser : users) { noticeService.addUserNotice(systemUser.getUserId(), "有一条AI预警数据已处置推送", "AI预警通知", "8"); } diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/controller/XzRegistryController.java b/src/main/java/com/zhgd/xmgl/modules/xz/controller/XzRegistryController.java index 7c1ae5c10..5c228b435 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/controller/XzRegistryController.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/controller/XzRegistryController.java @@ -169,7 +169,7 @@ public class XzRegistryController { return Result.ok(); } - @ApiOperation(value = "根据账号查询注册邮箱", notes = "根据账号查询注册邮箱", httpMethod = "POST") + @ApiOperation(value = "根据账号查询注册邮箱(或者查询项目子账号的邮箱)", notes = "根据账号查询注册邮箱(或者查询项目子账号的邮箱)", httpMethod = "POST") @PostMapping(value = "/getRegistryEmail") public Result> getRegistryEmail(@RequestBody SystemUser systemUser) { return Result.success(xzRegistryService.getRegistryEmail(systemUser)); diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/service/impl/XzRegistryServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/xz/service/impl/XzRegistryServiceImpl.java index 3fed97f09..4cd8b7445 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/service/impl/XzRegistryServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/service/impl/XzRegistryServiceImpl.java @@ -22,6 +22,7 @@ import com.zhgd.xmgl.modules.xz.entity.XzRegistry; import com.zhgd.xmgl.modules.xz.mapper.XzRegistryMapper; import com.zhgd.xmgl.modules.xz.service.IXzRegistryService; import com.zhgd.xmgl.util.EmailUtils; +import com.zhgd.xmgl.util.MapBuilder; import com.zhgd.xmgl.util.PageUtil; import com.zhgd.xmgl.util.RefUtil; import org.apache.commons.lang3.StringUtils; @@ -44,12 +45,6 @@ import java.util.Objects; @Service @Transactional(rollbackFor = Exception.class) public class XzRegistryServiceImpl extends ServiceImpl implements IXzRegistryService { - @Autowired - private RedisDistributedLock redisDistributedLock; - @Autowired - private XzRegistryMapper xzRegistryMapper; - @Autowired - private SystemLogoConfigMapper systemLogoConfigMapper; @Autowired SystemUserMapper systemUserMapper; @Autowired @@ -58,10 +53,14 @@ public class XzRegistryServiceImpl extends ServiceImpl queryPageList(HashMap paramMap) { @@ -218,16 +217,31 @@ public class XzRegistryServiceImpl extends ServiceImpl getRegistryEmail(SystemUser systemUser) { - XzRegistry xzRegistry = xzRegistryMapper.selectOne(new LambdaQueryWrapper() - .eq(XzRegistry::getAccount, systemUser.getAccount()) - .eq(XzRegistry::getApprovalProcess, 2) - .last("order by create_time desc limit 1") - ); - if (xzRegistry == null) { - throw new OpenAlertException("账号未注册成功"); + SystemUser su = systemUserMapper.selectOne(new LambdaQueryWrapper() + .eq(SystemUser::getAccount, systemUser.getAccount())); + if (su == null) { + throw new OpenAlertException("账号不存在"); + } + String email = ""; + if (su.getAccountType() == 10 || su.getAccountType() == 11) { + XzRegistry xzRegistry = xzRegistryMapper.selectOne(new LambdaQueryWrapper() + .eq(XzRegistry::getAccount, systemUser.getAccount()) + .eq(XzRegistry::getApprovalProcess, 2) + .last("order by create_time desc limit 1") + ); + if (xzRegistry == null) { + throw new OpenAlertException("账号未注册成功"); + } + email = xzRegistry.getEmail(); + } else if (su.getAccountType() == 6) { + List users = systemUserService.getProjectChilderSystemUserList(new MapBuilder().put("projectSn", su.getSn()).build()); + if (CollUtil.isEmpty(users)) { + throw new OpenAlertException("项目子账号不存在"); + } + email = users.get(0).getPersonMail(); } HashMap map = new HashMap<>(); - map.put("email", xzRegistry.getEmail()); + map.put("email", email); return map; } diff --git a/src/main/java/com/zhgd/xmgl/util/HttpServletRequestUtil.java b/src/main/java/com/zhgd/xmgl/util/HttpServletRequestUtil.java new file mode 100644 index 000000000..188cad6f9 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/util/HttpServletRequestUtil.java @@ -0,0 +1,15 @@ +package com.zhgd.xmgl.util; + +import com.zhgd.jeecg.common.util.SpringContextUtils; + +import javax.servlet.http.HttpServletRequest; + +public class HttpServletRequestUtil { + public static String getParameter(String name) { + HttpServletRequest request = SpringContextUtils.getHttpServletRequest(); + if (request == null) { + return null; + } + return request.getParameter(name); + } +} diff --git a/src/main/java/com/zhgd/xmgl/util/MapParamBuilder.java b/src/main/java/com/zhgd/xmgl/util/MapBuilder.java similarity index 83% rename from src/main/java/com/zhgd/xmgl/util/MapParamBuilder.java rename to src/main/java/com/zhgd/xmgl/util/MapBuilder.java index 79834b5cf..14c23a2a4 100644 --- a/src/main/java/com/zhgd/xmgl/util/MapParamBuilder.java +++ b/src/main/java/com/zhgd/xmgl/util/MapBuilder.java @@ -10,14 +10,14 @@ import java.util.Map; * @param * @author Zhegui */ -public class MapParamBuilder { +public class MapBuilder { private Map mapParam; /** * 默认构造函数 */ - public MapParamBuilder() { + public MapBuilder() { mapParam = new HashMap(); } @@ -26,7 +26,7 @@ public class MapParamBuilder { * * @param mapParam */ - public MapParamBuilder(Map mapParam) { + public MapBuilder(Map mapParam) { this.mapParam = mapParam; } @@ -37,7 +37,7 @@ public class MapParamBuilder { * @param value * @return */ - public MapParamBuilder put(K key, V value) { + public MapBuilder put(K key, V value) { mapParam.put(key, value); return this; } @@ -48,7 +48,7 @@ public class MapParamBuilder { * @param key * @return */ - public MapParamBuilder remove(K key) { + public MapBuilder remove(K key) { mapParam.remove(key); return this; } @@ -63,7 +63,7 @@ public class MapParamBuilder { } public static void main(String[] args) { - Map map = new MapParamBuilder() + Map map = new MapBuilder() .put("key1", "value1") .put("key2", "value2") .build(); @@ -80,7 +80,7 @@ public class MapParamBuilder { boolean flag = true; if (flag) { System.out.println("发现缺少参数,或者需要补充参数"); - map = new MapParamBuilder(map) + map = new MapBuilder(map) .put("key3", "value3") .put("key4", "value4") .put("key5", "value5")