first commit
This commit is contained in:
@@ -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());
|
||||
|
||||
}
|
||||
}
|
||||
@@ -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(){
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user