bug修复

This commit is contained in:
guo 2024-04-08 15:02:48 +08:00
parent 1a377cda8d
commit 97b0aee912
10 changed files with 74 additions and 41 deletions

View File

@ -1205,11 +1205,11 @@ public class SystemUserServiceImpl extends ServiceImpl<SystemUserMapper, SystemU
throw new OpenAlertException("账号不存在");
}
String code = NumberUtils.randomNum(6);
redisRepository.set(UPDATE_PW_EMAIL_CODE + su.getAccount(), code, 1200L);
redisRepository.set(UPDATE_PW_EMAIL_CODE + su.getAccount(), code, 300L);
HashMap<String, Object> registryEmailMap = xzRegistryService.getRegistryEmail(systemUser);
String subject = "重置密码";
String content = "您收到这封邮件是因为我们收到了一个重设密码的请求,您的账号是" + systemUser.getAccount() + ",验证码是" + code +
"请注意,为了您的账户安全,请勿与他人分享您的验证码。";
String content = "您收到这封邮件是因为我们收到了一个重设密码的请求,您的账号是" + systemUser.getAccount() + ",验证码是" + code +
"请注意,为了您的账户安全,请勿与他人分享您的验证码。";
emailUtils.sendSimpleMail(MapUtils.getString(registryEmailMap, "email"), subject, content);
} else {
throw new OpenAlertException("type不能为空");
@ -1222,7 +1222,6 @@ public class SystemUserServiceImpl extends ServiceImpl<SystemUserMapper, SystemU
String code = MapUtils.getString(paramMap, "code");
String key = UPDATE_PW_EMAIL_CODE + account;
Object o = redisRepository.get(key);
redisRepository.del(key);
if (!Objects.equals(code, o)) {
throw new OpenAlertException("验证码不正确或者失效");
}
@ -1246,9 +1245,8 @@ public class SystemUserServiceImpl extends ServiceImpl<SystemUserMapper, SystemU
}
SystemUser systemUser = systemUserMapper.selectOne(new LambdaQueryWrapper<SystemUser>()
.eq(SystemUser::getAccount, account));
String showPassword = systemUser.getShowPassword();
systemUser.setPwUpdateTime(new Date());
systemUser.setPassword(passwordEncoder.encode(showPassword));
systemUser.setPassword(passwordEncoder.encode(password));
systemUser.setShowPassword(password);
systemUserMapper.updateById(systemUser);

View File

