Browse Source

20200828_v1.0

master
zy_Java 5 years ago
parent
commit
3b955d8adb
  1. 4
      game/src/main/java/com/ccsens/game/bean/vo/ClientVo.java
  2. 13
      game/src/main/java/com/ccsens/game/service/ClientService.java
  3. 3
      game/src/main/java/com/ccsens/game/service/ScreenService.java
  4. 17
      health/src/main/java/com/ccsens/health/api/DebugController.java
  5. 2
      pom.xml
  6. 14
      tall/src/main/java/com/ccsens/tall/bean/vo/MemberVo.java
  7. 20
      tall/src/main/java/com/ccsens/tall/bean/vo/RoleVo.java
  8. 8
      tall/src/main/java/com/ccsens/tall/service/IProRoleService.java
  9. 6
      tall/src/main/java/com/ccsens/tall/service/ProRoleService.java
  10. 8
      tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java
  11. 12
      tall/src/main/java/com/ccsens/tall/web/RoleController.java
  12. 4
      tall/src/main/resources/application.yml
  13. 10
      util/src/main/java/com/ccsens/util/HttpsUtil.java
  14. 2
      util/src/main/java/com/ccsens/util/WebConstant.java
  15. 18
      util/src/main/java/com/ccsens/util/cron/CronConstant.java
  16. 6
      util/src/main/java/com/ccsens/util/cron/NatureToDate.java
  17. 11
      util/src/main/java/com/ccsens/util/wx/WxGzhUtil.java
  18. 7
      util/src/main/java/com/ccsens/util/wx/WxXcxUtil.java
  19. 8
      util/src/test/java/com/ccsens/util/Base64Test.java
  20. 2
      util/src/test/java/com/ccsens/util/TestQrCord.java

4
game/src/main/java/com/ccsens/game/bean/vo/ClientVo.java

@ -60,7 +60,9 @@ public class ClientVo {
@ApiModelProperty("客户端结束时间") @ApiModelProperty("客户端结束时间")
private Long endLocalTime; private Long endLocalTime;
@ApiModelProperty("玩家当前的分数") @ApiModelProperty("玩家当前的分数")
private int score; private int score = 0;
@ApiModelProperty("玩家当前的次数")
private int times = 0;
} }
@Data @Data
@ApiModel("ClientVoCompletedData") @ApiModel("ClientVoCompletedData")

13
game/src/main/java/com/ccsens/game/service/ClientService.java

