diff --git a/game/src/main/java/com/ccsens/game/bean/vo/ClientVo.java b/game/src/main/java/com/ccsens/game/bean/vo/ClientVo.java index f064016b..996fae95 100644 --- a/game/src/main/java/com/ccsens/game/bean/vo/ClientVo.java +++ b/game/src/main/java/com/ccsens/game/bean/vo/ClientVo.java @@ -60,7 +60,9 @@ public class ClientVo { @ApiModelProperty("客户端结束时间") private Long endLocalTime; @ApiModelProperty("玩家当前的分数") - private int score; + private int score = 0; + @ApiModelProperty("玩家当前的次数") + private int times = 0; } @Data @ApiModel("ClientVoCompletedData") diff --git a/game/src/main/java/com/ccsens/game/service/ClientService.java b/game/src/main/java/com/ccsens/game/service/ClientService.java index 059bd1e7..8eab45d5 100644 --- a/game/src/main/java/com/ccsens/game/service/ClientService.java +++ b/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(); processingData.setStartLocalTime(join.getLocalStartTime()); processingData.setEndLocalTime(join.getLocalEndTime()); - processingData.setScore(join.getScore()); + String gameUserKey = GameConstant.generateGameKey(gameRecord.getId()); + Set> 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); break; case GameConstant.GAME_COMPLETED: diff --git a/game/src/main/java/com/ccsens/game/service/ScreenService.java b/game/src/main/java/com/ccsens/game/service/ScreenService.java index 8596bb02..518943aa 100644 --- a/game/src/main/java/com/ccsens/game/service/ScreenService.java +++ b/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 path = WebConstant.UPLOAD_PATH_BASE + fileName; - WxXcxUtil.getWxCode(WebConstant.QRCODE_GAME - , "id=" + gameRecord.getId() + "&type=" + gameType.getCode(), null, path,gameType.getCode()); + WxXcxUtil.getWxCode(WebConstant.QRCODE_GAME, "id=" + gameRecord.getId() + "&type=" + gameType.getCode(), null, path, gameType.getCode()); gameRecord.setQrCodeUrl(PropUtil.qrCode + fileName); log.info("调用微信生成二维码"); } else { diff --git a/health/src/main/java/com/ccsens/health/api/DebugController.java b/health/src/main/java/com/ccsens/health/api/DebugController.java index abbf5785..ea8242e9 100644 --- a/health/src/main/java/com/ccsens/health/api/DebugController.java +++ b/health/src/main/java/com/ccsens/health/api/DebugController.java @@ -1,7 +1,6 @@ package com.ccsens.health.api; import com.ccsens.util.JsonResponse; -import com.ccsens.util.wx.WxXcxUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; @@ -31,14 +30,14 @@ public class DebugController { }) @RequestMapping(value="qrcode",method = RequestMethod.GET,produces = {"application/json;charset=UTF-8"}) public JsonResponse qrcode(HttpServletRequest request) throws Exception { - WxXcxUtil.LineColor color = new WxXcxUtil.LineColor(); - color.r = "243"; - color.g = "139"; - color.b = "0"; - WxXcxUtil.getWxCode("pages/index/index" - ,"d=1218855229722857472",color,"/home/cloud/tall/uploads/qrCode/00112.png",null); -// WxXcxUtil.getWxCodeTest("pages/index/index?t=eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1ODM4MDc3MzcsInN1YiI6IjEyMTg4NTUyMjk3MjI4NTc0NzIiLCJhdXRoSWQiOiIxMTc3MDQwNjY" -// ,"d=1217647686598135808",color,"/home/cloud/tall/uploads/qrCode/158357267174.png"); +// WxXcxUtil.LineColor color = new WxXcxUtil.LineColor(); +// color.r = "243"; +// color.g = "139"; +// color.b = "0"; +// WxXcxUtil.getWxCode("pages/index/index" +// ,"d=1218855229722857472",color,"/home/cloud/tall/uploads/qrCode/00112.png",null); +//// WxXcxUtil.getWxCodeTest("pages/index/index?t=eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1ODM4MDc3MzcsInN1YiI6IjEyMTg4NTUyMjk3MjI4NTc0NzIiLCJhdXRoSWQiOiIxMTc3MDQwNjY" +//// ,"d=1217647686598135808",color,"/home/cloud/tall/uploads/qrCode/158357267174.png"); return JsonResponse.newInstance().ok("完成"); } diff --git a/pom.xml b/pom.xml index 980bbec9..43bcd7cb 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ util tall - + game diff --git a/tall/src/main/java/com/ccsens/tall/bean/vo/MemberVo.java b/tall/src/main/java/com/ccsens/tall/bean/vo/MemberVo.java index 6c27ab71..f9d5fb3d 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/vo/MemberVo.java +++ b/tall/src/main/java/com/ccsens/tall/bean/vo/MemberVo.java @@ -1,12 +1,10 @@ package com.ccsens.tall.bean.vo; import lombok.Data; -import lombok.Getter; -import lombok.Setter; - -import java.util.ArrayList; -import java.util.List; +/** + * @author 逗 + */ @Data public class MemberVo { @@ -37,9 +35,5 @@ public class MemberVo { // private String roleExclude; // private List memberList; // } -// @Data -// public static class Member{ -// private Long id; -// private String name; -// } + } diff --git a/tall/src/main/java/com/ccsens/tall/bean/vo/RoleVo.java b/tall/src/main/java/com/ccsens/tall/bean/vo/RoleVo.java new file mode 100644 index 00000000..11298007 --- /dev/null +++ b/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; + } +} diff --git a/tall/src/main/java/com/ccsens/tall/service/IProRoleService.java b/tall/src/main/java/com/ccsens/tall/service/IProRoleService.java index 572118f6..ea5fab85 100644 --- a/tall/src/main/java/com/ccsens/tall/service/IProRoleService.java +++ b/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.po.ProRole; import com.ccsens.tall.bean.vo.ProjectVo; +import com.ccsens.tall.bean.vo.RoleVo; import com.ccsens.tall.bean.vo.TaskVo; import java.util.List; @@ -34,4 +35,11 @@ public interface IProRoleService { void saveMemberByRole(Long currentUserId, RoleDto.SaveMember saveMember); void deleteMemberByRole(Long currentUserId, RoleDto.SaveMember saveMember); + + /** + * 查找项目下的角色包含“全体成员” + * @param projectId 项目id + * @return + */ + RoleVo.RoleByProjectId queryRoleByProjectId(Long projectId); } diff --git a/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java b/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java index e05de36e..94cf02f5 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java +++ b/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.po.*; 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.persist.dao.*; import com.ccsens.util.CodeEnum; @@ -428,4 +429,9 @@ public class ProRoleService implements IProRoleService { memberRoleDao.updateByPrimaryKeySelective(memberRole); } } + + @Override + public RoleVo.RoleByProjectId queryRoleByProjectId(Long projectId) { + return null; + } } diff --git a/tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java b/tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java index f99d559e..e3a62cb3 100644 --- a/tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java +++ b/tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java @@ -366,10 +366,10 @@ public class TaskSubTimeService implements ITaskSubTimeService { detail.setBeginTime(taskDetail.getBeginTime()); detail.setEndTime(taskDetail.getEndTime()); detail.setLevel((byte) (taskDetail.getLevel() + 1)); - if (taskDetail.getLevel() == 1) { - detail.setBeginTime(System.currentTimeMillis()); - detail.setEndTime(com.ccsens.util.DateUtil.getYMD(DateUtil.tomorrow()).getTime()); - } +// if (taskDetail.getLevel() == 1) { +// detail.setBeginTime(System.currentTimeMillis()); +// detail.setEndTime(com.ccsens.util.DateUtil.getYMD(DateUtil.tomorrow()).getTime()); +// } } else { throw new BaseException("任务信息不正确"); } diff --git a/tall/src/main/java/com/ccsens/tall/web/RoleController.java b/tall/src/main/java/com/ccsens/tall/web/RoleController.java index 180c0a08..3cc31ce9 100644 --- a/tall/src/main/java/com/ccsens/tall/web/RoleController.java +++ b/tall/src/main/java/com/ccsens/tall/web/RoleController.java @@ -1,6 +1,7 @@ package com.ccsens.tall.web; import com.ccsens.tall.bean.dto.RoleDto; +import com.ccsens.tall.bean.vo.RoleVo; import com.ccsens.tall.service.IProRoleService; import com.ccsens.util.JsonResponse; import com.ccsens.util.WebConstant; @@ -79,4 +80,15 @@ public class RoleController { return JsonResponse.newInstance().ok(); } + @ApiOperation(value = "通过",notes = "") + @ApiImplicitParams({ + }) + @RequestMapping(value = "/deleteMember", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"}) + public JsonResponse 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); + } + } diff --git a/tall/src/main/resources/application.yml b/tall/src/main/resources/application.yml index 4fc2efe4..b2acd365 100644 --- a/tall/src/main/resources/application.yml +++ b/tall/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: prod - include: util-prod,common + active: dev + include: util-dev,common diff --git a/util/src/main/java/com/ccsens/util/HttpsUtil.java b/util/src/main/java/com/ccsens/util/HttpsUtil.java index df72b58c..16233cf3 100644 --- a/util/src/main/java/com/ccsens/util/HttpsUtil.java +++ b/util/src/main/java/com/ccsens/util/HttpsUtil.java @@ -1,5 +1,6 @@ package com.ccsens.util; +import lombok.extern.slf4j.Slf4j; import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPost; @@ -27,6 +28,7 @@ import java.security.cert.X509Certificate; * 创建时间: 2015-11-27
* 发布版本:V1.0
*/ + class MyX509TrustManager implements X509TrustManager { // 检查客户端证书 @@ -42,7 +44,7 @@ class MyX509TrustManager implements X509TrustManager { return null; } } - +@Slf4j public class HttpsUtil { /** * 发送https请求 @@ -107,8 +109,10 @@ public class HttpsUtil { * @param path 将结果以二进制方式写入文件 * @return void */ - public static void httpsRequest(String requestUrl, String requestMethod, String postStr,String path) - throws Exception { + public static void httpsRequest(String requestUrl, String requestMethod, String postStr,String path)throws Exception { + log.info("发送POST请求的路径:{}",requestUrl); + log.info("请求提交的数据:{}",postStr); + StringBuffer buffer = null; // 创建SSLContext对象,并使用我们指定的信任管理器初始化 TrustManager[] tm = {new MyX509TrustManager()}; diff --git a/util/src/main/java/com/ccsens/util/WebConstant.java b/util/src/main/java/com/ccsens/util/WebConstant.java index 8877d996..6afa7e7c 100644 --- a/util/src/main/java/com/ccsens/util/WebConstant.java +++ b/util/src/main/java/com/ccsens/util/WebConstant.java @@ -110,7 +110,7 @@ public class WebConstant { } 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 String DOMAIN = PropUtil.wxPrefix; public static final String TEMPLATE_SEND = DOMAIN + "template/send"; diff --git a/util/src/main/java/com/ccsens/util/cron/CronConstant.java b/util/src/main/java/com/ccsens/util/cron/CronConstant.java index 0fdae1e5..ef36e9ad 100644 --- a/util/src/main/java/com/ccsens/util/cron/CronConstant.java +++ b/util/src/main/java/com/ccsens/util/cron/CronConstant.java @@ -39,7 +39,7 @@ public class CronConstant { // System.out.println("每月:" + month); // 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号:" + getDate(day, start, end)); // @@ -50,14 +50,14 @@ public class CronConstant { // TaskCron cronDay = getCronDay("10号,每隔3天"); // System.out.println("10号,每隔3天:" + cronDay); // System.out.println("10号,每隔3天:" + getDate(cronDay,start, end)); - - TaskCron week = getCronDay("每周7"); - System.out.println("周1:" + week); - System.out.println("周一:" + getDate(week,start, end)); - -// TaskCron workday = getCronDay("工作日"); -// System.out.println("工作日:" + workday); -// System.out.println("工作日:" + getDate(workday,start, end)); +// +// TaskCron week = getCronDay("每周7"); +// System.out.println("周1:" + week); +// System.out.println("周一:" + getDate(week,start, end)); +// + TaskCron workday = getCronDay("每周一-周五 18点"); + System.out.println("工作日:" + workday); + System.out.println("工作日:" + getDate(workday,start, end)); // System.out.println(generateDates("每天9点,10点", start, end)); } diff --git a/util/src/main/java/com/ccsens/util/cron/NatureToDate.java b/util/src/main/java/com/ccsens/util/cron/NatureToDate.java index 2b18f07f..d220f8e6 100644 --- a/util/src/main/java/com/ccsens/util/cron/NatureToDate.java +++ b/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("每月15号下午5点:" + generateDates("每月15号下午5点", start, end)); -// log.info("周一-周五 8点-9点: " + generateDates("周一-周五 8点-9点", start, end)); - log.info("每年3月5号前: " + generateDates("每年03月05号前", start, end)); - log.info("每月5号前: " + generateDates("每月05号前", start, end)); + log.info("周一-周五 8点-9点: " + generateDates("周一-周五 18点", start, end)); +// log.info("每年3月5号前: " + generateDates("每年03月05号前", start, end)); +// log.info("每月5号前: " + generateDates("每月05号前", start, end)); } diff --git a/util/src/main/java/com/ccsens/util/wx/WxGzhUtil.java b/util/src/main/java/com/ccsens/util/wx/WxGzhUtil.java index a729cdb1..a4a4cada 100644 --- a/util/src/main/java/com/ccsens/util/wx/WxGzhUtil.java +++ b/util/src/main/java/com/ccsens/util/wx/WxGzhUtil.java @@ -210,9 +210,10 @@ public class WxGzhUtil { * 获取Access_token */ 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) ){ - WxAccessToken wxAccessToken = null; + WxAccessToken wxAccessToken; String url = String.format(URL_GET_ACCESS_TOKEN,"client_credential",appId,secret); String response = HttpRequest.get(url).execute().body(); log.info("getAccessToken: {}",response); @@ -230,11 +231,11 @@ public class WxGzhUtil { if (StrUtil.isEmpty(wxAccessToken.getAccessToken())) { throw new BusinessException(-1,"can't find the access_token attribute."); } - util.redisUtil.set(WebConstant.Wx.ACCESS_TOKEN, wxAccessToken.getAccessToken(), WebConstant.Wx.EXPIRE_TIME); - logger.info("存储access_token:{}", wxAccessToken.getAccessToken()); + util.redisUtil.set(WebConstant.Wx.ACCESS_TOKEN + appId, wxAccessToken.getAccessToken(), WebConstant.Wx.EXPIRE_TIME); + log.info("存储access_token:{}", wxAccessToken.getAccessToken()); return wxAccessToken.getAccessToken(); } - logger.info("读取reids的token:{}", obj); + log.info("读取reids的token:{}", obj); return (String)obj; } // diff --git a/util/src/main/java/com/ccsens/util/wx/WxXcxUtil.java b/util/src/main/java/com/ccsens/util/wx/WxXcxUtil.java index ae37c5a7..34d4d9ba 100644 --- a/util/src/main/java/com/ccsens/util/wx/WxXcxUtil.java +++ b/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.WxException; import lombok.Data; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.codec.digest.DigestUtils; import java.io.ByteArrayInputStream; @@ -44,6 +45,7 @@ class PayException extends RuntimeException{ /** * @author __zHangSan */ +@Slf4j public class WxXcxUtil { /** @@ -210,7 +212,7 @@ public class WxXcxUtil { * @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 response = HttpRequest.get(url).execute().body(); try { @@ -235,6 +237,7 @@ public class WxXcxUtil { * @throws Exception */ public static void getWxCode(String page,String scene,LineColor color,String path,String code) throws Exception { + File file = new File(path); if(!file.getParentFile().exists()){ file.getParentFile().mkdirs(); @@ -244,8 +247,6 @@ public class WxXcxUtil { WechatCode wechatCode = new WechatCode(); wechatCode.page = page; wechatCode.scene = scene; -// wechatCode.path = page+"?"+scene; - wechatCode.line_color = color; String postStr = JacksonUtil.beanToJson(wechatCode); diff --git a/util/src/test/java/com/ccsens/util/Base64Test.java b/util/src/test/java/com/ccsens/util/Base64Test.java index c19c5c6a..da21de51 100644 --- a/util/src/test/java/com/ccsens/util/Base64Test.java +++ b/util/src/test/java/com/ccsens/util/Base64Test.java @@ -1,13 +1,11 @@ package com.ccsens.util; import cn.hutool.core.codec.Base64; -import cn.hutool.core.date.DateUtil; import lombok.extern.slf4j.Slf4j; import org.junit.Test; import java.io.File; import java.io.FileOutputStream; -import java.util.Date; /** * @description: @@ -35,10 +33,8 @@ public class Base64Test { @Test 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"; -// -// System.out.println(s); - System.out.println(DateUtil.year(new Date())); + String s = "aassccxx"; + System.out.println(s.substring(s.length() - 4)); } diff --git a/util/src/test/java/com/ccsens/util/TestQrCord.java b/util/src/test/java/com/ccsens/util/TestQrCord.java index 78799d03..3efb13e2 100644 --- a/util/src/test/java/com/ccsens/util/TestQrCord.java +++ b/util/src/test/java/com/ccsens/util/TestQrCord.java @@ -29,7 +29,7 @@ public class TestQrCord { // String fileName = "zzz/" + DateUtil.today() + "/" + i+"组" + ".png"; // 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"; QRCodeWriter qrCodeWriter = new QRCodeWriter();