人脸更新
This commit is contained in:
parent
0ca399d0f7
commit
e696b1992f
|
|
@ -53,7 +53,7 @@ public interface WechatPushDao {
|
||||||
* 审核人脸时调用
|
* 审核人脸时调用
|
||||||
* @String isCheck
|
* @String isCheck
|
||||||
*/
|
*/
|
||||||
void checkWechatIsFace(String isCheck);
|
void checkWechatIsFace(SysUser user);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询请假数据
|
* 查询请假数据
|
||||||
|
|
|
||||||
|
|
@ -70,7 +70,7 @@ public class WechatTasks {
|
||||||
* 人员基础数据同步定时器
|
* 人员基础数据同步定时器
|
||||||
*/
|
*/
|
||||||
// @Scheduled(cron = "0 0/10 * * * ?")
|
// @Scheduled(cron = "0 0/10 * * * ?")
|
||||||
// @Scheduled(fixedDelay = 60000 * 10)
|
@Scheduled(fixedDelay = 60000 * 10)
|
||||||
@Async
|
@Async
|
||||||
public void pushPersonTask() {
|
public void pushPersonTask() {
|
||||||
log.info("--------人员基础数据同步定时器开启------");
|
log.info("--------人员基础数据同步定时器开启------");
|
||||||
|
|
@ -84,10 +84,14 @@ public class WechatTasks {
|
||||||
List<SysUser> wechatList = FastJsonHelper.jsonArrStrToBeanList(string, SysUser.class);
|
List<SysUser> wechatList = FastJsonHelper.jsonArrStrToBeanList(string, SysUser.class);
|
||||||
// //所有字段同步
|
// //所有字段同步
|
||||||
syncListsToDatabase(list, wechatList);
|
syncListsToDatabase(list, wechatList);
|
||||||
// //人脸更新
|
//人脸更新
|
||||||
// List<AttFaceBean> faceList = dao.getWebFaceList();
|
List<AttFaceBean> faceList = dao.getWebFaceList();
|
||||||
// List<AttFaceBean> wechatFaceList = dao.getWeChatFaceList();
|
// List<AttFaceBean> wechatFaceList = dao.getWeChatFaceList();
|
||||||
// syncFaceToDatabase(faceList, wechatFaceList);
|
String jsonStr2 = "{}";
|
||||||
|
String method2 = "getWeChatFaceList";
|
||||||
|
String string2 = httpPost(method2, jsonStr2);
|
||||||
|
List<AttFaceBean> wechatFaceList = FastJsonHelper.jsonArrStrToBeanList(string2, AttFaceBean.class);
|
||||||
|
syncFaceToDatabase(faceList, wechatFaceList);
|
||||||
log.info("--------人员基础数据同步定时器完毕------");
|
log.info("--------人员基础数据同步定时器完毕------");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -108,7 +112,7 @@ public class WechatTasks {
|
||||||
for (EvectionBean bean : list) {
|
for (EvectionBean bean : list) {
|
||||||
// 如果Map中没有该userId的组织机构信息,则从数据库查询
|
// 如果Map中没有该userId的组织机构信息,则从数据库查询
|
||||||
SysOrg orgInfo = dao.getOrgInfoByUserId(bean.getUserId());
|
SysOrg orgInfo = dao.getOrgInfoByUserId(bean.getUserId());
|
||||||
if(orgInfo != null){
|
if (orgInfo != null) {
|
||||||
bean.setOrgId(orgInfo.getId());
|
bean.setOrgId(orgInfo.getId());
|
||||||
bean.setOrgName(orgInfo.getOrgName());
|
bean.setOrgName(orgInfo.getOrgName());
|
||||||
}
|
}
|
||||||
|
|
@ -141,7 +145,7 @@ public class WechatTasks {
|
||||||
/**
|
/**
|
||||||
* 考勤数据同步定时器
|
* 考勤数据同步定时器
|
||||||
*/
|
*/
|
||||||
@Scheduled(fixedDelay = 60000 * 10)
|
// @Scheduled(fixedDelay = 60000 * 10)
|
||||||
@Async
|
@Async
|
||||||
public void wechatAttTask() {
|
public void wechatAttTask() {
|
||||||
log.info("--------考勤数据定时器开启------");
|
log.info("--------考勤数据定时器开启------");
|
||||||
|
|
@ -152,21 +156,21 @@ public class WechatTasks {
|
||||||
String string = httpPost(method, jsonStr);
|
String string = httpPost(method, jsonStr);
|
||||||
List<AttSourceDataBean> attSourceList = FastJsonHelper.jsonArrStrToBeanList(string, AttSourceDataBean.class);
|
List<AttSourceDataBean> attSourceList = FastJsonHelper.jsonArrStrToBeanList(string, AttSourceDataBean.class);
|
||||||
attSourceList.forEach(bean -> {
|
attSourceList.forEach(bean -> {
|
||||||
//判断是否外勤
|
//判断是否外勤
|
||||||
//1.0获取考勤规则的组织的
|
//1.0获取考勤规则的组织的
|
||||||
String userName = bean.getName();
|
String userName = bean.getName();
|
||||||
// 如果Map中没有该userId的组织机构信息,则从数据库查询
|
// 如果Map中没有该userId的组织机构信息,则从数据库查询
|
||||||
SysOrg orgInfo = dao.getOrgInfoByUserName(userName);
|
SysOrg orgInfo = dao.getOrgInfoByUserName(userName);
|
||||||
if(orgInfo != null){
|
if (orgInfo != null) {
|
||||||
double distanceMeters = calculateDistance(bean.getAttLat(), bean.getAttLon(), orgInfo.getLat().longValue(), orgInfo.getLon().longValue(), DistanceCalculator.Unit.METERS);
|
double distanceMeters = calculateDistance(bean.getAttLat(), bean.getAttLon(), orgInfo.getLat().longValue(), orgInfo.getLon().longValue(), DistanceCalculator.Unit.METERS);
|
||||||
if (distanceMeters>orgInfo.getAttRange()){
|
if (distanceMeters > orgInfo.getAttRange()) {
|
||||||
//外勤
|
//外勤
|
||||||
bean.setIsOutsideAtt("1");
|
bean.setIsOutsideAtt("1");
|
||||||
}else{
|
} else {
|
||||||
//正常
|
//正常
|
||||||
bean.setIsOutsideAtt("2");
|
bean.setIsOutsideAtt("2");
|
||||||
}
|
}
|
||||||
}else{
|
} else {
|
||||||
//外勤
|
//外勤
|
||||||
bean.setIsOutsideAtt("1");
|
bean.setIsOutsideAtt("1");
|
||||||
}
|
}
|
||||||
|
|
@ -183,13 +187,11 @@ public class WechatTasks {
|
||||||
});
|
});
|
||||||
//新增考勤到考勤来源表(数据过多时分批次插入)
|
//新增考勤到考勤来源表(数据过多时分批次插入)
|
||||||
attTasks.insertAttSourceData(attSourceList);
|
attTasks.insertAttSourceData(attSourceList);
|
||||||
|
|
||||||
//将是否外勤更新到小程序库
|
//将是否外勤更新到小程序库
|
||||||
// dao.updateWechatAttList(attSourceList);
|
// dao.updateWechatAttList(attSourceList);
|
||||||
String jsonStr2 = FastJsonHelper.beanListToJsonArrStr(attSourceList);
|
String jsonStr2 = FastJsonHelper.beanListToJsonArrStr(attSourceList);
|
||||||
String method2 = "updateWechatAttList";
|
String method2 = "updateWechatAttList";
|
||||||
String string2 = httpPost(method2, jsonStr2);
|
String string2 = httpPost(method2, jsonStr2);
|
||||||
|
|
||||||
log.info("--------考勤数据定时器完毕------");
|
log.info("--------考勤数据定时器完毕------");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -201,7 +203,7 @@ public class WechatTasks {
|
||||||
if (!wechatUserMap.containsKey(userId)) {
|
if (!wechatUserMap.containsKey(userId)) {
|
||||||
//第一次录入人脸
|
//第一次录入人脸
|
||||||
dao.insertWebFace(user);
|
dao.insertWebFace(user);
|
||||||
}else {
|
} else {
|
||||||
//将未审核通过的数据更新到考勤库审核
|
//将未审核通过的数据更新到考勤库审核
|
||||||
dao.updateWebFace(user);
|
dao.updateWebFace(user);
|
||||||
}
|
}
|
||||||
|
|
@ -222,7 +224,7 @@ public class WechatTasks {
|
||||||
String jsonStr = FastJsonHelper.beanToJsonStr(user);
|
String jsonStr = FastJsonHelper.beanToJsonStr(user);
|
||||||
String method = "insertWechatPerson";
|
String method = "insertWechatPerson";
|
||||||
String string = httpPost(method, jsonStr);
|
String string = httpPost(method, jsonStr);
|
||||||
}else {
|
} else {
|
||||||
// 如果存在,则判断时间是否后于小程序时间
|
// 如果存在,则判断时间是否后于小程序时间
|
||||||
// 如果 userId 存在于 wechatList,则比较 updateTime
|
// 如果 userId 存在于 wechatList,则比较 updateTime
|
||||||
SysUser wechatUser = wechatUserMap.get(userId);
|
SysUser wechatUser = wechatUserMap.get(userId);
|
||||||
|
|
@ -233,17 +235,17 @@ public class WechatTasks {
|
||||||
String method = "updateWechatPerson";
|
String method = "updateWechatPerson";
|
||||||
String string = httpPost(method, jsonStr);
|
String string = httpPost(method, jsonStr);
|
||||||
|
|
||||||
}else if (wechatUser.getUpdateTime().after(user.getUpdateTime())){
|
} else if (wechatUser.getUpdateTime().after(user.getUpdateTime())) {
|
||||||
//更新后端密码
|
//更新后端密码
|
||||||
dao.updateWebPassword(wechatUser);
|
dao.updateWebPassword(wechatUser);
|
||||||
}
|
}
|
||||||
//openId 单向更新
|
//openId 单向更新
|
||||||
if (StringUtils.isNotEmpty(wechatUser.getOpenId()) && !wechatUser.getOpenId().equals(user.getOpenId())){
|
if (StringUtils.isNotEmpty(wechatUser.getOpenId()) && !wechatUser.getOpenId().equals(user.getOpenId())) {
|
||||||
//更新后端openId
|
//更新后端openId
|
||||||
dao.updateWebOpenId(wechatUser);
|
dao.updateWebOpenId(wechatUser);
|
||||||
}
|
}
|
||||||
//单项更新 isPd
|
//单项更新 isPd
|
||||||
if (StringUtils.isNotEmpty(user.getIsPd()) && !user.getIsPd().equals(wechatUser.getIsPd())){
|
if (StringUtils.isNotEmpty(user.getIsPd()) && !user.getIsPd().equals(wechatUser.getIsPd())) {
|
||||||
//更新小程序isPd
|
//更新小程序isPd
|
||||||
// dao.updateWechatIsPd(user);
|
// dao.updateWechatIsPd(user);
|
||||||
String jsonStr = FastJsonHelper.beanToJsonStr(user);
|
String jsonStr = FastJsonHelper.beanToJsonStr(user);
|
||||||
|
|
@ -269,11 +271,9 @@ public class WechatTasks {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//人脸更新是调用的方法
|
//人脸更新是调用的方法
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private String httpPost(String method, String jsonStr) {
|
private String httpPost(String method, String jsonStr) {
|
||||||
try {
|
try {
|
||||||
HttpResponse response = HttpRequest.post(IpAndPathConfig.getWechatUrl() + "/" + method)
|
HttpResponse response = HttpRequest.post(IpAndPathConfig.getWechatUrl() + "/" + method)
|
||||||
|
|
@ -290,5 +290,37 @@ public class WechatTasks {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 授予人脸重新录入权限时调用
|
||||||
|
* @param user
|
||||||
|
*/
|
||||||
|
public int updateWechatIsFace(SysUser user){
|
||||||
|
// dao.updateWechatIsFace(user);
|
||||||
|
String jsonStr = FastJsonHelper.beanToJsonStr(user);
|
||||||
|
String method = "updateWechatIsFace";
|
||||||
|
String string = httpPost(method, jsonStr);
|
||||||
|
if("success".equals(string)){
|
||||||
|
return 1;
|
||||||
|
}else{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审核人脸时调用
|
||||||
|
* @String isCheck
|
||||||
|
*/
|
||||||
|
public int checkWechatIsFace(SysUser user){
|
||||||
|
// dao.checkWechatIsFace(user);
|
||||||
|
String jsonStr = FastJsonHelper.beanToJsonStr(user);
|
||||||
|
String method = "checkWechatIsFace";
|
||||||
|
String string = httpPost(method, jsonStr);
|
||||||
|
if("success".equals(string)){
|
||||||
|
return 1;
|
||||||
|
}else{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
values(#{userId},#{userName},#{phone},#{password},#{isPd},#{isFace},#{updateTime},#{isCadre})
|
values(#{userId},#{userName},#{phone},#{password},#{isPd},#{isFace},#{updateTime},#{isCadre})
|
||||||
</insert>
|
</insert>
|
||||||
<insert id="insertWebFace">
|
<insert id="insertWebFace">
|
||||||
insert into sys_user_face(user_id,applied_face,applied_face_features,new_face,new_face_features,is_face,is_check)
|
insert into sys_user_face(user_id,applied_face,applied_face_features,new_face,new_face_features,is_check)
|
||||||
values(#{userId},#{appliedFace},#{appliedFaceFeatures},#{newFace},#{newFaceFeatures},#{isCheck})
|
values(#{userId},#{appliedFace},#{appliedFaceFeatures},#{newFace},#{newFaceFeatures},#{isCheck})
|
||||||
</insert>
|
</insert>
|
||||||
<insert id="insertWebLeave" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
|
<insert id="insertWebLeave" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
|
||||||
|
|
@ -63,15 +63,7 @@
|
||||||
<if test="isCheck == '2'">
|
<if test="isCheck == '2'">
|
||||||
set is_check = #{isCheck},new_face = null,new_face_features = null
|
set is_check = #{isCheck},new_face = null,new_face_features = null
|
||||||
</if>
|
</if>
|
||||||
where user_id = #{userId};
|
where user_id = #{userId}
|
||||||
update sys_user_face
|
|
||||||
<if test="isCheck == '1'">
|
|
||||||
set is_check = #{isCheck},applied_face = new_face,applied_face_features = new_face_features
|
|
||||||
</if>
|
|
||||||
<if test="isCheck == '2'">
|
|
||||||
set is_check = #{isCheck},new_face = null,new_face_features = null
|
|
||||||
</if>
|
|
||||||
where user_id = #{userId};
|
|
||||||
</update>
|
</update>
|
||||||
<update id="updateWechatLeave">
|
<update id="updateWechatLeave">
|
||||||
update gz_attendance_wechat.leave_apply_wechat set id = #{id} where uuid = #{uuid}
|
update gz_attendance_wechat.leave_apply_wechat set id = #{id} where uuid = #{uuid}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue