265 lines
8.7 KiB
Java
265 lines
8.7 KiB
Java
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.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"));
|
|
}
|
|
|
|
|
|
}
|