diff --git a/src/main/java/io/v/nutz/base/utils/WxHttpUtil.java b/src/main/java/io/v/nutz/base/utils/WxHttpUtil.java index 4cd21be..3632367 100644 --- a/src/main/java/io/v/nutz/base/utils/WxHttpUtil.java +++ b/src/main/java/io/v/nutz/base/utils/WxHttpUtil.java @@ -37,7 +37,7 @@ public class WxHttpUtil { private final NutMap jsonHeader = NutMap.NEW().setv("Content-Type", "application/json"); - public String env = "hj-2ggpsf3t8a32c4eb"; + public String env = "cloudbase-1glnwh6qfc60671f"; public String queryUrl = "https://api.weixin.qq.com/tcb/databasequery?access_token=ACCESS_TOKEN"; diff --git a/src/main/java/io/v/nutz/zhgh/data/service/impl/SourceUserServiceImpl.java b/src/main/java/io/v/nutz/zhgh/data/service/impl/SourceUserServiceImpl.java index 92bc6c4..9162b63 100644 --- a/src/main/java/io/v/nutz/zhgh/data/service/impl/SourceUserServiceImpl.java +++ b/src/main/java/io/v/nutz/zhgh/data/service/impl/SourceUserServiceImpl.java @@ -165,7 +165,8 @@ public class SourceUserServiceImpl extends ViServiceImpl implements List addWelfareMemberUserIds = new CopyOnWriteArrayList<>(); // 移除福利会员角色的用户id List deleteWelfareMemberUserIds = new CopyOnWriteArrayList<>(); - + // 数据库没单位的,但是数据源有单位 + List renewUnitUser = new CopyOnWriteArrayList<>(); // 创建一个固定大小的线程池 可以根据服务器性能调整线程池大小 int numberOfThreads = Runtime.getRuntime().availableProcessors() * 2; @@ -195,6 +196,11 @@ public class SourceUserServiceImpl extends ViServiceImpl implements } } + if (user != null && StrUtil.isBlank(user.getUnitid()) && StrUtil.isNotBlank(source.getUnitid())) { + user.setUnitid(source.getUnitid()); + renewUnitUser.add(user); + } + Sys_user u = new Sys_user(); BeanUtils.copyProperties(source, u); switch (sourceType) { @@ -277,6 +283,12 @@ public class SourceUserServiceImpl extends ViServiceImpl implements // 在职状态关乎变更类型,建议自己手动更新,不要使用自动更新功能,硬要使用,请点进 renewUserState 打开注释 userPatUpService.renewUserState(); + doClearRepeat(pullTime); + + if (Lang.isNotEmpty(renewUnitUser)) { + dao().update(renewUnitUser, "unitid"); + } + // 修改不在人事库的人员,删除角色 // userPatUpService.deleteNotInSourceUser(true); //清除缓存 @@ -656,6 +668,57 @@ public class SourceUserServiceImpl extends ViServiceImpl implements } + private void doClearRepeat(String pullTime) { + + //查出变更类型是新增的工号 + List histories = dao().query(UserHistory.class, Cnd.where("changeTime", "=", pullTime)); + List loginnameList = histories.stream().map(Sys_user::getLoginname).collect(Collectors.toList()); + + //查出这些工号在sys_user表中是否与user_source表中的姓名不一致 + List userList = dao().query(Sys_user.class, Cnd.where("loginname", "in", loginnameList)); + + List sourceList = dao().query(UserSource.class, Cnd.where("pulltime", "=", pullTime) + .and("loginname", "in", loginnameList)); + + //工号为键 + Map sourceMap = sourceList.stream().collect(Collectors.toMap(Sys_user::getLoginname, v -> v)); + + List needInsertUserList = new ArrayList<>(); + + List needDeleteUserIdList = new ArrayList<>(); + + List needInsertUserRoleList = new ArrayList<>(); + + userList.forEach(v -> { + UserSource source = sourceMap.get(v.getLoginname()); + if (Lang.isEmpty(source)) return; + + //如果工号相同,姓名不同,就删除sys_user的数据,并且删除角色 + if (!v.getUsername().equals(source.getUsername())) { + needDeleteUserIdList.add(v.getId()); + + Sys_user user = new Sys_user(); + BeanUtils.copyProperties(source, user); + + needInsertUserList.add(user); + + Sys_user_role userRole = new Sys_user_role(); + userRole.setUserId(user.getId()); + userRole.setRoleId(Roles.PUBLIC); + needInsertUserRoleList.add(userRole); + } + }); + + if (Lang.isNotEmpty(needDeleteUserIdList)) { + dao().clear(Sys_user.class, Cnd.where("id", "in", needDeleteUserIdList)); + dao().clear(Sys_user_role.class, Cnd.where("userId", "in", needDeleteUserIdList)); + dao().fastInsert(needInsertUserList); + dao().insert(needInsertUserRoleList); + } + } + + + /** * 数据大批量更新 * @param needDoUpdateList 需要更新的数据 diff --git a/src/main/java/io/v/nutz/zhgh/jsz/controller/pc/HdMangeCon.java b/src/main/java/io/v/nutz/zhgh/jsz/controller/pc/HdMangeCon.java index 21cfbec..c9654eb 100644 --- a/src/main/java/io/v/nutz/zhgh/jsz/controller/pc/HdMangeCon.java +++ b/src/main/java/io/v/nutz/zhgh/jsz/controller/pc/HdMangeCon.java @@ -107,7 +107,7 @@ public class HdMangeCon { } // String pic = Strings.isNotBlank(picid) ? picid : map.getString("pic"); - String pic = "cloud://hj-2ggpsf3t8a32c4eb.686a-hj-2ggpsf3t8a32c4eb-1317134219/activity/健身走1.jpg"; + String pic = "cloud://cloudbase-1glnwh6qfc60671f.636c-cloudbase-1glnwh6qfc60671f-1317134219/activity/健身走.jpg"; String query = """ db.collection('activity') diff --git a/src/main/java/io/v/nutz/zhgh/staffmanage/member/controller/apply/MemberApplyController.java b/src/main/java/io/v/nutz/zhgh/staffmanage/member/controller/apply/MemberApplyController.java index 8e598ed..4f36715 100644 --- a/src/main/java/io/v/nutz/zhgh/staffmanage/member/controller/apply/MemberApplyController.java +++ b/src/main/java/io/v/nutz/zhgh/staffmanage/member/controller/apply/MemberApplyController.java @@ -4,6 +4,7 @@ import cn.wizzer.framework.base.Result; import io.v.nutz.base.annontation.ViReturn; import io.v.nutz.base.utils.MsgApi; import io.v.nutz.base.utils.Roles; +import io.v.nutz.sys.models.Sys_user; import io.v.nutz.sys.models.Sys_user_role; import io.v.nutz.sys.models.User; import io.v.nutz.web.commons.base.Globals; @@ -21,6 +22,7 @@ import org.nutz.dao.Dao; import org.nutz.ioc.aop.Aop; import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.lang.Lang; import org.nutz.lang.util.NutMap; import org.nutz.mvc.annotation.At; import org.nutz.mvc.annotation.Ok; @@ -137,4 +139,17 @@ public class MemberApplyController { public Object validateApply(){ return dao.count(MemberApplyRecord.class, Cnd.where("userId", "=", ShiroUtil.getUserId()).and("applyStateId", "in", List.of(10, 20, 30, 50, 60))); } + + + @At + @ViReturn + @RequiresPermissions("member.apply.submit") + public Object getSelfUserInfo(){ + Sys_user user = (Sys_user) ShiroUtil.getPrincipal(); + if (Lang.isNotEmpty(user)) { + Sys_user sourceUser = dao.fetch(Sys_user.class, ShiroUtil.getUserId()); + user.setMember(sourceUser.getMember()); + } + return user; + } } diff --git a/src/main/resources/views/platform/jsz/pc/HdMange.html b/src/main/resources/views/platform/jsz/pc/HdMange.html index 0ef202c..1d27b6f 100644 --- a/src/main/resources/views/platform/jsz/pc/HdMange.html +++ b/src/main/resources/views/platform/jsz/pc/HdMange.html @@ -2,1583 +2,1597 @@ layout("/layouts/platform.html"){ #-->
- - - + + + + +
+ + 确 定 -
- - - - - - - - - - - - - - {{viewData.name}} - - - - - {{viewData.address}} - - - - - - - - - {{moment(viewData.apply_start_time).format('YYYY-MM-DD HH:mm:ss')}} - - - - - {{moment(viewData.apply_end_time).format('YYYY-MM-DD HH:mm:ss')}} - - - - - - - - {{moment(viewData.start_time).format('YYYY-MM-DD HH:mm:ss')}} - - - - - {{moment(viewData.end_time).format('YYYY-MM-DD HH:mm:ss')}} - - - - - - - 打卡模式 - 计步模式 - GPS模式 - - - - - {{viewData.dailyLottery?viewData.dailyLottery:'暂无'}} - - - - - {{viewData.walkingStepCount?viewData.walkingStepCount:'暂无'}} - - - - - - - -
暂无
-
-
-
-
- - - - - - - - - - - - - - -
-
- - -
-
- -
- - +
+ + + + + + + + + + + + + + {{viewData.name}} + + + + + {{viewData.address}} + + + + + + + + + {{moment(viewData.apply_start_time).format('YYYY-MM-DD HH:mm:ss')}} + + + + + {{moment(viewData.apply_end_time).format('YYYY-MM-DD HH:mm:ss')}} + + + + + + + + {{moment(viewData.start_time).format('YYYY-MM-DD HH:mm:ss')}} + + + + + {{moment(viewData.end_time).format('YYYY-MM-DD HH:mm:ss')}} + + + + + + + 打卡模式 + 计步模式 + GPS模式 + + + + + {{viewData.dailyLottery?viewData.dailyLottery:'暂无'}} + + + + + {{viewData.walkingStepCount?viewData.walkingStepCount:'暂无'}} + + + + + {{viewData.lotteryChance?'增加':'不增加'}} + + + + + {{viewData.leaderboardNum}} + + + + + {{viewData.repeatedlyLottery?'是':'否'}} + + + + + {{moment(viewData.drawTime).format('YYYY-MM-DD HH:mm:ss')}} + + + {{viewData.lotteryTime}} + + + + + + + +
暂无
+
+
+
+
+ + + + + + + + + + + + + + +
+
+ + +
+
+ +
+ + 关 闭 -
- - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + +
- - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + +
\ No newline at end of file +#--> diff --git a/src/main/resources/views/platform/jsz/pc/stepCountingRank.html b/src/main/resources/views/platform/jsz/pc/stepCountingRank.html index 5b2991d..6c6f4e2 100644 --- a/src/main/resources/views/platform/jsz/pc/stepCountingRank.html +++ b/src/main/resources/views/platform/jsz/pc/stepCountingRank.html @@ -4,217 +4,217 @@ layout("/layouts/platform.html"){
- - - + + +
diff --git a/src/main/resources/views/platform/member/apply/branchUnionAudit/index.html b/src/main/resources/views/platform/member/apply/branchUnionAudit/index.html index f2dc0cf..9b6132e 100644 --- a/src/main/resources/views/platform/member/apply/branchUnionAudit/index.html +++ b/src/main/resources/views/platform/member/apply/branchUnionAudit/index.html @@ -31,16 +31,12 @@ layout("/layouts/platform.html"){ - - + + + + + +