first commit

This commit is contained in:
2026-09-09 09:14:28 +08:00
commit 5343198112
5199 changed files with 1052895 additions and 0 deletions
+484
View File
@@ -0,0 +1,484 @@
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.wizzer.framework.base.service.BaseService;
import cn.wizzer.framework.page.Pagination;
import io.v.nutz.dao.CndPlus;
import io.v.nutz.question.service.QuestionService;
import io.v.nutz.sys.modules.models.Sys_unit;
import io.v.nutz.sys.modules.models.Sys_user;
import io.v.nutz.sys.modules.models.Sys_user_role;
import io.v.nutz.sys.modules.services.SysConfigService;
import io.v.nutz.sys.modules.services.SysUnitService;
import io.v.nutz.sys.modules.services.SysUserRoleService;
import io.v.nutz.sys.modules.services.SysUserService;
import io.v.nutz.web.commons.utils.DateUtil;
import io.v.nutz.web.commons.utils.MsgApi;
import lombok.Data;
import org.apache.shiro.crypto.hash.Sha256Hash;
import org.apache.shiro.util.ByteSource;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.nutz.boot.NbApp;
import org.nutz.boot.starter.logback.exts.loglevel.LoglevelProperty;
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.http.Http;
import org.nutz.integration.jedis.RedisService;
import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.json.Json;
import org.nutz.lang.Strings;
import org.nutz.lang.random.R;
import org.nutz.lang.util.NutMap;
import org.nutz.trans.Trans;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.*;
/**
* Created by wizzer on 2018/4/1.
*/
@IocBean(create = "init")
@RunWith(NbJUnit4Runner.class)
public class
WebTestDemo extends Assert {
@Inject
private SysConfigService sysConfigService;
@Inject
private RedisService redisService;
public void init() {
System.out.println("say hi");
}
@Test
public void test_service_inject() {
Set<String> set = redisService.keys("logback:loglevel:list:*");
NutMap map = NutMap.NEW();
for (String key : set) {
String[] keys = key.split(":");
String name = keys[3];
LoglevelProperty loglevelProperty = Json.fromJson(LoglevelProperty.class, redisService.get(key));
map.addv2(name, loglevelProperty);
}
System.out.println(Json.toJson(map));
}
// 测试类可提供public的static的createNbApp方法,用于定制当前测试类所需要的NbApp对象.
// 测试类带@IocBean或不带@IocBean,本规则一样生效
// 若不提供,默认使用当前测试类作为MainLauncher.
// 也可以自定义NbJUnit4Runner, 继承NbJUnit4Runner并覆盖其createNbApp方法
public static NbApp createNbApp() {
NbApp nb = new NbApp().setMainClass(MainLauncher.class).setPrintProcDoc(false);
nb.getAppContext().setMainPackage("io.v");
return nb;
}
@Inject
private SysUnitService sysUnitService;
@Test
public void updateUnit() {
File file = new File("C:\\Users\\NING MEI\\Desktop\\unit.json");
NutMap map = Json.fromJson(NutMap.class, txt2String(file));
NutMap result = map.getAs("result", NutMap.class);
List<NutMap> list = result.getAsList("data", NutMap.class);
sysUnitService.clear(Cnd.where("id", "!=", "028d2c6bc77e4a6e8ebcd5a79a262511"));
list.forEach(v -> {
Sys_unit sysUnit = new Sys_unit();
String dwdm = v.getString("DWDM");
if (dwdm.length() == 3) {
sysUnit.setUnitlevel(1);
} else if (dwdm.length() == 6) {
sysUnit.setUnitlevel(2);
} else {
sysUnit.setUnitlevel(3);
}
sysUnit.setId(dwdm);
sysUnit.setUnitcode(v.getString("RSID"));
sysUnit.setName(v.getString("DWMC"));
sysUnit.setParentId(v.getString("LSDWH"));
sysUnitService.insert(sysUnit);
});
List<Sys_unit> query = sysUnitService.query();
query.forEach(v -> {
if (sysUnitService.count(Cnd.where("parentId", "=", v.getId())) > 0) {
v.setHasChildren(true);
sysUnitService.update(v);
}
});
}
public String txt2String(File file) {
StringBuilder result = new StringBuilder();
try {
BufferedReader br = new BufferedReader(new FileReader(file));//构造一个BufferedReader类来读取文件
String s = null;
while ((s = br.readLine()) != null) {//使用readLine方法,一次读一行
result.append(System.lineSeparator() + s);
}
br.close();
} catch (Exception e) {
e.printStackTrace();
}
return result.toString();
}
@Inject
private SysUserService sysUserService;
@Test
public void updateUser() {
File file = new File("C:\\Users\\NING MEI\\Desktop\\user.json");
NutMap map = Json.fromJson(NutMap.class, txt2String(file));
NutMap result = map.getAs("result", NutMap.class);
List<NutMap> list = result.getAsList("data", NutMap.class);
sysUserService.clear(Cnd.where("id", "!=", "172213da40ce4d0c9190cf82a472c44a"));
list.forEach(v -> {
Sys_user sys_user = sysUserService.fetch(Cnd.where("loginname", "=", v.getString("JZGH")));
boolean has = sys_user != null;
if (!has) {
sys_user = new Sys_user();
}
String salt = R.UU32();
sys_user.setId(R.UU32());
sys_user.setSalt(salt);
sys_user.setPassword("dd3s@#2022");
sys_user.setPassword(new Sha256Hash(sys_user.getPassword(), ByteSource.Util.bytes(salt), 1024).toHex());
sys_user.setLoginPjax(true);
sys_user.setMenuTheme("left");
sys_user.setLoginname(v.getString("JZGH"));
sys_user.setUsername(v.getString("XM"));
sys_user.setSex(v.getInt("XB") == 1 ? "" : "");
sys_user.setIdcard(v.getString("SFZJH"));
sys_user.setMobile(v.getString("LXFS"));
Sys_unit unit = sysUnitService.fetch(Cnd.where("unitcode", "=", v.getString("DWBH")));
if (unit != null) {
sys_user.setUnitid(unit.getId());
}
sys_user.setZw(v.getString("ZW"));
sys_user.setJg(v.getString("JG"));
if (has) {
sysUserService.updateIgnoreNull(sys_user);
} else {
sysUserService.insert(sys_user);
}
});
}
@Test
public void updateZzzt() {
File file = new File("C:\\Users\\NING MEI\\Desktop\\user.json");
NutMap map = Json.fromJson(NutMap.class, txt2String(file));
NutMap result = map.getAs("result", NutMap.class);
List<NutMap> list = result.getAsList("data", NutMap.class);
list.forEach(v -> {
String sfzb = v.getString("SFZB");
Sys_user sys_user = sysUserService.fetch(Cnd.where("loginname", "=", v.getString("JZGH")));
if (sfzb != null) {
if ("0".equals(sfzb)) {
sys_user.setZzzt("非编");
} else if ("1".equals(sfzb)) {
sys_user.setZzzt("在职");
}
sysUserService.update(sys_user);
}
});
}
@Inject
private SysUserRoleService sysUserRoleService;
@Test
public void updatePublic() {
File file = new File("C:\\Users\\NING MEI\\Desktop\\user.json");
NutMap map = Json.fromJson(NutMap.class, txt2String(file));
NutMap result = map.getAs("result", NutMap.class);
List<NutMap> list = result.getAsList("data", NutMap.class);
list.forEach(v -> {
Sys_user sys_user = sysUserService.fetch(Cnd.where("loginname", "=", v.getString("JZGH")));
if (sys_user != null) {
int count = sysUserRoleService.count(Cnd.where("userId", "=", sys_user.getId()).and("roleId", "=", "dc72d1f4197146d5b7658682bc718bb6"));
if (count == 0) {
Sys_user_role sys_user_role = new Sys_user_role();
sys_user_role.setUserId(sys_user.getId());
sys_user_role.setRoleId("dc72d1f4197146d5b7658682bc718bb6");
sysUserRoleService.insert(sys_user_role);
}
}
});
}
@Test
public void updateHy() {
List<Sys_user> users = sysUserService.query(Cnd.where("sfhy", "=", 1), "unit");
users.forEach(user -> {
// Sys_user_role sys_user_role = new Sys_user_role();
// sys_user_role.setUserId(user.getId());
// sys_user_role.setRoleId("bf904e661ced4e909dea0fdccdc02b2d");
// sysUserRoleService.insert(sys_user_role);
if (Strings.isNotBlank(user.getUnit().getUnionid())) {
user.setUnionid(user.getUnit().getUnionid());
sysUserService.updateIgnoreNull(user);
}
});
}
@Test
public void updateUserUnit() {
File file = new File("C:\\Users\\NING MEI\\Desktop\\user.json");
NutMap map = Json.fromJson(NutMap.class, txt2String(file));
NutMap result = map.getAs("result", NutMap.class);
List<NutMap> list = result.getAsList("data", NutMap.class);
List<Sys_user> users = sysUserService.query();
list.forEach(v -> {
Sys_user sys_user = sysUserService.fetch(Cnd.where("loginname", "=", v.getString("JZGH")));
if (sys_user != null) {
Sys_unit unit = sysUnitService.fetch(Cnd.where("unitcode", "=", v.getString("DWBH")));
if (unit != null) {
sys_user.setUnitid(unit.getId());
sysUserService.update(sys_user);
}
}
});
}
@Inject
private BaseService baseService;
@Test
public void aaaaa() {
List<aaData> nutMaps = ExcelImportUtil.importExcel(new File("C:\\Users\\Administrator\\Desktop\\aa.xlsx"),
aaData.class, new ImportParams());
nutMaps.forEach(v -> {
Chain chain = Chain.make("id", v.getId())
.add("nickname", v.getNickname())
.add("mobile", v.getMobile())
.add("openid", v.getOpenid())
.add("avatar", v.getAvatar());
baseService.insert("ims_ewei_shop_member", chain);
});
}
@Data
public static class aaData {
@Excel(name = "id")
private String id;
@Excel(name = "nickname")
private String nickname;
@Excel(name = "mobile")
private String mobile;
@Excel(name = "openid")
private String openid;
@Excel(name = "avatar")
private String avatar;
}
@Test
public void z() {
List<Sys_user> member = sysUserService.query(Cnd.where("member", "=", 1));
member.forEach(z -> {
sysUserRoleService.clear("sys_user_role", Cnd.where("userid", "=", z.getId()).and("roleid", "=", "bf904e661ced4e909dea0fdccdc02b2d"));
sysUserService.update("sys_user", Chain.make("member", 0), Cnd.where("id", "=", z.getId()));
});
List<Sys_user> welfareMember = sysUserService.query(Cnd.where("welfareMember", "=", 1));
welfareMember.forEach(zz -> {
sysUserService.update("sys_user", Chain.make("member", 1), Cnd.where("id", "=", zz.getId()));
sysUserRoleService.insert("sys_user_role", Chain.make("userid", zz.getId()).add("roleid", "bf904e661ced4e909dea0fdccdc02b2d"));
});
}
@Test
public void zz() {
Trans.exec(() -> {
List<Sys_user> userList = sysUserService.query(Cnd.where("loginname", "is not", null));
userList.forEach(v -> {
v.setLoginname(v.getLoginname().trim());
});
sysUserService.updateIgnoreNull(userList);
});
}
@Inject
Dao dao;
@Test
public void updatePWD() {
String pwd = "dd3s@#2022";
List<Sys_user> list = dao.query(Sys_user.class, null);
for (Sys_user sys_user : list) {
String salt = R.UU32();
sys_user.setSalt(salt);
sys_user.setPassword(new Sha256Hash(pwd, ByteSource.Util.bytes(salt), 1024).toHex());
}
dao.update(list);
}
@Inject
private MsgApi msgApi;
@Inject
private QuestionService questionService;
private String SQL = """
SELECT
u.id,
u.loginname,
u.username,
u.sex,
u.unionid,
u.unitname,
u.unionname
FROM
`user` u
$condition
""";
@Test
public void aaa() {
Sql sql = Sqls.create(this.SQL).setParam("questionId", "709059827b3d4867b012693c3b66432b");
CndPlus cndPlus = CndPlus.create();
cndPlus.and("u.id", "in", Sqls.create("SELECT DISTINCT ( userId ) FROM question_reply WHERE qid = @questionId").setParam("questionId", "709059827b3d4867b012693c3b66432b"));
// cndPlus.desc("fraction");
sql.setCondition(cndPlus);
Pagination pagination = questionService.listPageMap(1, 10, sql);
List<NutMap> list = pagination.getList();
for (NutMap map : list) {
Sql sqlScore = Sqls.create("""
select subjectScore from question_answer_user_score where questionId = @questionId
and userId = @userId GROUP BY subjectId
""");
sqlScore.setParam("questionId", "709059827b3d4867b012693c3b66432b");
sqlScore.setParam("userId", map.getString("id"));
List<NutMap> scoreSums = (List<NutMap>) Daos.query(dao, sqlScore.toString(), Sqls.callback.maps());
int scoreSum = scoreSums.stream().mapToInt(v -> v.getInt("subjectScore")).sum();
map.setv("fraction", scoreSum);
}
System.out.println(pagination);
// MsgApi.MsgModel msgModel = new MsgApi.MsgModel();
// msgModel.setTitle("测试短信发送");
// msgModel.setContent("abcdefg123456");
// msgModel.setTiming(true);
// msgModel.setApplyMsgType("ghxt");
// msgModel.setChannels(List.of("100003"));
//
// msgModel.setReceiver(new ArrayList<Map>(){{
// add(Map.of("id", "13296575967"));
// }});
// msgModel.setCrowdType("O");
// msgModel.setMsgType("T");
// String s = msgApi.sendMsg(msgModel);
// System.out.println(s);
}
/* @Test
public void testReplyData() {
Sql sql = Sqls.create("""
SELECT
qr.*,
qw.wiid,
qi.displayDate
FROM
question_reply qr
LEFT JOIN question_wor qw ON qw.wid = qr.rwid
LEFT JOIN question_issue qi on qi.iid = qw.wiid
WHERE qr.qid = @qid AND qr.userId = @userid
AND qi.displayDate = @displayDate
group by qr.rwid
""");
sql.setParam("qid", "709059827b3d4867b012693c3b66432b");
sql.setParam("userid", "rlujsh6b7mgm9qqfs9fkjra1pp");
sql.setParam("displayDate", DateUtil.getDate());
List<NutMap> nutMaps = questionService.listMap(sql);
System.out.println(nutMaps);
}*/
@Test
public void t01() {
List<Sys_user> users = dao.query(Sys_user.class, null);
List<Sys_user> userList = new ArrayList<>();
for (Sys_user user : users) {
String salt = R.UU32();
user.setPassword(R.UU16());
user.setSalt(salt);
user.setPassword(new Sha256Hash(user.getPassword(), ByteSource.Util.bytes(salt), 1024).toHex());
userList.add(user);
}
dao.update(userList,"^salt|password$");
}
}