@ -250,7 +250,18 @@ public class ClientService implements IClientService {
ClientVo.ProcessingData processingData = new ClientVo.ProcessingData(); ClientVo.ProcessingData processingData = new ClientVo.ProcessingData();
processingData.setStartLocalTime(join.getLocalStartTime()); processingData.setStartLocalTime(join.getLocalStartTime());
processingData.setEndLocalTime(join.getLocalEndTime()); processingData.setEndLocalTime(join.getLocalEndTime());
processingData.setScore(join.getScore()); String gameUserKey = GameConstant.generateGameKey(gameRecord.getId());
Set<ZSetOperations.TypedTuple<Object>> typedTuples = redisUtil.zsGetWithScore(gameUserKey, 0, -1);
log.info("进行中加入查询redis内的分数信息:{}",typedTuples);
if(CollectionUtil.isNotEmpty(typedTuples)) {
typedTuples.forEach(type -> {
ClientDto.RedisUser user = JSON.parseObject((String)type.getValue(), ClientDto.RedisUser.class);
if(user.getUserId().longValue() == join.getUserId().longValue()){
processingData.setScore(type.getScore().intValue());
processingData.setTimes(type.getScore().intValue() / 100);
}
});
}
joinVo.setProcessingData(processingData); joinVo.setProcessingData(processingData);
break; break;
case GameConstant.GAME_COMPLETED: case GameConstant.GAME_COMPLETED:

3
game/src/main/java/com/ccsens/game/service/ScreenService.java

@ -124,8 +124,7 @@ public class ScreenService implements IScreenService {
//生成二维码 //生成二维码
String fileName = "/gameQrCode/" + DateUtil.today() + "/" + System.currentTimeMillis() + ".png"; String fileName = "/gameQrCode/" + DateUtil.today() + "/" + System.currentTimeMillis() + ".png";
String path = WebConstant.UPLOAD_PATH_BASE + fileName; String path = WebConstant.UPLOAD_PATH_BASE + fileName;
WxXcxUtil.getWxCode(WebConstant.QRCODE_GAME WxXcxUtil.getWxCode(WebConstant.QRCODE_GAME, "id=" + gameRecord.getId() + "&type=" + gameType.getCode(), null, path, gameType.getCode());
, "id=" + gameRecord.getId() + "&type=" + gameType.getCode(), null, path,gameType.getCode());
gameRecord.setQrCodeUrl(PropUtil.qrCode + fileName); gameRecord.setQrCodeUrl(PropUtil.qrCode + fileName);
log.info("调用微信生成二维码"); log.info("调用微信生成二维码");
} else { } else {

17
health/src/main/java/com/ccsens/health/api/DebugController.java

@ -1,7 +1,6 @@
package com.ccsens.health.api; package com.ccsens.health.api;
import com.ccsens.util.JsonResponse; import com.ccsens.util.JsonResponse;
import com.ccsens.util.wx.WxXcxUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@ -31,14 +30,14 @@ public class DebugController {
}) })
@RequestMapping(value="qrcode",method = RequestMethod.GET,produces = {"application/json;charset=UTF-8"}) @RequestMapping(value="qrcode",method = RequestMethod.GET,produces = {"application/json;charset=UTF-8"})
public JsonResponse qrcode(HttpServletRequest request) throws Exception { public JsonResponse qrcode(HttpServletRequest request) throws Exception {
WxXcxUtil.LineColor color = new WxXcxUtil.LineColor(); // WxXcxUtil.LineColor color = new WxXcxUtil.LineColor();
color.r = "243"; // color.r = "243";
color.g = "139"; // color.g = "139";
color.b = "0"; // color.b = "0";
WxXcxUtil.getWxCode("pages/index/index" // WxXcxUtil.getWxCode("pages/index/index"
,"d=1218855229722857472",color,"/home/cloud/tall/uploads/qrCode/00112.png",null); // ,"d=1218855229722857472",color,"/home/cloud/tall/uploads/qrCode/00112.png",null);
// WxXcxUtil.getWxCodeTest("pages/index/index?t=eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1ODM4MDc3MzcsInN1YiI6IjEyMTg4NTUyMjk3MjI4NTc0NzIiLCJhdXRoSWQiOiIxMTc3MDQwNjY" //// WxXcxUtil.getWxCodeTest("pages/index/index?t=eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1ODM4MDc3MzcsInN1YiI6IjEyMTg4NTUyMjk3MjI4NTc0NzIiLCJhdXRoSWQiOiIxMTc3MDQwNjY"
// ,"d=1217647686598135808",color,"/home/cloud/tall/uploads/qrCode/158357267174.png"); //// ,"d=1217647686598135808",color,"/home/cloud/tall/uploads/qrCode/158357267174.png");
return JsonResponse.newInstance().ok("完成"); return JsonResponse.newInstance().ok("完成");
} }

2
pom.xml

@ -10,7 +10,7 @@
<module>util</module> <module>util</module>
<module>tall</module> <module>tall</module>
<!-- <module>ht</module>--> <!-- <module>ht</module>-->
<!-- <module>game</module>--> <module>game</module>
<!-- <module>mt</module>--> <!-- <module>mt</module>-->
<!-- <module>health</module>--> <!-- <module>health</module>-->
<!-- <module>ct</module>--> <!-- <module>ct</module>-->

14
tall/src/main/java/com/ccsens/tall/bean/vo/MemberVo.java

