From 28923b3d67c58b032bc4ff128aa1d5e62d73dba1 Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Fri, 02 Feb 2024 10:07:58 +0800 Subject: [PATCH] fix:提交实时在线率接口 --- screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java | 87 +++++++++++++++++++++++++++++-------------- 1 files changed, 59 insertions(+), 28 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java index 8b08a23..cde7c7f 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.moral.api.config.Interceptor.UserHelper; import com.moral.api.entity.*; import com.moral.api.mapper.*; import com.moral.api.pojo.bo.UserBO; @@ -15,12 +16,14 @@ import com.moral.api.pojo.enums.FileTableEnum; import com.moral.api.pojo.enums.StateEnum; import com.moral.api.pojo.enums.SysDictTypeEnum; -import com.moral.api.pojo.query.app.AppAllocationPushUserCond; + import com.moral.api.pojo.vo.file.FileVo; +import com.moral.api.pojo.vo.user.QxUser; import com.moral.api.service.FileTableService; import com.moral.api.service.ResponsibilityUnitService; import com.moral.api.service.UserService; import com.moral.api.utils.OperationLogUtils; +import com.moral.api.utils.StringUtils; import com.moral.api.utils.WechatUtils; import com.moral.api.vo.WxMssVo; import com.moral.constant.Constants; @@ -114,6 +117,16 @@ } ResponsibilityUnit responsibilityUnit = responsibilityUnitMapper.selectById(userBo.getUnitId()); List<Integer> list = responsibilityUnitMapper.selectCodeList(SysDictTypeEnum.SYS_DEVICE.value, userBo.getId()); + result.put("userName", userBo.getUserName()); + result.put("unitId",userBo.getUnitId()); + result.put("userId", userBo.getId()); + result.put("account", userBo.getAccount()); + List<FileVo> listFile = fileTableService.list(userBo.getId(), FileTableEnum.APP_ALLOCATION.value); + result.put("file", CollectionUtils.isNotEmpty(listFile)?listFile.get(0):new FileVo()); + result.put("unName",Objects.nonNull(responsibilityUnit)&&Objects.nonNull(responsibilityUnit.getUnitName())?responsibilityUnit.getUnitName():"���������������"); + result.put("device",ObjectUtils.isEmpty(list)? StateEnum.NOT_EFFECTIVE.value :StateEnum.TAKE_EFFECT.value); + String userIdStr = new StringBuffer("00").append(userBo.getId().toString()).toString(); + String tokenResult = TokenUtils.getTokenById(userIdStr); //������������������ Map<String, Object> userInfo = new LinkedHashMap<>(); userInfo.put("userId", userBo.getId()); @@ -128,19 +141,25 @@ userInfo.put("isAdmin", userBo.getIsAdmin()); userInfo.put("organizationId",userBo.getOrganizationId()); userInfo.put("openid", openId); + if(StringUtils.isNotEmpty(tokenResult)){ + result.put("token", tokenResult); + result.put("code", ResponseCodeEnum.SUCCESS.getCode()); + result.put("msg", ResponseCodeEnum.SUCCESS.getMsg()); + sysLog("������������������" + userBo.getAccount()+" ;openId:"+openId,userBo); + //������openId���user������ + User user = userMapper.selectById(userBo.getId()); + user.setOpenId(openId); + userMapper.updateById(user); + TokenUtils.getRefreshTokenApp(tokenResult,userInfo); + return result; + } + try { //������token������������redis String token = TokenUtils.getTokenApp(new StringBuffer("00").append(userBo.getId().toString()).toString(),userInfo); result.put("token", token); - result.put("userName", userBo.getUserName()); - result.put("unitId",userBo.getUnitId()); - result.put("userId", userBo.getId()); - result.put("account", userBo.getAccount()); - List<FileVo> listFile = fileTableService.list(userBo.getId(), FileTableEnum.APP_ALLOCATION.value); - result.put("file", CollectionUtils.isNotEmpty(listFile)?listFile.get(0):new FileVo()); - result.put("unName",Objects.nonNull(responsibilityUnit)&&Objects.nonNull(responsibilityUnit.getUnitName())?responsibilityUnit.getUnitName():"���������������"); - result.put("device",ObjectUtils.isEmpty(list)? StateEnum.NOT_EFFECTIVE.value :StateEnum.TAKE_EFFECT.value); + } catch (Exception e) { log.error("token���������������" + e.getMessage()); result.put("code", ResponseCodeEnum.TOKEN_CREATE_ERROR.getCode()); @@ -189,7 +208,19 @@ // String nickName = rawDataJson.getString("nickName"); // String avatarUrl = rawDataJson.getString("avatarUrl"); } - + String userIdStr = new StringBuffer("00").append(user.getId().toString()).toString(); + String tokenResult = TokenUtils.getTokenById(userIdStr); + result.put("userName", user.getUserName()); + result.put("unitId",user.getUnitId()); + List<FileVo> listFile = fileTableService.list(user.getId(), FileTableEnum.APP_ALLOCATION.value); + result.put("file", CollectionUtils.isNotEmpty(listFile)?listFile.get(0):new FileVo()); + result.put("userId", user.getId()); + result.put("account", user.getAccount()); + ResponsibilityUnit responsibilityUnit = responsibilityUnitMapper.selectById(user.getUnitId()); + List<Integer> list = responsibilityUnitMapper.selectCodeList(SysDictTypeEnum.SYS_DEVICE.value, user.getId()); + result.put("device",ObjectUtils.isEmpty(list)? StateEnum.NOT_EFFECTIVE.value : StateEnum.TAKE_EFFECT.value); + result.put("unName",Objects.nonNull(responsibilityUnit)&&Objects.nonNull(responsibilityUnit.getUnitName())?responsibilityUnit.getUnitName():"���������������"); + result.put("openId",openid); Map<String, Object> userInfo = new LinkedHashMap<>(); userInfo.put("userId", user.getId()); userInfo.put("account", user.getAccount()); @@ -197,26 +228,24 @@ userInfo.put("email", user.getEmail()); userInfo.put("mobile", user.getMobile()); userInfo.put("unitId",user.getUnitId()); -// userInfo.put("unName",user.getAreaName()); userInfo.put("organizationId",user.getOrganizationId()); userInfo.put("wechat", user.getWechat()); userInfo.put("expireTime", DateUtils.dateToDateString(user.getExpireTime())); userInfo.put("isAdmin", user.getIsAdmin()); - ResponsibilityUnit responsibilityUnit = responsibilityUnitMapper.selectById(user.getUnitId()); - List<Integer> list = responsibilityUnitMapper.selectCodeList(SysDictTypeEnum.SYS_DEVICE.value, user.getId()); + if(StringUtils.isNotEmpty(tokenResult)){ + result.put("token", tokenResult); + result.put("code", ResponseCodeEnum.SUCCESS.getCode()); + result.put("msg", ResponseCodeEnum.SUCCESS.getMsg()); + sysLog("������������������" + user.getAccount()+" ;openId:"+openid,user); + TokenUtils.getRefreshTokenApp(tokenResult,userInfo); + return result; + } try { //������token������������redis String token = TokenUtils.getTokenApp(new StringBuffer("00").append(user.getId().toString()).toString(),userInfo); result.put("token", token); - result.put("userName", user.getUserName()); - result.put("unitId",user.getUnitId()); - List<FileVo> listFile = fileTableService.list(user.getId(), FileTableEnum.APP_ALLOCATION.value); - result.put("file", CollectionUtils.isNotEmpty(listFile)?listFile.get(0):new FileVo()); - result.put("userId", user.getId()); - result.put("account", user.getAccount()); - result.put("device",ObjectUtils.isEmpty(list)? StateEnum.NOT_EFFECTIVE.value : StateEnum.TAKE_EFFECT.value); - result.put("unName",Objects.nonNull(responsibilityUnit)&&Objects.nonNull(responsibilityUnit.getUnitName())?responsibilityUnit.getUnitName():"���������������"); - result.put("openId",openid); + + } catch (Exception e) { log.error("token���������������" + e.getMessage()); result.put("code", ResponseCodeEnum.TOKEN_CREATE_ERROR.getCode()); @@ -239,16 +268,15 @@ } - @Autowired - private ResponsibilityUnitService responsibilityUnitService; + /** * ��������������� * @param appAllocationPushUserCond */ @Override - @Async + @Async("asyncPoolTaskExecutor") public void pushOneUser(Allocation appAllocationPushUserCond) { - + QxUser currentUser = UserHelper.getCurrentUser(); ResponsibilityUnit responsibilityUnit = responsibilityUnitMapper.selectById(appAllocationPushUserCond.getUnitId()); Integer areaCode = responsibilityUnit.getAreaCode(); @@ -274,6 +302,9 @@ String url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=" + WechatUtils.getAccessToken(); //������������ for (User user : users) { + if (user.getId().equals(currentUser.getUserId())){ + continue; + } RestTemplate restTemplate = new RestTemplate(); //��������������������� WxMssVo wxMssVo = new WxMssVo(); @@ -281,7 +312,7 @@ wxMssVo.setTemplate_id("YNqUZ1MgMvwY3G-NENVbcmIBR5dUotSdnwcz96CWrho");//������������������id wxMssVo.setLang("zh_CN"); wxMssVo.setMiniprogramState("formal"); -// wxMssVo.setPage("pages/index/index"); + wxMssVo.setPage("pages/index/index"); Map<String, Object> m = new HashMap<>(); HashMap<String, Object> map1 = new HashMap<>(); HashMap<String, Object> map2 = new HashMap<>(); @@ -299,7 +330,7 @@ ResponseEntity<String> responseEntity = restTemplate.postForEntity(url, wxMssVo, String.class); String body = responseEntity.getBody(); - log.info("������:"+body+"������:"+user.getUserName()); + log.info("������:"+body+"������:"+user.getAccount()+"openID"+user.getOpenId()); } } -- Gitblit v1.8.0