|
@@ -86,6 +86,13 @@ import java.math.BigDecimal;
|
|
|
import java.nio.file.Files;
|
|
|
import java.nio.file.Path;
|
|
|
import java.nio.file.Paths;
|
|
|
+import java.text.ParseException;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
+import java.time.LocalDate;
|
|
|
+import java.time.ZoneId;
|
|
|
+import java.time.ZonedDateTime;
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
|
+import java.time.temporal.TemporalAdjusters;
|
|
|
import java.util.*;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
import java.util.stream.Collectors;
|
|
@@ -181,6 +188,15 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
|
|
|
return BeanUtil.toBean(db, UserVo.class);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public String viewPwd(Long userId) {
|
|
|
+ User user = this.baseMapper.selectById(userId);
|
|
|
+ if(Validator.isNotEmpty(user.getPasswordAes())){
|
|
|
+ return EncryptHandler.decrypt(user.getPasswordAes());
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public User queryByUnionId(String unionId) {
|
|
|
User user = getOne(new LambdaQueryWrapper<User>()
|
|
@@ -262,6 +278,32 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
|
|
|
|
|
|
@Override
|
|
|
public List<UserVo> dangAnList(UserQueryBo bo) {
|
|
|
+ if (ObjectUtils.isNotNull(bo.getApplyDateTime()) && bo.getApplyDateTime().length() == 6){
|
|
|
+ //根据月份筛选
|
|
|
+ String dateStr = String.format(bo.getApplyDateTime()); // 指定年月
|
|
|
+ LocalDate date = LocalDate.parse(dateStr + "01", DateTimeFormatter.BASIC_ISO_DATE);
|
|
|
+ LocalDate dateFirst = date.with(TemporalAdjusters.firstDayOfMonth()); // 指定年月的第一天
|
|
|
+ LocalDate dateEnd = date.with(TemporalAdjusters.lastDayOfMonth()); // 指定年月的最后一天
|
|
|
+ ZonedDateTime zonedDateTime1 = dateFirst.atStartOfDay(ZoneId.systemDefault());
|
|
|
+ Date date1 = Date.from(zonedDateTime1.toInstant());
|
|
|
+ ZonedDateTime zonedDateTime = dateEnd.atStartOfDay(ZoneId.systemDefault());
|
|
|
+ Date date2 = Date.from(zonedDateTime.toInstant());
|
|
|
+ Long startTime = date1.getTime()/1000;
|
|
|
+ Long endTime = (date2.getTime()/1000) + 86400;
|
|
|
+ bo.setMonthStartTime(startTime);
|
|
|
+ bo.setMonthEndTime(endTime);
|
|
|
+ }else if (ObjectUtils.isNotNull(bo.getApplyDateTime()) && bo.getApplyDateTime().length() > 6){
|
|
|
+ //根据某天筛选
|
|
|
+ String dateStr = String.format(bo.getApplyDateTime());
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
|
|
|
+ try {
|
|
|
+ Date parse = sdf.parse(dateStr);
|
|
|
+ bo.setMonthStartTime(parse.getTime()/1000);
|
|
|
+ bo.setMonthEndTime(parse.getTime()/1000);
|
|
|
+ } catch (ParseException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
List<User> list = baseMapper.dangAnList(bo);
|
|
|
return entity2UserVo(list);
|
|
|
}
|
|
@@ -756,6 +798,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
|
|
|
}else {
|
|
|
pwd = bo.getTel().substring(bo.getTel().length() - 6);
|
|
|
}
|
|
|
+ inertData.setPasswordAes(EncryptHandler.encrypt(pwd));
|
|
|
inertData.setPassword(SecurityUtils.encryptPassword(pwd));
|
|
|
if(!save(inertData)){
|
|
|
throw new CustomException("注册失败");
|
|
@@ -814,6 +857,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
|
|
|
inertData.setLastLoginTime(DateUtils.getNowTime());
|
|
|
inertData.setCreateTime(DateUtils.getNowTime());
|
|
|
inertData.setUpdateTime(DateUtils.getNowTime());
|
|
|
+ inertData.setPasswordAes(EncryptHandler.encrypt(bo.getPwd()));
|
|
|
inertData.setPassword(SecurityUtils.encryptPassword(bo.getPwd()));
|
|
|
if (Validator.isNotEmpty(bo.getShareCode())) {
|
|
|
inertData.setShareCode(bo.getShareCode());
|
|
@@ -931,6 +975,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
|
|
|
//初始密码(身份证后6位)
|
|
|
String idCard = itemImport.getIdCard();
|
|
|
String pwd = idCard.substring(idCard.length() - 6); // 随机密码
|
|
|
+ inertData.setPasswordAes(EncryptHandler.encrypt(pwd));
|
|
|
inertData.setPassword(SecurityUtils.encryptPassword(pwd));
|
|
|
inertData.setImportNo(importNo); //设置导入编号 一个导入页面同时导入多次算一个编号
|
|
|
if(!save(inertData)){
|
|
@@ -1006,6 +1051,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
|
|
|
//初始密码(身份证后6位)
|
|
|
String idCard = itemImport.getIdCard();
|
|
|
String pwd = idCard.substring(idCard.length() - 6); // 随机密码
|
|
|
+ inertData.setPasswordAes(EncryptHandler.encrypt(pwd));
|
|
|
inertData.setPassword(SecurityUtils.encryptPassword(pwd));
|
|
|
inertData.setImportNo(importNo); //设置导入编号 一个导入页面同时导入多次算一个编号
|
|
|
if(!save(inertData)){
|
|
@@ -1032,6 +1078,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
|
|
|
if(!ToolsUtils.verifEasyPwd(bo.getNewPwd())){
|
|
|
throw new CustomException("密码应由8-16位数字、大小写字母、符号组成");
|
|
|
}
|
|
|
+ user.setPasswordAes(EncryptHandler.encrypt(bo.getNewPwd()));
|
|
|
user.setPassword(SecurityUtils.encryptPassword(bo.getNewPwd()));
|
|
|
user.setPwdTime(DateUtils.getNowTime());
|
|
|
user.setUpdateTime(DateUtils.getNowTime());
|
|
@@ -1052,6 +1099,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
|
|
|
if(!ToolsUtils.verifEasyPwd(bo.getNewPwd())){
|
|
|
throw new CustomException("密码应由6-18位组成");
|
|
|
}
|
|
|
+ user.setPasswordAes(EncryptHandler.encrypt(bo.getNewPwd()));
|
|
|
user.setPassword(SecurityUtils.encryptPassword(bo.getNewPwd()));
|
|
|
user.setPwdTime(DateUtils.getNowTime());
|
|
|
user.setUpdateTime(DateUtils.getNowTime());
|
|
@@ -1294,6 +1342,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
|
|
|
if(Validator.isEmpty(user)){
|
|
|
throw new CustomException("该手机号未注册");
|
|
|
}
|
|
|
+ user.setPasswordAes(EncryptHandler.encrypt(bo.getPwd()));
|
|
|
user.setPassword(SecurityUtils.encryptPassword(bo.getPwd()));
|
|
|
user.setPwdTime(DateUtils.getNowTime());
|
|
|
user.setUpdateTime(DateUtils.getNowTime());
|
|
@@ -1444,7 +1493,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
|
|
|
}
|
|
|
if (!SecurityUtils.matchesPassword(password,user.getPassword()))
|
|
|
{
|
|
|
- iUserLoginErrorService.saveErrorLog(bo.getAccount());
|
|
|
+// iUserLoginErrorService.saveErrorLog(bo.getAccount());
|
|
|
throw new BaseException("登录信息错误");
|
|
|
}
|
|
|
Long tenantId = user.getTenantId();
|
|
@@ -1660,7 +1709,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
|
|
|
switch (bo.getUrlType()){
|
|
|
case 1://H5
|
|
|
post = tenant.getHostH5();
|
|
|
- path = "pages/webview/index";
|
|
|
+ path = "pages5/webview/index";
|
|
|
break;
|
|
|
case 2://PC
|
|
|
post = tenant.getHostPc();
|
|
@@ -1796,6 +1845,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
|
|
|
//初始密码(身份证后6位)
|
|
|
String idCard = itemImport.getUserCard();
|
|
|
String pwd = idCard.substring(idCard.length() - 6); // 随机密码
|
|
|
+ inertData.setPasswordAes(EncryptHandler.encrypt(pwd));
|
|
|
inertData.setPassword(SecurityUtils.encryptPassword(pwd));
|
|
|
inertData.setImportNo(importNo); //设置导入编号 一个导入页面同时导入多次算一个编号
|
|
|
if(!save(inertData)){
|
|
@@ -2020,6 +2070,27 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
|
|
|
iSysTaskService.updateById(task);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public UserStudyTimeVo getStudyTimeByCard(String idCard,Integer type) {
|
|
|
+ UserStudyTimeVo vo = new UserStudyTimeVo();
|
|
|
+ vo.setIdCard(idCard);
|
|
|
+ User user = getByCardNoTenant(idCard);
|
|
|
+ if (ObjectUtils.isNull(user)){
|
|
|
+ vo.setStudyFlag(false);
|
|
|
+ return vo;
|
|
|
+ }
|
|
|
+ String business = type == 1? "继续教育二级建造师":"继续教育二级造价师";
|
|
|
+ //查询是否有二建课程在学习
|
|
|
+ Long studyTime = baseMapper.getFistStudyTime(user.getUserId(),user.getTenantId(),business);
|
|
|
+ if (ObjectUtils.isNull(studyTime)){
|
|
|
+ vo.setStudyFlag(false);
|
|
|
+ return vo;
|
|
|
+ }
|
|
|
+ vo.setStudyFlag(true);
|
|
|
+ vo.setStudyStartTime(studyTime);
|
|
|
+ return vo;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public Map<String, Object> accountLogin(UserAppAccountLoginBo bo) {
|
|
|
if(Validator.isEmpty(bo.getAccount())){
|