@ -1,12 +1,10 @@
package com.ccsens.tall.bean.vo; package com.ccsens.tall.bean.vo;
import lombok.Data; import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import java.util.ArrayList;
import java.util.List;
/**
* @author
*/
@Data @Data
public class MemberVo { public class MemberVo {
@ -37,9 +35,5 @@ public class MemberVo {
// private String roleExclude; // private String roleExclude;
// private List<Member> memberList; // private List<Member> memberList;
// } // }
// @Data
// public static class Member{
// private Long id;
// private String name;
// }
} }

20
tall/src/main/java/com/ccsens/tall/bean/vo/RoleVo.java

@ -0,0 +1,20 @@
package com.ccsens.tall.bean.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author
*/
@Data
public class RoleVo {
@Data
@ApiModel("查找项目下的所有角色(包括全体成员)")
public static class RoleByProjectId{
@ApiModelProperty("角色id")
private Long roleId;
@ApiModelProperty("角色名")
private String roleName;
}
}

8
tall/src/main/java/com/ccsens/tall/service/IProRoleService.java

@ -3,6 +3,7 @@ package com.ccsens.tall.service;
import com.ccsens.tall.bean.dto.RoleDto; import com.ccsens.tall.bean.dto.RoleDto;
import com.ccsens.tall.bean.po.ProRole; import com.ccsens.tall.bean.po.ProRole;
import com.ccsens.tall.bean.vo.ProjectVo; import com.ccsens.tall.bean.vo.ProjectVo;
import com.ccsens.tall.bean.vo.RoleVo;
import com.ccsens.tall.bean.vo.TaskVo; import com.ccsens.tall.bean.vo.TaskVo;
import java.util.List; import java.util.List;
@ -34,4 +35,11 @@ public interface IProRoleService {
void saveMemberByRole(Long currentUserId, RoleDto.SaveMember saveMember); void saveMemberByRole(Long currentUserId, RoleDto.SaveMember saveMember);
void deleteMemberByRole(Long currentUserId, RoleDto.SaveMember saveMember); void deleteMemberByRole(Long currentUserId, RoleDto.SaveMember saveMember);
/**
* 查找项目下的角色包含全体成员
* @param projectId 项目id
* @return
*/
RoleVo.RoleByProjectId queryRoleByProjectId(Long projectId);
} }

6
tall/src/main/java/com/ccsens/tall/service/ProRoleService.java

@ -8,6 +8,7 @@ import com.ccsens.tall.bean.dto.MemberRoleDto;
import com.ccsens.tall.bean.dto.RoleDto; import com.ccsens.tall.bean.dto.RoleDto;
import com.ccsens.tall.bean.po.*; import com.ccsens.tall.bean.po.*;
import com.ccsens.tall.bean.vo.ProjectVo; import com.ccsens.tall.bean.vo.ProjectVo;
import com.ccsens.tall.bean.vo.RoleVo;
import com.ccsens.tall.bean.vo.TaskVo; import com.ccsens.tall.bean.vo.TaskVo;
import com.ccsens.tall.persist.dao.*; import com.ccsens.tall.persist.dao.*;
import com.ccsens.util.CodeEnum; import com.ccsens.util.CodeEnum;
@ -428,4 +429,9 @@ public class ProRoleService implements IProRoleService {
memberRoleDao.updateByPrimaryKeySelective(memberRole); memberRoleDao.updateByPrimaryKeySelective(memberRole);
} }
} }
@Override
public RoleVo.RoleByProjectId queryRoleByProjectId(Long projectId) {
return null;
}
} }

8
tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java

@ -366,10 +366,10 @@ public class TaskSubTimeService implements ITaskSubTimeService {
detail.setBeginTime(taskDetail.getBeginTime()); detail.setBeginTime(taskDetail.getBeginTime());
detail.setEndTime(taskDetail.getEndTime()); detail.setEndTime(taskDetail.getEndTime());
detail.setLevel((byte) (taskDetail.getLevel() + 1)); detail.setLevel((byte) (taskDetail.getLevel() + 1));
if (taskDetail.getLevel() == 1) { // if (taskDetail.getLevel() == 1) {
detail.setBeginTime(System.currentTimeMillis()); // detail.setBeginTime(System.currentTimeMillis());
detail.setEndTime(com.ccsens.util.DateUtil.getYMD(DateUtil.tomorrow()).getTime()); // detail.setEndTime(com.ccsens.util.DateUtil.getYMD(DateUtil.tomorrow()).getTime());
} // }
} else { } else {
throw new BaseException("任务信息不正确"); throw new BaseException("任务信息不正确");
} }

12
tall/src/main/java/com/ccsens/tall/web/RoleController.java

@ -1,6 +1,7 @@
package com.ccsens.tall.web; package com.ccsens.tall.web;
import com.ccsens.tall.bean.dto.RoleDto; import com.ccsens.tall.bean.dto.RoleDto;
import com.ccsens.tall.bean.vo.RoleVo;
import com.ccsens.tall.service.IProRoleService; import com.ccsens.tall.service.IProRoleService;
import com.ccsens.util.JsonResponse; import com.ccsens.util.JsonResponse;
import com.ccsens.util.WebConstant; import com.ccsens.util.WebConstant;
@ -79,4 +80,15 @@ public class RoleController {
return JsonResponse.newInstance().ok(); return JsonResponse.newInstance().ok();
} }
@ApiOperation(value = "通过",notes = "")
@ApiImplicitParams({
})
@RequestMapping(value = "/deleteMember", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"})
public JsonResponse<RoleVo.RoleByProjectId> queryRoleByProjectId(HttpServletRequest request,
@RequestParam(required = true)Long projectId) throws Exception {
Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject());
RoleVo.RoleByProjectId roleInfo = proRoleService.queryRoleByProjectId(projectId);
return JsonResponse.newInstance().ok(roleInfo);
}
} }

