first commit

This commit is contained in:
zhaoxinyu
2024-04-10 15:19:47 +08:00
commit f857065a3a
2884 changed files with 683559 additions and 0 deletions
+265
View File
@@ -0,0 +1,265 @@
package io.v.nutz;
import io.v.nutz.base.service.BaseService;
import io.v.nutz.base.utils.MsgApi;
import io.v.nutz.base.utils.Roles;
import io.v.nutz.data.model.UserSource;
import io.v.nutz.member.MemberMode;
import io.v.nutz.service.AsyncService;
import io.v.nutz.sickHelp.model.SickFundMember;
import io.v.nutz.sys.models.Sys_user;
import io.v.nutz.sys.models.Sys_user_role;
import io.v.nutz.sys.models.User;
import io.v.nutz.sys.services.SysConfigService;
import io.v.nutz.sys.services.SysUserRoleService;
import io.v.nutz.sys.services.SysUserService;
import org.apache.commons.validator.GenericValidator;
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.Cnd;
import org.nutz.dao.Dao;
import org.nutz.dao.Sqls;
import org.nutz.dao.entity.Record;
import org.nutz.dao.sql.Sql;
import org.nutz.dao.util.Daos;
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.Lang;
import org.nutz.lang.random.R;
import org.nutz.lang.util.NutMap;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
* 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 BaseService baseService;
@Inject
private SysUserRoleService sysUserRoleService;
@Test
public void addDb() {
String roleId = "1427083503b74aa0885d104419b33170";
List<Record> jdhDbs = baseService.dao().query("jdh_db", Cnd.NEW());
jdhDbs.forEach(v -> {
Sys_user_role userRole = new Sys_user_role();
userRole.setRoleId(roleId);
userRole.setUserId(v.getString("dbid"));
userRole.setJdhid(v.getString("jdhid"));
userRole.setDbtid(v.getString("dbtid"));
sysUserRoleService.insert(userRole);
});
}
@Test
public void aa() {
String str = "2020-01-02 12:00:01";
boolean convertSuccess = true;
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
try {
// 设置lenient为false. 否则SimpleDateFormat会比较宽松地验证日期,比如2007/02/29会被接受,并转换成2007/03/01
format.setLenient(true);
format.parse(str);
} catch (ParseException e) {
// e.printStackTrace();
// 如果throw java.text.ParseException或者NullPointerException,就说明格式不对
convertSuccess = false;
}
System.out.println(convertSuccess);
}
@Inject
private SysUserService sysUserService;
@Inject
private AsyncService asyncService;
@Test
public void updateMember() {
Sql sql = Sqls.create("SELECT * from sys_user WHERE member = @normal").setParam("normal", MemberMode.NORMAL.getCode());
List<Record> list = sysUserService.list(sql);
asyncService.exe2(list, (v) -> {
Sys_user_role userRole = new Sys_user_role();
userRole.setUserId(v.getString("id"));
userRole.setRoleId(Roles.MEMBER);
sysUserRoleService.insert(userRole);
});
}
@Test
public void aaa() {
Sql sql = Sqls.create("SELECT * from sys_user WHERE member = @normal").setParam("normal", MemberMode.NORMAL.getCode());
List<Sys_user> member = sysUserService.listEntity(sql);
List<Sys_user> memberHistory = sysUserService.listEntity(Sqls.create("SELECT * from member_history "));
List<Sys_user> collect = member.stream().filter(v -> memberHistory.stream().noneMatch(x -> x.getLoginname().equals(v.getLoginname()))).collect(Collectors.toList());
String s = Json.toJson(collect);
System.err.println(collect);
}
@Test
public void bbb() {
Sys_user sys_user = new Sys_user();
sys_user.setUsername("张三");
sys_user.setLoginname("1111");
sys_user.setSex("男");
String s = Json.toJson(sys_user);
try {
System.out.println("男男" + URLEncoder.encode(s, "utf-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
@Test
public void bb() {
List<Sys_user> query = sysUserService.query();
query.forEach(v -> {
UserSource user = baseService.dao().fetch(UserSource.class, Cnd.where("loginname", "=", v.getLoginname()));
if (user == null) {
baseService.dao().clear(Sys_user.class, Cnd.where("loginname", "=", v.getLoginname()));
}
});
}
@Test
public void wechatMsg() {
Map<String, Object> body = new HashMap<>();
NutMap a = new NutMap() {{
put("fromuser", "70207087");
put("content", "提案附议");
put("title", "提案-【提案系统投用内测1124-02】");
put("type", "textcard");
put("priority", "1");
put("url", "https://ehall3.nuaa.edu.cn/v2/matter/todo");
put("tools", new ArrayList<NutMap>() {{
add(new NutMap() {{
put("tool", "wechat");
}});
}});
put("tousers", new ArrayList<NutMap>() {{
add(new NutMap() {{
put("touser", "70204783");
}});
}});
}};
// body.put("message", Json.toJson(a));
// String wxToken = "445f535a5c525a1e0a06127b222a52225f0732";
// String post = Http.post("https://api.nuaa.edu.cn/yutool/api/send?appId=3WC2O4dP&token=" + wxToken, body, 5000);
// System.out.println(post);
}
@Inject
private Dao dao;
@Test
public void abcdefg() {
// ImportParams params = new ImportParams();
// List<Map<String, Object>> list = ExcelImportUtil.importExcel(
// new File("C:\\Users\\xgh\\Desktop\\会员信息\\1水文院分工会.xls"), Map.class, params);
// System.out.println(list);
}
@Test
public void abcdefgaaa() {
String substring = "username".substring(0, "username".length() - 2);
System.out.println(substring);
}
@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);
}
@Test
public void updateSickMember() {
List<SickFundMember> sickFundMembers = dao.query(SickFundMember.class, null);
for (SickFundMember sickFundMember : sickFundMembers) {
User user = dao.fetch(User.class, Cnd.where("loginname", "=", sickFundMember.getLoginName()));
sickFundMember.setUnitName(user != null ? user.getUnitname() : null);
}
dao.update(sickFundMembers);
}
@Inject
private MsgApi msgApi;
@Test
public void testMsgToken() {
String msgToken = msgApi.getMsgToken();
System.out.println(msgToken);
}
@Test
public void testMsgToken2() {
msgApi.sendMsg("1",List.of("18571562330"));
}
}