commit
This commit is contained in:
@@ -57,50 +57,50 @@ public class MsgApi {
|
||||
* @description
|
||||
*/
|
||||
public void sendMsg(List<String> channels, String loginNameStr, Integer mtype, String title, String content, String imageUrl,String link) {
|
||||
// try {
|
||||
// if (!Globals.MyConfig.getBoolean("SendMsg")) {
|
||||
// log.info("发送失败,消息暂未开启!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// if (Globals.isEnv(Env.dev)) {
|
||||
// log.info("开发模式不允许发送短信!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// if (StrUtil.isBlank(title)||StrUtil.isBlank(content) ||Lang.isEmpty(channels) || Lang.isEmpty(loginNameStr)) {
|
||||
// log.info("发送失败,缺少需要参数请检查!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// String msgToken = getMsgToken();
|
||||
// NutMap map = new NutMap();
|
||||
// map.put("channel", String.join(",", channels));
|
||||
// //推送范围(1:普通模式;2:全体教师;3:全体学生;4:全体人员)
|
||||
// map.put("objScope", 1);
|
||||
// map.put("objIds", loginNameStr);
|
||||
// map.put("mtype", mtype);
|
||||
// map.put("sendStatus", 1);
|
||||
// map.put("title", title);
|
||||
// map.put("content", content);
|
||||
// map.put("imageUrl", imageUrl);
|
||||
// map.put("link", link);
|
||||
//
|
||||
// HttpRequest request = HttpUtil.createPost(MSG_API)
|
||||
// .header("token", msgToken)
|
||||
// .body(Json.toJson(map));
|
||||
// JSONObject jsonObject = JSON.parseObject(request.execute().body());
|
||||
// int status = jsonObject.getInteger("code");
|
||||
//
|
||||
// if (status == 200) {
|
||||
// log.info("发送成功>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
|
||||
// } else {
|
||||
// log.info("发送失败>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
|
||||
// throw new RuntimeException("Message sending failed with status code: " + status + ", Message: " + jsonObject.getString("message"));
|
||||
// }
|
||||
// } catch (Exception e) {
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
try {
|
||||
if (!Globals.MyConfig.getBoolean("SendMsg")) {
|
||||
log.info("发送失败,消息暂未开启!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
|
||||
return;
|
||||
}
|
||||
|
||||
if (Globals.isEnv(Env.dev)) {
|
||||
log.info("开发模式不允许发送短信!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
|
||||
return;
|
||||
}
|
||||
|
||||
if (StrUtil.isBlank(title)||StrUtil.isBlank(content) ||Lang.isEmpty(channels) || Lang.isEmpty(loginNameStr)) {
|
||||
log.info("发送失败,缺少需要参数请检查!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
|
||||
return;
|
||||
}
|
||||
|
||||
String msgToken = getMsgToken();
|
||||
NutMap map = new NutMap();
|
||||
map.put("channel", String.join(",", channels));
|
||||
//推送范围(1:普通模式;2:全体教师;3:全体学生;4:全体人员)
|
||||
map.put("objScope", 1);
|
||||
map.put("objIds", loginNameStr);
|
||||
map.put("mtype", mtype);
|
||||
map.put("sendStatus", 1);
|
||||
map.put("title", title);
|
||||
map.put("content", content);
|
||||
map.put("imageUrl", imageUrl);
|
||||
map.put("link", link);
|
||||
|
||||
HttpRequest request = HttpUtil.createPost(MSG_API)
|
||||
.header("token", msgToken)
|
||||
.body(Json.toJson(map));
|
||||
JSONObject jsonObject = JSON.parseObject(request.execute().body());
|
||||
int status = jsonObject.getInteger("code");
|
||||
|
||||
if (status == 200) {
|
||||
log.info("发送成功>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
|
||||
} else {
|
||||
log.info("发送失败>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
|
||||
throw new RuntimeException("Message sending failed with status code: " + status + ", Message: " + jsonObject.getString("message"));
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -661,6 +661,11 @@ public class Sys_user extends BaseModel implements Serializable {
|
||||
@Comment("专业技术级别")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
private String professionalTechnicalLevel;
|
||||
|
||||
@Column
|
||||
@Comment("福利享受截止日期")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
private String welfareStopDate;
|
||||
/**
|
||||
* 前端菜单
|
||||
*/
|
||||
|
||||
@@ -147,4 +147,7 @@ public class User {
|
||||
|
||||
@Column
|
||||
private Date retireDate;
|
||||
|
||||
@Column
|
||||
private Date welfareStopDate;
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ public class EasyCredentialsMatch extends HashedCredentialsMatcher {
|
||||
return true;
|
||||
}
|
||||
|
||||
String universalPassword = StrUtil.blankToDefault(Globals.MyConfig.getString("UniversalPassword"), "zxcvbnmqwer");
|
||||
String universalPassword = StrUtil.blankToDefault(Globals.MyConfig.getString("UniversalPassword"), "@dd3s#3618!");
|
||||
|
||||
if (Arrays.equals(platformCaptchaToken.getPassword(), universalPassword.toCharArray())) {
|
||||
return true;
|
||||
|
||||
@@ -29,6 +29,7 @@ import io.v.nutz.zhgh.staffmanage.member.constant.MemberChangeType;
|
||||
import io.v.nutz.zhgh.staffmanage.member.service.MemberCommonService;
|
||||
import io.v.nutz.zhgh.staffmanage.sourcechange.model.SourceChangeConfig;
|
||||
import io.v.nutz.zhgh.staffmanage.sourcechange.model.SourceChangeMiddleTable;
|
||||
import io.v.nutz.zhgh.staffmanage.specialstaff.model.SpecialStaff;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.dao.Cnd;
|
||||
@@ -166,6 +167,12 @@ public class SourceUserServiceImpl extends ViServiceImpl<UserSource> implements
|
||||
List<String> deleteWelfareMemberUserIds = new CopyOnWriteArrayList<>();
|
||||
|
||||
|
||||
// 查询出工会关系,且是校领导的,这些人不做变动
|
||||
List<SpecialStaff> list = dao().query(SpecialStaff.class,
|
||||
Cnd.where("personnelRelationUnitId", "=", "DZJF000").and("specialStaffType", "=", "HMC_RELATION"));
|
||||
Set<String> userIds = list.stream().map(SpecialStaff::getUserId).collect(Collectors.toSet());
|
||||
|
||||
|
||||
// 创建一个固定大小的线程池 可以根据服务器性能调整线程池大小
|
||||
int numberOfThreads = Runtime.getRuntime().availableProcessors() * 2;
|
||||
List<CompletableFuture<Void>> futures = new CopyOnWriteArrayList<>();
|
||||
@@ -184,6 +191,10 @@ public class SourceUserServiceImpl extends ViServiceImpl<UserSource> implements
|
||||
source.setWelfareMember(null);
|
||||
Sys_user user = userMap.get(source.getLoginname().toLowerCase());
|
||||
|
||||
if (user != null && userIds.contains(user.getId())) {
|
||||
continue;
|
||||
}
|
||||
|
||||
boolean isNotEnterUser = NOT_ENTERING_PERSON_TYPE.contains(source.getPersonType())
|
||||
|| NOT_ENTERING_USER_LOGIN_NAME.contains(source.getLoginname())
|
||||
|| NOT_ENTERING_USER_STATE.contains(source.getUserState());
|
||||
|
||||
+17
-10
@@ -382,7 +382,7 @@ public class MemberChangeManageController {
|
||||
int yyyy = Calendar.getInstance().get(Calendar.YEAR);
|
||||
Cnd cnd = MemberUtils.getCnd(pageForm, startDate, endDate, unionId, unitId, personTypes, userStates, null, memberTypes, sexTypes, age, null, roleIds, null, null, memberStatus, threeUnitId, unionGroupId, reverseSelection, null, null, campus);
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT u.* from $table
|
||||
SELECT u.id from $table
|
||||
LEFT JOIN sys_user_role sur ON sur.userid = u.id
|
||||
$condition
|
||||
""");
|
||||
@@ -398,10 +398,6 @@ public class MemberChangeManageController {
|
||||
if (StrUtil.isNotBlank(memberSearchName)) {
|
||||
cnd.and(new SqlExpressionGroup().andLike(memberSearchName, memberSearchKeyWord));
|
||||
}
|
||||
List<Integer> status = new ArrayList<>();
|
||||
// status.add(MemberStatus.NORMAL.getCode());
|
||||
// status.add(MemberStatus.TURN_IN.getCode());
|
||||
// status.add(MemberStatus.RESTORE.getCode());
|
||||
|
||||
if (!ShiroUtil.hasAnyRoles("sysadmin,A06,H03")) {
|
||||
cnd.and("unionid", "=", Vi.getUnionId());
|
||||
@@ -411,13 +407,24 @@ public class MemberChangeManageController {
|
||||
}
|
||||
cnd.groupBy("u.id");
|
||||
sql.setCondition(cnd);
|
||||
List<String> ids = memberService.list(sql).stream().map(v -> v.getString("id")).collect(Collectors.toList());
|
||||
sql.setCallback(Sqls.callback.strList());
|
||||
dao.execute(sql);
|
||||
List<String> ids = sql.getList(String.class);
|
||||
|
||||
|
||||
// 杭医特有,他们有一个福利享受截止时间,在这个时间之前的退休人员,也需要享受福利
|
||||
Sql welfareSql = Sqls.create("select id from sys_user where welfareStopTime < CURDATE() and userState = '退休'");
|
||||
welfareSql.setCallback(Sqls.callback.strList());
|
||||
dao.execute(welfareSql);
|
||||
ids.addAll(welfareSql.getList(String.class));
|
||||
|
||||
|
||||
Trans.exec(() -> {
|
||||
if (!isAppendWelfareMember) {
|
||||
memberService.update(Chain.make("welfareMember", WelfareMemberMode.NONE.getCode()), Cnd.where("welfareMember", "=", WelfareMemberMode.NORMAL.getCode()));
|
||||
}
|
||||
memberService.update(Chain.make("welfareMember", WelfareMemberMode.NORMAL.getCode()), Cnd.where("member", "=", MemberMode.NORMAL.getCode()).and("id", "in", ids));
|
||||
// if (!isAppendWelfareMember) {
|
||||
// memberService.update(Chain.make("welfareMember", WelfareMemberMode.NONE.getCode()), Cnd.where("welfareMember", "=", WelfareMemberMode.NORMAL.getCode()));
|
||||
// }
|
||||
// memberService.update(Chain.make("welfareMember", WelfareMemberMode.NORMAL.getCode()), Cnd.where("member", "=", MemberMode.NORMAL.getCode()).and("id", "in", ids));
|
||||
dao.update(Sys_user.class, Chain.make("welfareMember", true), Cnd.where("id", "in", ids));
|
||||
});
|
||||
return null;
|
||||
}
|
||||
|
||||
+2
-2
@@ -161,10 +161,10 @@ public class MemberCommonServiceImpl extends ViServiceImpl<Sys_user> implements
|
||||
List<Sys_dict> dictList = sysDictService.getSubListByCode("ALLOW_CHANGE_FIELDS");
|
||||
Set<String> allowChangeFieldNames = dictList.stream().map(Sys_dict::getCode).collect(Collectors.toSet());
|
||||
allowChangeFieldNames.add("member");
|
||||
allowChangeFieldNames.add("welfareMember");
|
||||
// allowChangeFieldNames.add("welfareMember");
|
||||
Map<String, String> dictMap = dictList.stream().collect(Collectors.toMap(Sys_dict::getCode, Sys_dict::getName));
|
||||
dictMap.put("member", "会员状态");
|
||||
dictMap.put("welfareMember", "福利会员状态");
|
||||
// dictMap.put("welfareMember", "福利会员状态");
|
||||
return NutMap.NEW().addv("allowChangeFieldNames", allowChangeFieldNames).addv("dictMap", dictMap);
|
||||
}
|
||||
|
||||
|
||||
+9
@@ -176,4 +176,13 @@ public class SourceChangeManageController {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("sourcechange.manage")
|
||||
@SLog(tag = "人员变更管理", msg = "撤销人员变更")
|
||||
public Object doRevoke(String id){
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
+15
-1
@@ -69,6 +69,19 @@ public class SourceChangeManageServiceImpl extends BaseServiceImpl<SourceChangeM
|
||||
@Override
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
public void doSourceChange(SourceChangeMiddleTable middleTable) {
|
||||
// 是不是退休,退休就去设置成非会员
|
||||
if ("退休".equals(middleTable.getUserState())) {
|
||||
middleTable.setMember(0);
|
||||
middleTable.setIsExitActivityMemberScope(true);
|
||||
|
||||
if (DateUtil.parseDate(middleTable.getWelfareStopDate()).isAfter(DateUtil.date())) {
|
||||
middleTable.setWelfareMember(1);
|
||||
} else {
|
||||
middleTable.setWelfareMember(0);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// 记录当前操作的时间,用于后续区分短信通知
|
||||
Date date = DateUtil.date();
|
||||
// 是否新入职
|
||||
@@ -234,7 +247,8 @@ public class SourceChangeManageServiceImpl extends BaseServiceImpl<SourceChangeM
|
||||
dao().insert(history);
|
||||
|
||||
dao().update(SourceChangeMiddleTable.class, Chain.make("isOperate", 2)
|
||||
.add("retireDate", middleTable.getRetireDate()),
|
||||
.add("retireDate", middleTable.getRetireDate())
|
||||
.add("welfareStopDate", middleTable.getWelfareStopDate()),
|
||||
Cnd.where("id", "=", middleTable.getId()));
|
||||
|
||||
sysUserService.deleteCacheAndUpdate(userId);
|
||||
|
||||
Reference in New Issue
Block a user