first commit

This commit is contained in:
zhengziru
2026-10-20 19:11:47 +08:00
commit 243460df36
3813 changed files with 1023513 additions and 0 deletions
+302
View File
@@ -0,0 +1,302 @@
package io.v.nutz;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.thread.ConcurrencyTester;
import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import io.v.nutz.base.utils.ManyAddOrRenewUtil;
import io.v.nutz.base.utils.Roles;
import io.v.nutz.sys.models.*;
import io.v.nutz.web.commons.controller.userpartupdate.models.UserPartUp;
import io.v.nutz.web.commons.utils.ShiroUtil;
import io.v.nutz.zhgh.data.constant.UserChangeType;
import io.v.nutz.zhgh.data.model.UserHistory;
import io.v.nutz.zhgh.data.model.UserSource;
import io.v.nutz.zhgh.member.UserMode;
import io.v.nutz.zhgh.needhandlebycpu.common.CommonUtil;
import io.v.nutz.zhgh.welfare.model.WelfareList;
import io.v.nutz.zhgh.zgfw.model.difficult.Zgfw_knbf;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.nutz.boot.test.junit4.NbJUnit4Runner;
import org.nutz.dao.Cnd;
import org.nutz.dao.Dao;
import org.nutz.dao.FieldFilter;
import org.nutz.dao.Sqls;
import org.nutz.dao.sql.Sql;
import org.nutz.dao.util.Daos;
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.Strings;
import org.nutz.lang.random.R;
import org.nutz.lang.util.NutMap;
import org.springframework.beans.BeanUtils;
import java.awt.*;
import java.io.IOException;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.time.LocalDate;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.List;
import java.util.stream.Collectors;
@IocBean
@RunWith(NbJUnit4Runner.class)
@Slf4j
public class JugTest {
@Inject
private Dao dao;
@Test
public void t01() throws IOException {
String json = new String(Files.readAllBytes(Paths.get("C:\\Users\\mayn\\Downloads\\jvicData.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 t02() throws IOException {
List<Sys_user> users = dao.query(Sys_user.class, Cnd.NEW().limit(0, 500));
ConcurrencyTester tester = ThreadUtil.concurrencyTest(500, () -> {
long startTime = System.currentTimeMillis();
log.info("开始执行时间" + startTime);
int index = (int) (Math.random() * users.size());
String userId = users.get(index).getId();
String body = HttpUtil.createPost("https://zhgh.jiangnan.edu.cn/platform/fitnessWalk/punchLottery/judgeWinningToPunch")
.form("activityId", "2b13da7f661f933907a690a922c0c464")
.form("userId", userId)
.execute()
.body();
JSONObject jsonObject = JSON.parseObject(body);
log.info(jsonObject.toJSONString());
long endTime = System.currentTimeMillis();
log.info("结束时间" + endTime);
long executionTimeInMilliseconds = endTime - startTime;
long executionTimeInSeconds = executionTimeInMilliseconds / 1000;
log.info("执行时间(毫秒): " + executionTimeInMilliseconds);
log.info("执行时间(秒): " + executionTimeInSeconds);
});
System.out.println(tester.getInterval());
}
@Test
public void t0001() {
//当前时间
DateTime nowDateTime = DateUtil.date();
//后七天的时间
DateTime afterDateTime = DateUtil.offsetDay(nowDateTime, 6);
//当天时间
LocalDate nowLocalDate = nowDateTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
//往后一周时间
LocalDate feuLocalDate = afterDateTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
List<String> dateList = new ArrayList<>();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM月dd日", Locale.CHINESE);
//获取这个时间段内的日期集合
while (!nowLocalDate.isAfter(feuLocalDate)) {
String formattedDate = nowLocalDate.format(formatter);
dateList.add(formattedDate);
nowLocalDate = nowLocalDate.plusDays(1);
}
System.out.println(dateList);
// //将Date日期对象转成LocalDate对象,便于下面的取日期集合
// //当天时间
// LocalDate nowLocalDate = dateNow.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
// //往后一周时间
// LocalDate feuLocalDate = dateLast.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
}
@Inject
private ManyAddOrRenewUtil manyAddOrRenewUtil;
@Test
public void test0000() {
// 该福利项目下的人员
List<WelfareList> list = dao.query(WelfareList.class, Cnd.where("projectId", "=", "5ba1a0bc6a8f498db7da35cf4e477047"));
Set<String> collect = list.stream().map(WelfareList::getUserId).collect(Collectors.toSet());
List<User> users = dao.query(User.class, Cnd.where("id", "in", collect));
// 人员map
Map<String, User> map = users.stream().collect(Collectors.toMap(User::getId, v -> v));
// 赋值,获取人员信息
for (WelfareList user : list) {
User source = map.get(user.getUserId());
if (source == null) {
continue;
}
user.setUnionname(source.getUnionname());
user.setUnitname(source.getUnitname());
user.setThreeUnitId(source.getThreeUnitId());
user.setThreeUnitName(source.getThreeUnitName());
user.setUnionGroupId(source.getUnionGroupId());
user.setUnionGroupName(source.getUnionGroupName());
}
manyAddOrRenewUtil.addOrRenew(list, false);
}
// 获取待办签名,请勿删除、修改 ○| ̄|_ ○| ̄|_ ○| ̄|_
@Test
public void handleTest() {
String timestamp = System.currentTimeMillis() + "";
String signature = CommonUtil.buildSign("SHA1", "ghxt", timestamp, "Paidax42", null, "6e9605b3-a982-4493-90ea-cd904f70bd77");
System.out.println(timestamp);
System.out.println(signature);
}
@Test
public void Test0002() {
try {
BigDecimal price = new BigDecimal("513.79");
if (price.compareTo(BigDecimal.ZERO) < 0) {
throw new IllegalArgumentException("价格不能为负数");
}
// 获取整数部分
int integerPart = price.intValue();
// 获取小数部分
BigDecimal decimalPart = price.subtract(new BigDecimal(integerPart));
// 提取各个位上的数值
String[] positions = {"one", "two", "three", "four", "five", "six", "seven"};
Integer[] digits = new Integer[7];
for (int i = 0; i < 7; i++) {
digits[i] = getDigit(integerPart, (int) Math.pow(8, 6 - i));
}
// 提取小数部分的各个位上的数值
BigDecimal tenthsPart = decimalPart.multiply(BigDecimal.TEN).setScale(0, RoundingMode.DOWN);
int tenths = tenthsPart.intValue();
BigDecimal hundredthsPart = decimalPart.multiply(BigDecimal.valueOf(100)).setScale(0, RoundingMode.DOWN);
int hundredths = hundredthsPart.intValue();
// 打印结果
for (int i = 0; i < 7; i++) {
System.out.println(positions[i] + ": " + digits[i]);
}
System.out.println("eight: " + (tenths % 10));
System.out.println("nine: " + (hundredths % 10));
} catch (IllegalArgumentException e) {
System.err.println("输入错误: " + e.getMessage());
} catch (Exception e) {
System.err.println("发生未知错误: " + e.getMessage());
}
}
public static Integer getDigit(int number, int factor) {
int digit = (number / factor) % 10;
return digit == 0 ? 0 : digit; // 如果是0则返回0,否则返回该位的数字
}
@Test
public void commonTest() {
// 查所有工会,把旧单位绑定的工会分给新单位
List<Sys_union> unionList = dao.query(Sys_union.class, Cnd.NEW());
// 之前的单位
Sql sql = Sqls.create("""
select * from `sys_unit_25换新前`
""");
sql.setCallback(Sqls.callback.maps());
dao.execute(sql);
List<NutMap> beforeUnits = (List<NutMap>) sql.getResult();
// 新的单位
List<Sys_unit> unitList = dao.query(Sys_unit.class, Cnd.NEW());
// 结果数据
List<Sys_unit> result = new ArrayList<>();
// 循环工会列表,把就单位的工会id,绑定给新单位
for (Sys_union union : unionList) {
// 当前工会的 旧单位Id
List<String> oldUnitIds = beforeUnits.stream().filter(
v -> union.getId().equals(v.getString("unionid"))
).map(v -> v.getString("id")).collect(Collectors.toList());
List<Sys_unit> collect = unitList.stream().filter(v -> oldUnitIds.contains(v.getId())).collect(Collectors.toList());
collect.forEach(v -> {
v.setUnionid(union.getId());
});
result.addAll(collect);
}
dao.update(result);
// Sql sql = Sqls.create("select * from zgfw_knbf_copy1");
// sql.setCallback(Sqls.callback.maps());
// dao.execute(sql);
// List<NutMap> list = (List<NutMap>) sql.getResult();
//
// List<Zgfw_knbf> query = dao.query(Zgfw_knbf.class, Cnd.NEW());
// Map<String, Zgfw_knbf> collect = query.stream().collect(Collectors.toMap(v -> v.getId(), v -> v));
//
// for (NutMap map : list) {
// Zgfw_knbf zgfwKnbf = collect.get(map.getString("id"));
//
// }
// String appid = "wx6af255cb499b7d34";
// String secret = "1ad26000a0c415444f17083dec417815";
// String code = "0b3IhOkl2kwjkf4S0Rml2ML0x52IhOkB";
//
// String url = "https://api.weixin.qq.com/sns/jscode2session?appid=" + appid + "&secret=" + secret + "&js_code=" + code + "&grant_type=authorization_code";
// String body = HttpUtil.createPost(url).execute().body();
//
// cn.hutool.json.JSONObject jsonObject = JSONUtil.parseObj(body);
//
// if (StrUtil.isNotBlank(jsonObject.getStr("openid"))) {
//
// }
//
// /**
// * {
// * "session_key" : "wCknpDO0ObtwBewQqW9t0A==",
// * "openid" : "o73hy7RLIblRO_tgwOFRtFbRXdos"
// * }
// */
//
// System.out.println(body);
System.out.println(R.UU32());
}
}
+30
View File
@@ -0,0 +1,30 @@
package io.v.nutz;
import cn.hutool.json.JSON;
import io.v.nutz.base.enums.AuditTypeEnum;
import io.v.nutz.zhgh.data.constant.UserChangeType;
import io.v.nutz.zhgh.fitnessWalk.model.FitnessWalkActivity;
import org.apache.commons.lang.StringUtils;
import org.junit.Test;
import org.nutz.json.Json;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class JugTest2 {
@Test
public void q(){
}
}