@ -27,13 +27,13 @@ public class UfaceDevApiController {
@ApiOperation(value = "下载白名单(拉取允许通行人员信息)", notes = "下载白名单(拉取允许通行人员信息)", httpMethod = "GET")
@GetMapping(value = "/workers")
public GetWorkerInfoByDevVo getWorkerInfoByDev(GetWorkerInfoByDevDto dto) {
public String getWorkerInfoByDev(GetWorkerInfoByDevDto dto) {
return workerInfoService.getWorkerInfoByDev(dto);
}
@ApiOperation(value = "考勤照片上传", notes = "考勤照片上传", httpMethod = "POST")
@PostMapping(value = "/photo")
public GetWorkerInfoByDevVo uploadAttendanceByDev(@RequestBody UploadAttendanceByDevDto dto) {
public String uploadAttendanceByDev(@RequestBody UploadAttendanceByDevDto dto) {
return workerAttendanceService.uploadAttendanceByDev(dto);
}

View File

@ -94,9 +94,9 @@ public class WorkerAttendance implements Serializable {
@ApiModelProperty(value = "通行设备唯一标识")
private java.lang.String devSn;
/**
* 是否计入考勤统计
* 是否计入考勤,1不计入考勤默认都计入考勤都为0
*/
@ApiModelProperty(value = "是否计入考勤统计")
@ApiModelProperty(value = "是否计入考勤,1不计入考勤默认都计入考勤都为0")
private java.lang.Integer isStatistics;
/**
* 车牌号

View File

@ -42,8 +42,8 @@ public class GetWorkerInfoByDevVo {
private String photo;
@ApiModelProperty("项目id项目sn")
private String projectId;
@ApiModelProperty("0 修改过的数据 1 删除的数据")
private String del;
//@ApiModelProperty("0 修改过的数据 1 删除的数据")
//private String del;
}

View File

@ -78,5 +78,5 @@ public interface IWorkerAttendanceService extends IService<WorkerAttendance> {
AttendanceOfEachCompanyVo queryAttendanceOfEachCompany(Map<String, Object> map);
GetWorkerInfoByDevVo uploadAttendanceByDev(UploadAttendanceByDevDto dto);
String uploadAttendanceByDev(UploadAttendanceByDevDto dto);
}

View File

@ -123,7 +123,7 @@ public interface IWorkerInfoService extends IService<WorkerInfo> {
WorkerAgeVo statisticsWorkerAge(Map<String, Object> map);
GetWorkerInfoByDevVo getWorkerInfoByDev(GetWorkerInfoByDevDto dto);
String getWorkerInfoByDev(GetWorkerInfoByDevDto dto);
CountEntryAndExitNumVo countEntryAndExitNum(Map<String, Object> map);
}

View File

@ -5,6 +5,7 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.exceptions.ExceptionUtil;
import cn.hutool.core.io.FileUtil;
import cn.xuyanwu.spring.file.storage.FileInfo;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.arcsoft.face.FaceFeature;
import com.arcsoft.face.FaceInfo;
@ -1080,7 +1081,7 @@ status 状态码 String 1表示成功其余表示失败
}
@Override
public GetWorkerInfoByDevVo uploadAttendanceByDev(UploadAttendanceByDevDto dto) {
public String uploadAttendanceByDev(UploadAttendanceByDevDto dto) {
WorkerInfo workerInfo = workerInfoMapper.selectById(dto.getWorkerId());
if (workerInfo == null) {
@ -1102,12 +1103,10 @@ status 状态码 String 1表示成功其余表示失败
fileInfo = uploadFileService.uploadFileBase64Image(dto.getBase64());
attendance.setImageUrl(fileInfo.getUrl());
}
attendance.setAttendanceType(1);
attendance.setPassagewayName(dev.getDevName());
attendance.setAttendanceStatus(1);
attendance.setTemperature(dto.getTemp());
attendance.setDevSn(dev.getDevSn());
attendance.setIsStatistics(1);
baseMapper.insert(attendance);
GetWorkerInfoByDevVo vo = new GetWorkerInfoByDevVo();
@ -1121,7 +1120,7 @@ status 状态码 String 1表示成功其余表示失败
vo.setData(rtMap);
}
vo.setEvent("photo");
return vo;
return JSON.toJSONString(vo);
}
private Integer getCardType(String type) {

View File

@ -16,6 +16,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gexin.fastjson.JSON;
import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.jeecg.common.execption.OpenAlertException;
import com.zhgd.jeecg.common.mybatis.EntityMap;
@ -1905,43 +1906,28 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
return vo;
}
/**
* 只需要实现全量更新设备这边是全量更新的人员删除后直接从白名单中删除就行现在不是通过del这个标志判断的这个标志应该是后面加的设备最早不是按这个标志判断的
* 比如之前有3个人后面xxx人员退场了白名单就返回剩下的两个人就行因为默认都是全量的增量更新需要专门开启实现了全量就可以了
*/
@Override
public GetWorkerInfoByDevVo getWorkerInfoByDev(GetWorkerInfoByDevDto dto) {
public String getWorkerInfoByDev(GetWorkerInfoByDevDto dto) {
String deviceId = dto.getDeviceId();
UfaceDev dev = ufaceDevMapper.selectOne(new LambdaQueryWrapper<UfaceDev>()
.eq(UfaceDev::getDevSn, deviceId));
if (dev == null) {
throw new OpenAlertException("设备编号不存在");
}
String update = null;
if (StringUtils.isNotBlank(dto.getUpdate())) {
update = DateUtil.formatDateTime(new Date(Long.valueOf(dto.getUpdate()) * 1000));
}
String projectSn = dev.getProjectSn();
List<WorkerInfo> workerInfos = workerInfoMapper.selectList(new LambdaQueryWrapper<WorkerInfo>()
.eq(WorkerInfo::getProjectSn, projectSn)
.eq(WorkerInfo::getInserviceType, 1)
.ge(update != null, WorkerInfo::getUpdateTime, update)
);
//添加人员
ArrayList<GetWorkerInfoByDevVo.Worker> datas = new ArrayList<>();
addDatas(workerInfos, "0", datas);
//添加删除的人员(离职或已删除
List<WorkerInfo> exitWorkerInfos = workerInfoMapper.selectList(new LambdaQueryWrapper<WorkerInfo>()
.eq(WorkerInfo::getProjectSn, projectSn)
.eq(WorkerInfo::getInserviceType, 2)
.ge(update != null, WorkerInfo::getUpdateTime, update)
);
addDatas(exitWorkerInfos, "1", datas);
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("projectSn", projectSn);
map.put("updateTime", update);
List<WorkerInfo> deleteWorkerInfos = workerInfoDeleteMapper.getDeleteWorkerInfo(map);
addDatas(deleteWorkerInfos, "1", datas);
GetWorkerInfoByDevVo getWorkerInfoByDevVo = new GetWorkerInfoByDevVo();
getWorkerInfoByDevVo.setSuccess(true);
getWorkerInfoByDevVo.setCode(0);
@ -1949,9 +1935,58 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
getWorkerInfoByDevVo.setTime(System.currentTimeMillis() / 1000);
getWorkerInfoByDevVo.setData(datas);
getWorkerInfoByDevVo.setEvent("workers");
return getWorkerInfoByDevVo;
return JSON.toJSONString(getWorkerInfoByDevVo);
}
///*
//全量和增量更新
// */
//public String getWorkerInfoByDev1(GetWorkerInfoByDevDto dto) {
// String deviceId = dto.getDeviceId();
// UfaceDev dev = ufaceDevMapper.selectOne(new LambdaQueryWrapper<UfaceDev>()
// .eq(UfaceDev::getDevSn, deviceId));
// if (dev == null) {
// throw new OpenAlertException("设备编号不存在");
// }
// String update = null;
// if (StringUtils.isNotBlank(dto.getUpdate())) {
// update = DateUtil.formatDateTime(new Date(Long.valueOf(dto.getUpdate()) * 1000));
// }
// String projectSn = dev.getProjectSn();
// List<WorkerInfo> workerInfos = workerInfoMapper.selectList(new LambdaQueryWrapper<WorkerInfo>()
// .eq(WorkerInfo::getProjectSn, projectSn)
// .eq(WorkerInfo::getInserviceType, 1)
// .ge(update != null, WorkerInfo::getUpdateTime, update)
// );
//
// //添加人员
// ArrayList<GetWorkerInfoByDevVo.Worker> datas = new ArrayList<>();
// addDatas(workerInfos, "0", datas);
//
// //添加删除的人员(离职或已删除
// List<WorkerInfo> exitWorkerInfos = workerInfoMapper.selectList(new LambdaQueryWrapper<WorkerInfo>()
// .eq(WorkerInfo::getProjectSn, projectSn)
// .eq(WorkerInfo::getInserviceType, 2)
// .ge(update != null, WorkerInfo::getUpdateTime, update)
// );
// addDatas(exitWorkerInfos, "1", datas);
// HashMap<String, Object> map = new HashMap<String, Object>();
// map.put("projectSn", projectSn);
// map.put("updateTime", update);
// List<WorkerInfo> deleteWorkerInfos = workerInfoDeleteMapper.getDeleteWorkerInfo(map);
// addDatas(deleteWorkerInfos, "1", datas);
//
//
// GetWorkerInfoByDevVo getWorkerInfoByDevVo = new GetWorkerInfoByDevVo();
// getWorkerInfoByDevVo.setSuccess(true);
// getWorkerInfoByDevVo.setCode(0);
// getWorkerInfoByDevVo.setMessage("success");
// getWorkerInfoByDevVo.setTime(System.currentTimeMillis() / 1000);
// getWorkerInfoByDevVo.setData(datas);
// getWorkerInfoByDevVo.setEvent("workers");
// return JSON.toJSONString(getWorkerInfoByDevVo);
//}
@Override
public CountEntryAndExitNumVo countEntryAndExitNum(Map<String, Object> map) {
return baseMapper.countEntryAndExitNum(map);
@ -1969,7 +2004,7 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
worker.setPhoto(serverUrl + "/image/" + workerInfo.getFieldAcquisitionUrl());
}
worker.setProjectId(workerInfo.getProjectSn());
worker.setDel(del);
//worker.setDel(del);
datas.add(worker);
}
}

View File

@ -147,7 +147,7 @@ public class XzRegistryServiceImpl extends ServiceImpl<XzRegistryMapper, XzRegis
systemUser.setPassword(xz.getPw());
systemUser.setRealName(xz.getAccount());
systemUser.setAccountType(10);
systemUser.setHeadquartersSn(r.getHeadquartersSn());
systemUser.setHeadquartersSn(xz.getHeadquartersSn());
Long userId = systemUserService.saveSystemUser(systemUser);
//处理组织权限
HashMap<String, Object> map = new HashMap<>();

View File

@ -353,6 +353,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
.antMatchers("/xmgl/systemUser/getEmailCodeByAccount").permitAll()
.antMatchers("/xmgl/systemUser/resetPwValidCode").permitAll()
.antMatchers("/xmgl/systemUser/resetPwByEmail").permitAll()
.antMatchers("/xmgl/xzRegistry/validCode").permitAll()
.antMatchers(HttpMethod.OPTIONS, "/**").anonymous()
.anyRequest().authenticated() // 剩下所有的验证都需要验证.
.and()