This commit is contained in:
Paidax
2024-11-29 09:03:59 +08:00
commit 2ffadd89a7
3480 changed files with 879405 additions and 0 deletions
+663
View File
@@ -0,0 +1,663 @@
package io.v.nutz;
import cn.afterturn.easypoi.excel.ExcelImportUtil;
import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.entity.ImportParams;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
import io.v.nutz.base.service.BaseService;
import io.v.nutz.base.utils.Roles;
import io.v.nutz.sys.models.Sys_unit;
import io.v.nutz.sys.models.Sys_user;
import io.v.nutz.sys.models.Sys_user_role;
import io.v.nutz.zhgh.data.constant.SourceData;
import io.v.nutz.zhgh.data.model.UserHistory;
import io.v.nutz.zhgh.data.model.UserSource;
import io.v.nutz.zhgh.fitnessWalk.model.FitnessWalkActivity;
import io.v.nutz.zhgh.fitnessWalk.model.FitnessWalkAwardUser;
import io.v.nutz.zhgh.fitnessWalk.model.FitnessWalkStep;
import io.v.nutz.zhgh.fitnessWalk.service.FitnessWalkCommonService;
import io.v.nutz.zhgh.jdh.model.db.Jdh_db;
import io.v.nutz.zhgh.lxy.model.Lxy_bm;
import io.v.nutz.zhgh.medicalMutualAidFund.model.MedicalMutualAidFund;
import io.v.nutz.zhgh.member.UserMode;
import io.v.nutz.zhgh.member.model.MemberChangeRecord;
import io.v.nutz.zhgh.member.model.MemberHistory;
import io.v.nutz.zhgh.welfare.model.WelfareCourierNumber;
import io.v.nutz.zhgh.welfare.model.WelfareList;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.shiro.crypto.hash.Sha256Hash;
import org.apache.shiro.util.ByteSource;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.nutz.aop.interceptor.ioc.TransAop;
import org.nutz.boot.test.junit4.NbJUnit4Runner;
import org.nutz.dao.Chain;
import org.nutz.dao.Cnd;
import org.nutz.dao.Dao;
import org.nutz.dao.Sqls;
import org.nutz.dao.sql.Sql;
import org.nutz.dao.util.Daos;
import org.nutz.ioc.aop.Aop;
import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.json.Json;
import org.nutz.lang.Lang;
import org.nutz.lang.random.R;
import org.nutz.lang.util.NutMap;
import java.io.File;
import java.io.IOException;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.text.DecimalFormat;
import java.util.*;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
@IocBean
@RunWith(NbJUnit4Runner.class)
public class JugTest {
@Inject
private Dao dao;
@Test
public void t01() throws IOException {
String json = new String(Files.readAllBytes(Paths.get("C:\\Users\\Administrator\\Desktop\\unit.json")));
NutMap nutMap = Json.fromJson(NutMap.class, json);
NutMap data = nutMap.getAs("data", NutMap.class);
List<NutMap> units = data.getAsList("Rows", NutMap.class);
System.out.println(units);
List<Sys_unit> collect = units.stream().map(v -> {
Sys_unit sys_unit = new Sys_unit();
sys_unit.setName(v.getString("mc"));
sys_unit.setId(v.getString("dm"));
return sys_unit;
}).collect(Collectors.toList());
dao.insert(collect);
}
@Test
public void importMember() {
dao.update(Sys_user.class, Chain.make("member", 0), Cnd.where("member", "=", 1));
dao.clear(Sys_user_role.class, Cnd.where("roleid", "=", Roles.MEMBER));
List<User> users = ExcelImportUtil.importExcel(new File("C:\\Users\\Administrator\\Desktop\\202404江南大学会员名单.xlsx"), User.class, new ImportParams());
List<String> loginNames = users.stream().map(v -> v.getLoginName()).collect(Collectors.toList());
dao.update(Sys_user.class, Chain.make("member", 1), Cnd.where("loginname", "in", loginNames));
Sql sql = Sqls.queryString(Sqls.create("select id from sys_user where loginname in (@loginnames)").setParam("loginnames", loginNames).toString());
dao.execute(sql);
List<String> ids = sql.getList(String.class);
List<Sys_user_role> sys_user_roles = ids.stream().map(v -> {
Sys_user_role sys_user_role = new Sys_user_role();
sys_user_role.setRoleId(Roles.MEMBER);
sys_user_role.setUserId(v);
return sys_user_role;
}).collect(Collectors.toList());
dao.insert(sys_user_roles);
}
@Test
public void importWelfareMember() {
dao.update(Sys_user.class, Chain.make("welfareMember", 0), Cnd.where("welfareMember", "=", 1));
dao.clear(Sys_user_role.class, Cnd.where("roleid", "=", Roles.WELFARE_MEMBER));
List<User> users = ExcelImportUtil.importExcel(new File("C:\\Users\\Administrator\\Desktop\\202404江南大学会员名单.xlsx"), User.class, new ImportParams());
List<String> loginNames = users.stream().map(v -> v.getLoginName()).collect(Collectors.toList());
dao.update(Sys_user.class, Chain.make("welfareMember", 1), Cnd.where("loginname", "in", loginNames));
Sql sql = Sqls.queryString(Sqls.create("select id from sys_user where loginname in (@loginnames)").setParam("loginnames", loginNames).toString());
dao.execute(sql);
List<String> ids = sql.getList(String.class);
List<Sys_user_role> sys_user_roles = ids.stream().map(v -> {
Sys_user_role sys_user_role = new Sys_user_role();
sys_user_role.setRoleId(Roles.WELFARE_MEMBER);
sys_user_role.setUserId(v);
return sys_user_role;
}).collect(Collectors.toList());
dao.insert(sys_user_roles);
}
@Test
public void t03() {
List<User> users = ExcelImportUtil.importExcel(new File("C:\\Users\\Administrator\\Desktop\\202404江南大学会员名单.xlsx"), User.class, new ImportParams());
List<String> loginNames = users.stream().map(v -> v.getLoginName()).collect(Collectors.toList());
Sql sql = Sqls.queryString(Sqls.create("select loginname from sys_user").toString());
dao.execute(sql);
List<String> db_loginname = sql.getList(String.class);
List<String> collect = loginNames.stream().filter(v -> !db_loginname.contains(v)).collect(Collectors.toList());
for (String s : collect) {
System.out.println(s);
}
}
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class User {
@Excel(name = "工号")
private String loginName;
}
@Test
public void memberRoles() {
dao.clear(Sys_user_role.class, Cnd.where("roleid", "=", Roles.MEMBER));
Sql sql = Sqls.queryString("select id from sys_user where member=1");
dao.execute(sql);
List<String> ids = sql.getList(String.class);
List<Sys_user_role> userRoles = ids.stream().map(v -> {
Sys_user_role sys_user_role = new Sys_user_role();
sys_user_role.setUserId(v);
sys_user_role.setRoleId(Roles.MEMBER);
return sys_user_role;
}).collect(Collectors.toList());
dao.insert(userRoles);
/* dao.clear(Sys_user_role.class, Cnd.where("roleid", "=", Roles.WELFARE_MEMBER));
Sql sql = Sqls.queryString("select id from sys_user where welfareMember=1");
dao.execute(sql);
List<String> ids = sql.getList(String.class);
List<Sys_user_role> userRoles = ids.stream().map(v -> {
Sys_user_role sys_user_role = new Sys_user_role();
sys_user_role.setUserId(v);
sys_user_role.setRoleId(Roles.WELFARE_MEMBER);
return sys_user_role;
}).collect(Collectors.toList());
dao.insert(userRoles);*/
}
@Test
public void test() {
List<UserSource> list = dao.query(UserSource.class, Cnd.where("unitid", "=", "51100"));
list.forEach(l -> {
dao.update(Sys_user.class, Chain.make("unitid", "51100"), Cnd.where("loginname", "=", l.getLoginname()));
});
}
@Test
public void t04() {
List<MedicalMutualAidFund> list = dao.query(MedicalMutualAidFund.class, Cnd.NEW());
for (MedicalMutualAidFund medicalMutualAidFund : list) {
String loginName = medicalMutualAidFund.getLoginName();
Sys_user user = dao.fetch(Sys_user.class, Cnd.where("loginName", "=", loginName));
dao.update(MedicalMutualAidFund.class, Chain.make("userName", user.getUsername()), Cnd.where("id", "=", medicalMutualAidFund.getId()));
}
}
@Test
@Aop(TransAop.READ_COMMITTED)
public void t05() {
List<OtherUser> users = ExcelImportUtil.importExcel(new File("C:\\Users\\Administrator\\Desktop\\新建 XLSX 工作表 (2).xlsx"), OtherUser.class, new ImportParams());
System.out.println(users);
List<Sys_user> initUsers = users.stream().map(v -> {
Sys_user user = new Sys_user();
String salt = R.UU32();
user.setId(R.UU32());
user.setSalt(salt);
user.setPassword(R.UU16());
user.setPassword(new Sha256Hash(user.getPassword(), ByteSource.Util.bytes(salt), 1024).toHex());
user.setLoginPjax(true);
user.setMenuTheme("left");
user.setLoginCount(0);
user.setMember(0);
user.setWelfareMember(1);
user.setRetired(false);
user.setUnitid(v.getUnitid());
user.setLoginname(v.getLoginname());
user.setUsername(v.getUsername());
user.setPersonType("其他类");
return user;
}).collect(Collectors.toList());
dao.insert(initUsers);
List<String> userIds = initUsers.stream().map(v -> v.getId()).collect(Collectors.toList());
dao.clear("sys_user_role", Cnd.where("userid", "in", userIds).and("roleId", "=", Roles.WELFARE_MEMBER));
List<Sys_user_role> sysUserRoles = new ArrayList<>();
for (String userId : userIds) {
Sys_user_role sysUserRole = new Sys_user_role();
sysUserRole.setUserId(userId);
sysUserRole.setRoleId(Roles.WELFARE_MEMBER);
sysUserRoles.add(sysUserRole);
}
dao.insert(sysUserRoles);
}
@Data
public static class OtherUser {
@Excel(name = "工号")
private String loginname;
@Excel(name = "单位")
private String unitname;
@Excel(name = "单位id")
private String unitid;
@Excel(name = "姓名")
private String username;
}
@Inject
private FitnessWalkCommonService fitnessWalkCommonService;
@Inject
private BaseService baseService;
@Test
public void t033() {
String activityId = "63ca5b136625b7d808580dd258423e53";
String userId = "sbmdbk1dc2givp006onbpvs8nu";
NutMap resultMap = NutMap.NEW();
FitnessWalkActivity activity = fitnessWalkCommonService.getActivity(activityId);
//计步的抽奖模式 everyday custom
String lotteryMode = activity.getLotteryMode();
if ("everyday".equals(lotteryMode)) {
FitnessWalkActivity.DayLotteryRule dayLotteryRule = activity.getDayLotteryRule();
//每日抽奖资格步数
Integer lotteryQualificationStep = dayLotteryRule.getLotteryQualificationStep();
FitnessWalkStep userWalkStep = baseService.dao().fetch(FitnessWalkStep.class, Cnd.where("userId", "=", userId)
.and("DATE( applyDate )", "=", DateUtil.today()).and("activityId", "=", activityId));
int complianceDay = baseService.dao().count(FitnessWalkStep.class, Cnd.where("userId", "=", userId)
.and("DATE( applyDate )", "=", DateUtil.today()).and("activityId", "=", activityId)
.and("step", ">", lotteryQualificationStep));
Integer thisDayStep = userWalkStep.getStep();
BigDecimal lotteryQualificationStepBig = new BigDecimal(lotteryQualificationStep);
BigDecimal thisDayStepBig = new BigDecimal(thisDayStep);
//达标的小数,保留四位
BigDecimal divide = thisDayStepBig.divide(lotteryQualificationStepBig, 4, RoundingMode.HALF_UP);
BigDecimal percentValue = divide.multiply(new BigDecimal("100"));
DecimalFormat decimalFormat = new DecimalFormat("#.##"); // 格式化为两位小数
//百分数
String formattedPercent = decimalFormat.format(percentValue);
long betweenDay = DateUtil.date(activity.getStartTime()).between(DateUtil.date(activity.getEndTime()), DateUnit.DAY);
NutMap map = new NutMap();
map.setv("mode", "everyDayLottery");
//当前达标步数
map.setv("userStep", thisDayStep);
//达标总步数
map.setv("complianceSumStep", lotteryQualificationStep);
//达标比例
map.setv("complianceProportion", Integer.parseInt(formattedPercent));
//活动天数
map.setv("betweenDay", betweenDay);
//达标天数
map.setv("complianceDay", complianceDay);
resultMap.addv("everyDayLotteryMode", map);
} else if ("custom".equals(lotteryMode)) {
List<FitnessWalkActivity.CustomLotteryRule> customLotteryRules = activity.getCustomLotteryRules();
List<FitnessWalkStep> userWalkSteps = baseService.dao().
query(FitnessWalkStep.class, Cnd.where("userId", "=", userId)
.and("activityId", "=", activityId)
.and("DATE(applyDate)", ">=", DateUtil.format(DateUtil.date(activity.getStartTime()), "yyyy-MM-dd"))
.and("DATE(applyDate)", "<=", DateUtil.format(DateUtil.date(activity.getEndTime()), "yyyy-MM-dd"))
.groupBy("applyDate")
);
List<NutMap> result = new ArrayList<>();
for (FitnessWalkActivity.CustomLotteryRule rule : customLotteryRules) {
NutMap nutMap = NutMap.NEW();
List<FitnessWalkStep> partSteps = userWalkSteps.stream()
.filter(s -> (DateUtil.compare(s.getApplyDate(), rule.getStartDate()) >= 0 && DateUtil.compare(s.getApplyDate(), rule.getEndDate()) <= 0))
.collect(Collectors.toList());
Integer lotteryQualificationDay = rule.getLotteryQualificationDay();
Integer lotteryQualificationStep = rule.getLotteryQualificationStep();
if (lotteryQualificationDay != null && lotteryQualificationStep != null) {
//每天步数
nutMap.put("mode", "customLotteryEveryDayStepMode");
//用户总达标步数
nutMap.put("userSumStep", partSteps.stream().filter(s -> DateUtil.compare(s.getApplyDate(), new Date(), "yyyy-MM-dd") == 0).findFirst().map(s -> s.getStep()).orElse(0));
//今天达标步数
nutMap.put("complianceStep", lotteryQualificationStep);
//总达标步数
nutMap.put("complianceSumStep", lotteryQualificationDay * lotteryQualificationStep);
//用户当前达标总天数
nutMap.put("userComplianceSumDay", partSteps.stream().filter(s -> s.getStep() > lotteryQualificationStep).count());
//总达标天数
nutMap.put("complianceSumDay", lotteryQualificationDay);
//开始时间
nutMap.put("startDate", rule.getStartDate());
//结束时间
nutMap.put("endDate", rule.getEndDate());
} else if (lotteryQualificationDay == null && lotteryQualificationStep != null) {
//总步数
nutMap.put("mode", "customLotterySumStepMode");
//用户总达标步数
nutMap.put("userSumStep", partSteps.stream().mapToInt(s -> s.getStep()).sum());
//总达标步数
nutMap.put("complianceSumStep", lotteryQualificationStep);
}
result.add(nutMap);
}
resultMap.addv("customLotteryMode", result);
}
System.out.println(resultMap);
System.out.println(1);
}
@Test
public void t044() {
// List<Sys_user> pullUsers = dao.query(Sys_user.class, Cnd.where("pullTime", "=", "2024-05-27 11:33:07"));
Sql sql = Sqls.create("""
SELECT
u.id AS userId,
us.loginname,
us.unitid\s
FROM
`user_source` us
LEFT JOIN sys_user u ON u.loginname = us.loginname\s
WHERE
us.pullTime = '2024-05-27 11:33:07'
""");
List<NutMap> query = (List<NutMap>) Daos.query(dao, sql.toString(), Sqls.callback.maps());
List<WelfareList> welfareLists = dao.query(WelfareList.class, Cnd.where("projectId", "=", "fe1d51dafc104a1482cc946d05312e78"));
for (WelfareList welfareList : welfareLists) {
String unitId = query.stream().filter(v -> v.getString("userId").equals(welfareList.getUserId())).findFirst().map(v -> v.getString("unitid")).orElse(null);
welfareList.setWelfareSecondLevelUnitId(unitId);
}
dao.update(welfareLists, "welfareSecondLevelUnitId");
}
@Test
public void t08() {
Sql sql = Sqls.create("select id,unitid,userState,personType from sys_user");
List<NutMap> users = (List<NutMap>) Daos.query(dao, sql.toString(), Sqls.callback.maps());
List<WelfareList> welfareLists = dao.query(WelfareList.class, Cnd.where("welfareSecondLevelUnitId", "is", null));
for (WelfareList welfareList : welfareLists) {
Optional<NutMap> optionalUser = users.stream().filter(u -> u.getString("id").equals(welfareList.getUserId())).findFirst();
if (optionalUser.isPresent()) {
// welfareList.setPersonType(optionalUser.get().getString("personType"));
// welfareList.setUserState(optionalUser.get().getString("userState"));
welfareList.setWelfareSecondLevelUnitId(optionalUser.get().getString("unitid"));
}
}
// dao.update(welfareLists, "userState|personType");
dao.update(welfareLists, "welfareSecondLevelUnitId");
}
@Test
public void t09() {
List<String> numbersList = new ArrayList<>();
numbersList.add("8202206006");
numbersList.add("8201901023");
numbersList.add("8272700215");
numbersList.add("8202304003");
numbersList.add("8262600225");
numbersList.add("8202301005");
numbersList.add("8019270005");
numbersList.add("8201901025");
numbersList.add("8201601003");
numbersList.add("8202104492");
numbersList.add("8201608116");
numbersList.add("8202302005");
numbersList.add("8272700254");
numbersList.add("8201801004");
numbersList.add("8201712164");
numbersList.add("8849160003");
numbersList.add("8201501001");
numbersList.add("8949400006");
numbersList.add("8202009387");
numbersList.add("8012700050");
numbersList.add("8373703015");
numbersList.add("8073110106");
numbersList.add("8201807160");
numbersList.add("8202311002");
numbersList.add("8201804055");
numbersList.add("8272700223");
numbersList.add("8202306003");
numbersList.add("8202210003");
numbersList.add("8052900070");
numbersList.add("8202106024");
numbersList.add("8201812194");
numbersList.add("8202201007");
numbersList.add("8052900087");
numbersList.add("8202205011");
numbersList.add("8201506077");
numbersList.add("8202206004");
numbersList.add("8201806094");
numbersList.add("8292900207");
numbersList.add("8201510140");
numbersList.add("8073110081");
numbersList.add("8272700243");
numbersList.add("8202106001");
numbersList.add("8201906102");
numbersList.add("8201706085");
numbersList.add("8313110187");
numbersList.add("8052900096");
numbersList.add("8201809158");
numbersList.add("8383800026");
numbersList.add("8262600184");
numbersList.add("8201701022");
numbersList.add("8073110069");
numbersList.add("8292900206");
numbersList.add("8292900178");
numbersList.add("8022600029");
numbersList.add("8202401009");
numbersList.add("8272700260");
numbersList.add("8201709135");
numbersList.add("8022600116");
numbersList.add("8202106006");
numbersList.add("8012700080");
numbersList.add("8012700149");
numbersList.add("8201806106");
numbersList.add("8022600060");
numbersList.add("8201705048");
numbersList.add("8073110093");
numbersList.add("8313110149");
numbersList.add("8949400019");
numbersList.add("8201601006");
numbersList.add("8029260012");
numbersList.add("8202202002");
numbersList.add("8202007333");
numbersList.add("8201812196");
numbersList.add("8059290005");
numbersList.add("8202305013");
numbersList.add("8029260011");
numbersList.add("8201807123");
numbersList.add("8343400169");
numbersList.add("8202208019");
numbersList.add("8052900095");
numbersList.add("8292900199");
numbersList.add("8262600230");
numbersList.add("8022600183");
numbersList.add("8201801015");
numbersList.add("8202401012");
numbersList.add("8313110107");
numbersList.add("8272700240");
numbersList.add("8202108006");
numbersList.add("8073110072");
numbersList.add("8202208018");
numbersList.add("8201906076");
numbersList.add("8262600196");
numbersList.add("8201708118");
numbersList.add("8201804056");
numbersList.add("8202401010");
numbersList.add("8201804059");
numbersList.add("8201501002");
numbersList.add("8029260013");
numbersList.add("8202106050");
numbersList.add("8062900131");
numbersList.add("8313110189");
numbersList.add("8201811190");
numbersList.add("8202305002");
numbersList.add("8292900175");
numbersList.add("8313110174");
numbersList.add("8202206029");
numbersList.add("8022600028");
numbersList.add("8292900218");
numbersList.add("8073110148");
numbersList.add("8073110079");
numbersList.add("8262600232");
numbersList.add("8929270007");
numbersList.add("8052900071");
numbersList.add("8313110146");
numbersList.add("8201904065");
numbersList.add("8202402005");
numbersList.add("8052900147");
numbersList.add("8201806086");
numbersList.add("9363620028");
numbersList.add("9822022007");
numbersList.add("9202301021");
List<kddh> list = ExcelImportUtil.importExcel(new File("C:\\Users\\Administrator\\Desktop\\新建 XLSX 工作表.xlsx"), kddh.class, new ImportParams());
List<kddh> list2 = list.stream().filter(v -> numbersList.contains(v.getLoginname())).collect(Collectors.toList());
List<WelfareCourierNumber> collect = list2.stream().map(v -> {
Sql sql = Sqls.fetchString("select id from sys_user where loginname = @loginname").setParam("loginname", v.getLoginname());
dao.execute(sql);
String userId = sql.getString();
WelfareCourierNumber courierNumber = new WelfareCourierNumber();
courierNumber.setCourierNumber(v.getKddh());
courierNumber.setSelectUserId(userId);
courierNumber.setWelfareId("fe1d51dafc104a1482cc946d05312e78");
courierNumber.setSelectOptionId("roj77esogkga6pnbi9pegsofdl");
return courierNumber;
}).collect(Collectors.toList());
dao.insert(collect);
}
@Data
public static class kddh {
@Excel(name = "工号")
private String loginname;
@Excel(name = "快递单号")
private String kddh;
}
@Test
public void test03() throws InterruptedException {
List<Sys_unit> unitList = dao.query(Sys_unit.class, Cnd.where("unitlevel", "=", 2).and("id", "!=", "unitcode"));
Map<String, Sys_unit> unitMap = unitList.stream().collect(Collectors.toMap(Sys_unit::getId, v -> v));
List<WelfareList> list = dao.query(WelfareList.class, Cnd.where("welfareSecondLevelUnitId", "is not", null).and("welfareSecondLevelUnitId", "!=", ""));
list.forEach(v -> {
Sys_unit unit = unitMap.get(v.getWelfareSecondLevelUnitId());
if (Lang.isNotEmpty(unit)) v.setWelfareSecondLevelUnitId(unit.getUnitcode());
});
// dao.updateIgnoreNull(list);
// // 创建一个固定大小的线程池
// int numberOfThreads = 20; // 可以根据服务器性能调整线程池大小
// ExecutorService executorService = Executors.newFixedThreadPool(numberOfThreads);
//
// int batchSize = 200; // 每批处理的数据量,可以根据实际情况调整
// for (int i = 0; i < list.size(); i += batchSize) {
// final int end = Math.min(i + batchSize, list.size());
// List<WelfareList> batch = list.subList(i, end);
// executorService.submit(()->{
// dao.updateIgnoreNull(batch);
// });
// }
// executorService.shutdown();
// executorService.awaitTermination(Long.MAX_VALUE, TimeUnit.NANOSECONDS);
}
@Test
public void t10(){
List<WinUser> list = ExcelImportUtil.importExcel(new File("C:\\Users\\Administrator\\Desktop\\二期中奖名单.xlsx"), WinUser.class, new ImportParams());
System.out.println(list.size());
List<FitnessWalkAwardUser> fitnessWalkAwardUsers = new ArrayList<>();
Date date = DateUtil.parseDate("2024-07-01");
for (WinUser winUser : list) {
Sql sql = Sqls.create("select id,username,unitname,unionname from user where loginname = @loginname");
sql.setParam("loginname",winUser.getLoginname());
NutMap user = (NutMap)Daos.query(dao, sql.toString(), Sqls.callback.map());
FitnessWalkAwardUser awardUser = new FitnessWalkAwardUser();
awardUser.setActivityId("63ca5b136625b7d808580dd258423e53");
awardUser.setUserId(user.getString("id"));
awardUser.setUsername(user.getString("username"));
awardUser.setAwardName("健步走幸运");
awardUser.setUnionId(user.getString("unionid"));
awardUser.setUnionName(user.getString("unionname"));
awardUser.setUnitId(user.getString("unitid"));
awardUser.setUnitName(user.getString("unitname"));
awardUser.setApplyDate(date);
awardUser.setIsRead(false);
awardUser.setLoginName(winUser.getLoginname());
fitnessWalkAwardUsers.add(awardUser);
}
dao.insert(fitnessWalkAwardUsers);
System.out.println(Json.toJson(fitnessWalkAwardUsers));
}
@Data
public static class WinUser{
@Excel(name = "工号")
private String loginname;
}
@Test
public void insertRole(){
List<Jdh_db> dbs = dao.query(Jdh_db.class, Cnd.where("jdhid", "=", "4m2tgml52shcor5f6o845ifepr"));
List<Sys_user_role> userRoles = dbs.stream().map(v -> {
Sys_user_role role = new Sys_user_role();
role.setUserId(v.getDbid());
role.setRoleId(Roles.ZSDB);
role.setDbtid(v.getDbtid());
role.setJdhid(v.getJdhid());
return role;
}).collect(Collectors.toList());
dao.insert(userRoles);
}
}