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