4
tall/src/main/resources/application.yml

@ -1,4 +1,4 @@
spring: spring:
profiles: profiles:
active: prod active: dev
include: util-prod,common include: util-dev,common

10
util/src/main/java/com/ccsens/util/HttpsUtil.java

@ -1,5 +1,6 @@
package com.ccsens.util; package com.ccsens.util;
import lombok.extern.slf4j.Slf4j;
import org.apache.http.HttpEntity; import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost; import org.apache.http.client.methods.HttpPost;
@ -27,6 +28,7 @@ import java.security.cert.X509Certificate;
* 创建时间 2015-11-27 </br> * 创建时间 2015-11-27 </br>
* 发布版本V1.0 </br> * 发布版本V1.0 </br>
*/ */
class MyX509TrustManager implements X509TrustManager { class MyX509TrustManager implements X509TrustManager {
// 检查客户端证书 // 检查客户端证书
@ -42,7 +44,7 @@ class MyX509TrustManager implements X509TrustManager {
return null; return null;
} }
} }
@Slf4j
public class HttpsUtil { public class HttpsUtil {
/** /**
* 发送https请求 * 发送https请求
@ -107,8 +109,10 @@ public class HttpsUtil {
* @param path 将结果以二进制方式写入文件 * @param path 将结果以二进制方式写入文件
* @return void * @return void
*/ */
public static void httpsRequest(String requestUrl, String requestMethod, String postStr,String path) public static void httpsRequest(String requestUrl, String requestMethod, String postStr,String path)throws Exception {
throws Exception { log.info("发送POST请求的路径:{}",requestUrl);
log.info("请求提交的数据:{}",postStr);
StringBuffer buffer = null; StringBuffer buffer = null;
// 创建SSLContext对象,并使用我们指定的信任管理器初始化 // 创建SSLContext对象,并使用我们指定的信任管理器初始化
TrustManager[] tm = {new MyX509TrustManager()}; TrustManager[] tm = {new MyX509TrustManager()};

2
util/src/main/java/com/ccsens/util/WebConstant.java

@ -110,7 +110,7 @@ public class WebConstant {
} }
public static final class Wx { public static final class Wx {
public static final String ACCESS_TOKEN = "tall_wx_access_token"; public static final String ACCESS_TOKEN = "tall_wx_access_token_";
public static final long EXPIRE_TIME = 1 * 60 * 60; public static final long EXPIRE_TIME = 1 * 60 * 60;
public static final String DOMAIN = PropUtil.wxPrefix; public static final String DOMAIN = PropUtil.wxPrefix;
public static final String TEMPLATE_SEND = DOMAIN + "template/send"; public static final String TEMPLATE_SEND = DOMAIN + "template/send";

18
util/src/main/java/com/ccsens/util/cron/CronConstant.java

@ -39,7 +39,7 @@ public class CronConstant {
// System.out.println("每月:" + month); // System.out.println("每月:" + month);
// System.out.println("每月:" + getDate(month, start, end)); // System.out.println("每月:" + getDate(month, start, end));
TaskCron day = getCronDay("八月8号-15号"); // TaskCron day = getCronDay("八月8号-15号");
// System.out.println("每月8号-15号:" + day); // System.out.println("每月8号-15号:" + day);
// System.out.println("每月8号-15号:" + getDate(day, start, end)); // System.out.println("每月8号-15号:" + getDate(day, start, end));
// //
@ -50,14 +50,14 @@ public class CronConstant {
// TaskCron cronDay = getCronDay("10号,每隔3天"); // TaskCron cronDay = getCronDay("10号,每隔3天");
// System.out.println("10号,每隔3天:" + cronDay); // System.out.println("10号,每隔3天:" + cronDay);
// System.out.println("10号,每隔3天:" + getDate(cronDay,start, end)); // System.out.println("10号,每隔3天:" + getDate(cronDay,start, end));
//
TaskCron week = getCronDay("每周7"); // TaskCron week = getCronDay("每周7");
System.out.println("周1:" + week); // System.out.println("周1:" + week);
System.out.println("周一:" + getDate(week,start, end)); // System.out.println("周一:" + getDate(week,start, end));
//
// TaskCron workday = getCronDay("工作日"); TaskCron workday = getCronDay("每周一-周五 18点");
// System.out.println("工作日:" + workday); System.out.println("工作日:" + workday);
// System.out.println("工作日:" + getDate(workday,start, end)); System.out.println("工作日:" + getDate(workday,start, end));
// System.out.println(generateDates("每天9点,10点", start, end)); // System.out.println(generateDates("每天9点,10点", start, end));
} }

6
util/src/main/java/com/ccsens/util/cron/NatureToDate.java

@ -44,9 +44,9 @@ public class NatureToDate {
// System.out.println("第八天:" + generateDates("第八天", start, end)); // System.out.println("第八天:" + generateDates("第八天", start, end));
// System.out.println("每月15号下午5点:" + generateDates("每月15号下午5点", start, end)); // System.out.println("每月15号下午5点:" + generateDates("每月15号下午5点", start, end));
// log.info("周一-周五 8点-9点: " + generateDates("周一-周五 8点-9点", start, end)); log.info("周一-周五 8点-9点: " + generateDates("周一-周五 18点", start, end));
log.info("每年3月5号前: " + generateDates("每年03月05号前", start, end)); // log.info("每年3月5号前: " + generateDates("每年03月05号前", start, end));
log.info("每月5号前: " + generateDates("每月05号前", start, end)); // log.info("每月5号前: " + generateDates("每月05号前", start, end));
} }

11
util/src/main/java/com/ccsens/util/wx/WxGzhUtil.java

@ -210,9 +210,10 @@ public class WxGzhUtil {
* 获取Access_token * 获取Access_token
*/ */
public static String getAccessToken(String appId,String secret) throws BaseException { public static String getAccessToken(String appId,String secret) throws BaseException {
Object obj = util.redisUtil.get(WebConstant.Wx.ACCESS_TOKEN); log.info("获取accessToken,appid:{}",appId.substring(appId.length() - 4));
Object obj = util.redisUtil.get(WebConstant.Wx.ACCESS_TOKEN + appId);
if(obj == null || StrUtil.isBlank((String)obj) ){ if(obj == null || StrUtil.isBlank((String)obj) ){
WxAccessToken wxAccessToken = null; WxAccessToken wxAccessToken;
String url = String.format(URL_GET_ACCESS_TOKEN,"client_credential",appId,secret); String url = String.format(URL_GET_ACCESS_TOKEN,"client_credential",appId,secret);
String response = HttpRequest.get(url).execute().body(); String response = HttpRequest.get(url).execute().body();
log.info("getAccessToken: {}",response); log.info("getAccessToken: {}",response);
@ -230,11 +231,11 @@ public class WxGzhUtil {
if (StrUtil.isEmpty(wxAccessToken.getAccessToken())) { if (StrUtil.isEmpty(wxAccessToken.getAccessToken())) {
throw new BusinessException(-1,"can't find the access_token attribute."); throw new BusinessException(-1,"can't find the access_token attribute.");
} }
util.redisUtil.set(WebConstant.Wx.ACCESS_TOKEN, wxAccessToken.getAccessToken(), WebConstant.Wx.EXPIRE_TIME); util.redisUtil.set(WebConstant.Wx.ACCESS_TOKEN + appId, wxAccessToken.getAccessToken(), WebConstant.Wx.EXPIRE_TIME);
logger.info("存储access_token:{}", wxAccessToken.getAccessToken()); log.info("存储access_token:{}", wxAccessToken.getAccessToken());
return wxAccessToken.getAccessToken(); return wxAccessToken.getAccessToken();
} }
logger.info("读取reids的token:{}", obj); log.info("读取reids的token:{}", obj);
return (String)obj; return (String)obj;
} }
// //

7
util/src/main/java/com/ccsens/util/wx/WxXcxUtil.java

@ -9,6 +9,7 @@ import com.ccsens.util.WebConstant;
import com.ccsens.util.exception.BusinessException; import com.ccsens.util.exception.BusinessException;
import com.ccsens.util.exception.WxException; import com.ccsens.util.exception.WxException;
import lombok.Data; import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.codec.digest.DigestUtils;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
@ -44,6 +45,7 @@ class PayException extends RuntimeException{
/** /**
* @author __zHangSan * @author __zHangSan
*/ */
@Slf4j
public class WxXcxUtil { public class WxXcxUtil {
/** /**
@ -210,7 +212,7 @@ public class WxXcxUtil {
* @throws Exception * @throws Exception
*/ */
public static WechatUser getUserInfo(String code,String gameType) throws Exception { public static WechatUser getUserInfo(String code,String gameType) throws Exception {
WechatUser wechatUser = null; WechatUser wechatUser;
String url = String.format(URL_LOGIN, appId(gameType), secret(gameType), code, "authorization_code"); String url = String.format(URL_LOGIN, appId(gameType), secret(gameType), code, "authorization_code");
String response = HttpRequest.get(url).execute().body(); String response = HttpRequest.get(url).execute().body();
try { try {
@ -235,6 +237,7 @@ public class WxXcxUtil {
* @throws Exception * @throws Exception
*/ */
public static void getWxCode(String page,String scene,LineColor color,String path,String code) throws Exception { public static void getWxCode(String page,String scene,LineColor color,String path,String code) throws Exception {
File file = new File(path); File file = new File(path);
if(!file.getParentFile().exists()){ if(!file.getParentFile().exists()){
file.getParentFile().mkdirs(); file.getParentFile().mkdirs();
@ -244,8 +247,6 @@ public class WxXcxUtil {
WechatCode wechatCode = new WechatCode(); WechatCode wechatCode = new WechatCode();
wechatCode.page = page; wechatCode.page = page;
wechatCode.scene = scene; wechatCode.scene = scene;
// wechatCode.path = page+"?"+scene;
wechatCode.line_color = color; wechatCode.line_color = color;
String postStr = JacksonUtil.beanToJson(wechatCode); String postStr = JacksonUtil.beanToJson(wechatCode);

8
util/src/test/java/com/ccsens/util/Base64Test.java

@ -1,13 +1,11 @@
package com.ccsens.util; package com.ccsens.util;
import cn.hutool.core.codec.Base64; import cn.hutool.core.codec.Base64;
import cn.hutool.core.date.DateUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.junit.Test; import org.junit.Test;
import java.io.File; import java.io.File;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.util.Date;
/** /**
* @description: * @description:
@ -35,10 +33,8 @@ public class Base64Test {
@Test @Test
public void test02() throws Exception { public void test02() throws Exception {
// String s = "https://wwo.wps.cn/office/s/1291660455860899840?_w_appid=09d77d2eb919438e8ae4f2a9ec6ec8dd&_w_signature=oFhIjXT7MHYm58jfcbTAO%2Fo9quA%3D&_w_token=eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1OTY3ODY0NjksInN1YiI6IjEyMTc2NDc2ODY1OTgxMzU4MDgiLCJhdXRoSWQiOiIxMTc3MTU4ODQ4ODg1MTY2MDgwIiwiZXhwIjoxNTk2ODcyODY5fQ.-pNqWTas-5Efu1855QzuObqE9y2N9HI-K3MZCKmI6SA&_w_url=https://test.tall.wiki/gateway/pims/read/income"; String s = "aassccxx";
// System.out.println(s.substring(s.length() - 4));
// System.out.println(s);
System.out.println(DateUtil.year(new Date()));
} }

2
util/src/test/java/com/ccsens/util/TestQrCord.java

@ -29,7 +29,7 @@ public class TestQrCord {
// String fileName = "zzz/" + DateUtil.today() + "/" + i+"组" + ".png"; // String fileName = "zzz/" + DateUtil.today() + "/" + i+"组" + ".png";
// String text = "https://www.tall.wiki/pt-dev/respond?groupId="+i+"&groupName="+i+"组"; // String text = "https://www.tall.wiki/pt-dev/respond?groupId="+i+"&groupName="+i+"组";
String text = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7af1bf1e14facf82&redirect_uri=https://www.tall.wiki/pt-dev/vote&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"; String text = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7af1bf1e14facf82&redirect_uri=http://www.tall.wiki/pt-dev/vote&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect";
String fileName = "zzz/" + DateUtil.today() + "/投票.png"; String fileName = "zzz/" + DateUtil.today() + "/投票.png";
QRCodeWriter qrCodeWriter = new QRCodeWriter(); QRCodeWriter qrCodeWriter = new QRCodeWriter();

Loading…
Cancel
Save