diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/aspect/CacheMd5Aspect.java b/cloudutil/src/main/java/com/ccsens/cloudutil/aspect/CacheMd5Aspect.java index 7daf555..55bbc21 100644 --- a/cloudutil/src/main/java/com/ccsens/cloudutil/aspect/CacheMd5Aspect.java +++ b/cloudutil/src/main/java/com/ccsens/cloudutil/aspect/CacheMd5Aspect.java @@ -73,7 +73,7 @@ public class CacheMd5Aspect { try { data = JSONObject.toJSONString(proceed.getData()); } catch (Exception e) { - log.error("md5转换json异常:{}", e); + log.error("md5转换json异常:" + e); data = proceed.getData().toString(); } } diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/aspect/MustLoginAspect.java b/cloudutil/src/main/java/com/ccsens/cloudutil/aspect/MustLoginAspect.java index e52a199..9b5d774 100644 --- a/cloudutil/src/main/java/com/ccsens/cloudutil/aspect/MustLoginAspect.java +++ b/cloudutil/src/main/java/com/ccsens/cloudutil/aspect/MustLoginAspect.java @@ -115,6 +115,7 @@ public class MustLoginAspect { dto.setDeviceId(deviceId); dto.setClientType(clientType1); dto.setClientIp(clientIp); + dto.setToken(authHeader); } Object result = pjp.proceed(); if(result instanceof JsonResponse && authHeader == null){ diff --git a/ptos_diplomatist/src/main/java/com/ccsens/ptos_diplomatist/service/DomainService.java b/ptos_diplomatist/src/main/java/com/ccsens/ptos_diplomatist/service/DomainService.java index 46a3bcf..d3ce94a 100644 --- a/ptos_diplomatist/src/main/java/com/ccsens/ptos_diplomatist/service/DomainService.java +++ b/ptos_diplomatist/src/main/java/com/ccsens/ptos_diplomatist/service/DomainService.java @@ -122,10 +122,16 @@ public class DomainService implements IDomainService { sendDomain.setData(encrypt); //发送请求 String url = pubDomain.getUrl() + "/domain/list"; -// String url = "http://localhost:7280/domain/list"; log.info("调用接口:{}--{}", url, sendDomain); - String postBody = RestTemplateUtil.postBody(url, sendDomain); - System.out.println(postBody); + String postBody = null; + try{ + postBody = RestTemplateUtil.postBody(url,sendDomain); + }catch (Exception e){ + log.error("公域更新自身域列表信息异常" + e); + } + if(StrUtil.isBlank(postBody)){ + return; + } JSONObject jsonObject = JSONObject.parseObject(postBody); log.info("接口返回:{}", jsonObject); //请求正确返回则修改域列表信息,否则无操作 diff --git a/ptos_diplomatist/src/main/java/com/ccsens/ptos_diplomatist/service/HeartbeatService.java b/ptos_diplomatist/src/main/java/com/ccsens/ptos_diplomatist/service/HeartbeatService.java index d3d36f3..5bd85b2 100644 --- a/ptos_diplomatist/src/main/java/com/ccsens/ptos_diplomatist/service/HeartbeatService.java +++ b/ptos_diplomatist/src/main/java/com/ccsens/ptos_diplomatist/service/HeartbeatService.java @@ -96,14 +96,21 @@ public class HeartbeatService implements IHeartbeatService { //发送心跳 String url = idcDomain.getUrl() + "/heart"; log.info("调用接口:{}--{}", url, sendDomain); - String postBody = RestTemplateUtil.postBody(url, sendDomain); - JSONObject jsonObject = JSONObject.parseObject(postBody); - log.info("接口返回:{}", jsonObject); - //请求正确返回则修改最后应答时间,否则无操作 - Integer code = jsonObject.getInteger("code"); - if (code != null && code == 200) { - idcDomain.setLastAnswerTime(System.currentTimeMillis()); - domainDao.updateByPrimaryKeySelective(idcDomain); + String postBody = null; + try{ + postBody = RestTemplateUtil.postBody(url,sendDomain); + }catch (Exception e){ + log.error("发送心跳信息--" + idcDomain.getName() + e); + } + if(StrUtil.isNotBlank(postBody)){ + JSONObject jsonObject = JSONObject.parseObject(postBody); + log.info("接口返回:{}", jsonObject); + //请求正确返回则修改最后应答时间,否则无操作 + Integer code = jsonObject.getInteger("code"); + if (code != null && code == 200) { + idcDomain.setLastAnswerTime(System.currentTimeMillis()); + domainDao.updateByPrimaryKeySelective(idcDomain); + } } }); } diff --git a/ptos_open/src/main/java/com/ccsens/ptos_open/api/BusinessController.java b/ptos_open/src/main/java/com/ccsens/ptos_open/api/BusinessController.java index 9ad266c..516444c 100644 --- a/ptos_open/src/main/java/com/ccsens/ptos_open/api/BusinessController.java +++ b/ptos_open/src/main/java/com/ccsens/ptos_open/api/BusinessController.java @@ -90,4 +90,24 @@ public class BusinessController { log.info("返回业务信息"); return JsonResponse.newInstance().ok(businessInfos); } + + @MustLogin + @ApiOperation(value = "删除业务", notes = "") + @RequestMapping(value = "/del", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse deleteBusiness(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{ + log.info("删除业务:{}",params); + businessService. deleteBusiness(params.getParam(),params.getUserId()); + log.info("删除业务成功"); + return JsonResponse.newInstance().ok(); + } + + @MustLogin + @ApiOperation(value = "移除业务下关联的插件", notes = "") + @RequestMapping(value = "/delRelevance", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse delRelevance(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{ + log.info("删除业务:{}",params); + businessService. delRelevance(params.getParam(),params.getUserId()); + log.info("删除业务成功"); + return JsonResponse.newInstance().ok(); + } } diff --git a/ptos_open/src/main/java/com/ccsens/ptos_open/api/PluginController.java b/ptos_open/src/main/java/com/ccsens/ptos_open/api/PluginController.java index c87cf9a..9fe5494 100644 --- a/ptos_open/src/main/java/com/ccsens/ptos_open/api/PluginController.java +++ b/ptos_open/src/main/java/com/ccsens/ptos_open/api/PluginController.java @@ -43,6 +43,7 @@ public class PluginController { } + @MustLogin @ApiOperation(value = "创建插件", notes = "") @RequestMapping(value = "/save", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @@ -53,6 +54,16 @@ public class PluginController { return JsonResponse.newInstance().ok(plugreturn); } + @MustLogin + @ApiOperation(value = "删除插件", notes = "") + @RequestMapping(value = "/del", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse> deletePlugin(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{ + log.info("删除插件:{}",params); + pluginService.deletePlugin(params.getParam(),params.getUserId()); + log.info("删除插件成功"); + return JsonResponse.newInstance().ok(); + } + @MustLogin @ApiOperation(value = "修改插件信息", notes = "") @RequestMapping(value = "/update", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @@ -65,11 +76,19 @@ public class PluginController { @MustLogin @ApiOperation(value = "根据id查询插件", notes = "") - @RequestMapping(value = "/queryIdPlugin", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse queryIdPlugin(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{ + @RequestMapping(value = "/queryById", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse queryIdPlugin(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{ log.info("根据id查询插件:{}",params); PluginVo.PluginInfo pluginInfo = pluginService. queryIdPlugin(params.getParam(),params.getUserId()); log.info("返回插件信息"); return JsonResponse.newInstance().ok(pluginInfo); } + + @MustLogin + @ApiOperation(value = "获取一个随机id", notes = "") + @RequestMapping(value = "/randomId", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse queryPlugin() { + Long id = pluginService.getRandomId(); + return JsonResponse.newInstance().ok(id); + } } diff --git a/ptos_open/src/main/java/com/ccsens/ptos_open/bean/dto/BusinessDto.java b/ptos_open/src/main/java/com/ccsens/ptos_open/bean/dto/BusinessDto.java index 6aac5e1..5112f34 100644 --- a/ptos_open/src/main/java/com/ccsens/ptos_open/bean/dto/BusinessDto.java +++ b/ptos_open/src/main/java/com/ccsens/ptos_open/bean/dto/BusinessDto.java @@ -80,8 +80,15 @@ public class BusinessDto { @Data @ApiModel("通过id查询业务信息") public static class QueryIdBusiness { - @ApiModelProperty("业务信息对应的id") + @ApiModelProperty("业务id") private Long businessId; + } + @Data + @ApiModel("移除业务下的插件信息") + public static class BusinessPlugin { + @ApiModelProperty("业务插件关联id") + private Long businessPluginId; } + } diff --git a/ptos_open/src/main/java/com/ccsens/ptos_open/bean/dto/PluginDto.java b/ptos_open/src/main/java/com/ccsens/ptos_open/bean/dto/PluginDto.java index 6ff6d7a..bee32af 100644 --- a/ptos_open/src/main/java/com/ccsens/ptos_open/bean/dto/PluginDto.java +++ b/ptos_open/src/main/java/com/ccsens/ptos_open/bean/dto/PluginDto.java @@ -19,6 +19,8 @@ public class PluginDto { private String name; @ApiModelProperty("查询深度 0则只查名称,1则查询全部") private Byte depth = 0; + @ApiModelProperty("查询全部插件还是自己的插件 0全部 1自己") + private Byte mine = 0; @ApiModelProperty("第几页") private Integer pageNum = 1; @ApiModelProperty("每页几条信息") @@ -28,6 +30,8 @@ public class PluginDto { @Data @ApiModel("添加插件") public static class SavePlugin{ + @ApiModelProperty("插件id") + private Long id; @ApiModelProperty("插件名") private String name; @ApiModelProperty("版本号") @@ -85,7 +89,7 @@ public class PluginDto { @Data @ApiModel("根据id查找插件") - public static class QueryIdPlugin { + public static class QueryPluginById { @ApiModelProperty("插件id") private Long id; } diff --git a/ptos_open/src/main/java/com/ccsens/ptos_open/bean/vo/PluginVo.java b/ptos_open/src/main/java/com/ccsens/ptos_open/bean/vo/PluginVo.java index 409d0c0..8baa6bc 100644 --- a/ptos_open/src/main/java/com/ccsens/ptos_open/bean/vo/PluginVo.java +++ b/ptos_open/src/main/java/com/ccsens/ptos_open/bean/vo/PluginVo.java @@ -24,7 +24,7 @@ public class PluginVo { @ApiModelProperty("详细说明") private String description; @ApiModelProperty("更新时间") - private Long updatedTime; + private Long updateTime; @ApiModelProperty("作者id(userId)") private Long authorId; @ApiModelProperty("作者名") diff --git a/ptos_open/src/main/java/com/ccsens/ptos_open/service/BusinessService.java b/ptos_open/src/main/java/com/ccsens/ptos_open/service/BusinessService.java index 41e117b..46eaa1a 100644 --- a/ptos_open/src/main/java/com/ccsens/ptos_open/service/BusinessService.java +++ b/ptos_open/src/main/java/com/ccsens/ptos_open/service/BusinessService.java @@ -13,6 +13,7 @@ import com.ccsens.ptos_open.persist.dao.PluginDao; import com.ccsens.ptos_open.persist.mapper.OpenBusinessPluginMapper; import com.ccsens.ptos_open.util.GenerateAppIdUtil; import com.ccsens.ptos_open.util.OpenCodeError; +import com.ccsens.util.CodeEnum; import com.ccsens.util.exception.BaseException; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; @@ -145,4 +146,40 @@ public class BusinessService implements IBusinessService { return businessInfo; } + @Override + public void deleteBusiness(BusinessDto.QueryIdBusiness param, Long userId) { + //查找业务信息 + OpenBusiness openBusiness = businessDao.selectByPrimaryKey(param.getBusinessId()); + if(ObjectUtil.isNull(openBusiness)){ + throw new BaseException(OpenCodeError.NOT_BUSINESS); + } + //判断当前用户是否是业务的创建者 + if(!openBusiness.getCreatorId().equals(userId)){ + throw new BaseException(CodeEnum.NOT_POWER); + } + //删除业务 + openBusiness.setRecStatus((byte) 2); + businessDao.updateByPrimaryKeySelective(openBusiness); + } + + @Override + public void delRelevance(BusinessDto.BusinessPlugin param, Long userId) { + //查找业务关联的插件 + OpenBusinessPlugin openBusinessPlugin = businessPluginMapper.selectByPrimaryKey(param.getBusinessPluginId()); + if(ObjectUtil.isNull(openBusinessPlugin)){ + throw new BaseException(OpenCodeError.NOT_PLUGIN); + } + //查找业务信息 + OpenBusiness openBusiness = businessDao.selectByPrimaryKey(openBusinessPlugin.getBusinessId()); + if(ObjectUtil.isNull(openBusiness)){ + throw new BaseException(OpenCodeError.NOT_BUSINESS); + } + //判断当前用户是否是业务的创建者 + if(!openBusiness.getCreatorId().equals(userId)){ + throw new BaseException(CodeEnum.NOT_POWER); + } + //移除业务下的插件 + openBusinessPlugin.setRecStatus((byte) 2); + businessPluginMapper.updateByPrimaryKeySelective(openBusinessPlugin); + } } diff --git a/ptos_open/src/main/java/com/ccsens/ptos_open/service/IBusinessService.java b/ptos_open/src/main/java/com/ccsens/ptos_open/service/IBusinessService.java index 8c2b8fb..ef9664b 100644 --- a/ptos_open/src/main/java/com/ccsens/ptos_open/service/IBusinessService.java +++ b/ptos_open/src/main/java/com/ccsens/ptos_open/service/IBusinessService.java @@ -53,4 +53,18 @@ public interface IBusinessService { */ BusinessVo.BusinessInfo queryIdBusiness(BusinessDto.QueryIdBusiness param, Long userId); + /** + * 删除业务 + * @param param 业务id + * @param userId userId + */ + void deleteBusiness(BusinessDto.QueryIdBusiness param, Long userId); + + /** + * 移除业务下的插件 + * @param param 业务插件关联id + * @param userId userId + */ + void delRelevance(BusinessDto.BusinessPlugin param, Long userId); + } diff --git a/ptos_open/src/main/java/com/ccsens/ptos_open/service/IPluginService.java b/ptos_open/src/main/java/com/ccsens/ptos_open/service/IPluginService.java index 71e1f9e..47aec8c 100644 --- a/ptos_open/src/main/java/com/ccsens/ptos_open/service/IPluginService.java +++ b/ptos_open/src/main/java/com/ccsens/ptos_open/service/IPluginService.java @@ -36,5 +36,18 @@ public interface IPluginService { * @param param 插件信息 * @param userId userId */ - PluginVo.PluginInfo queryIdPlugin(PluginDto.QueryIdPlugin param, Long userId); + PluginVo.PluginInfo queryIdPlugin(PluginDto.QueryPluginById param, Long userId); + + /** + * 获取随机id + * @return 返回id + */ + Long getRandomId(); + + /** + * 删除插件 + * @param param 插件id + * @param userId userId + */ + void deletePlugin(PluginDto.QueryPluginById param, Long userId); } diff --git a/ptos_open/src/main/java/com/ccsens/ptos_open/service/PluginService.java b/ptos_open/src/main/java/com/ccsens/ptos_open/service/PluginService.java index ab14c26..175ebdc 100644 --- a/ptos_open/src/main/java/com/ccsens/ptos_open/service/PluginService.java +++ b/ptos_open/src/main/java/com/ccsens/ptos_open/service/PluginService.java @@ -5,17 +5,14 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Snowflake; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; -import com.ccsens.ptos_open.bean.dto.BusinessDto; import com.ccsens.ptos_open.bean.dto.PluginDto; import com.ccsens.ptos_open.bean.po.*; -import com.ccsens.ptos_open.bean.vo.BusinessVo; import com.ccsens.ptos_open.bean.vo.PluginVo; import com.ccsens.ptos_open.persist.dao.PluginDao; import com.ccsens.ptos_open.persist.dao.UserDao; import com.ccsens.ptos_open.persist.mapper.OpenPluginImgMapper; import com.ccsens.ptos_open.util.OpenCodeError; import com.ccsens.util.CodeEnum; -import com.ccsens.util.CodeError; import com.ccsens.util.exception.BaseException; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; @@ -55,10 +52,14 @@ public class PluginService implements IPluginService { @Override public PluginVo.PluginReturn savePlugin(PluginDto.SavePlugin param, Long userId) { //TODO 验证用户权限 + //查询插件,判断插件是否存在 + Boolean a = pluginDao.verifyById(param.getId()); + if (a != null && a) { + throw new BaseException(OpenCodeError.REPEAT_PLUGIN); + } //添加插件 OpenPluginWithBLOBs openPlugin = new OpenPluginWithBLOBs(); BeanUtil.copyProperties(param, openPlugin); - openPlugin.setId(snowflake.nextId()); openPlugin.setCreatorId(userId); pluginDao.insertSelective(openPlugin); //保存预览图 @@ -100,7 +101,7 @@ public class PluginService implements IPluginService { if(!userId.equals(creatorId)){ throw new BaseException(CodeEnum.NOT_POWER); } - //新建插件 + OpenPluginWithBLOBs plugin = new OpenPluginWithBLOBs(); plugin.setId(param.getId()); //修改插件信息 @@ -173,7 +174,7 @@ public class PluginService implements IPluginService { } @Override - public PluginVo.PluginInfo queryIdPlugin(PluginDto.QueryIdPlugin param, Long userId) { + public PluginVo.PluginInfo queryIdPlugin(PluginDto.QueryPluginById param, Long userId) { //查询插件信息 OpenPluginWithBLOBs openPlugin = pluginDao.selectByPrimaryKey(param.getId()); @@ -186,7 +187,7 @@ public class PluginService implements IPluginService { pluginInfo.setName(openPlugin.getName()); pluginInfo.setVersions(openPlugin.getVersions()); pluginInfo.setIntro(openPlugin.getIntro()); - pluginInfo.setUpdatedTime(openPlugin.getUpdatedAt().getTime()); + pluginInfo.setUpdateTime(openPlugin.getUpdatedAt().getTime()); pluginInfo.setAuthorId(openPlugin.getCreatorId()); //作者id查user表 String userName = userDao.getUserNameById(openPlugin.getCreatorId()); @@ -202,7 +203,7 @@ public class PluginService implements IPluginService { } pluginInfo.setPreview(path); - if(openPlugin.getCreatorId() == userId) { + if(openPlugin.getCreatorId().equals(userId)) { Byte main = 1; pluginInfo.setMine(main); } else { @@ -215,6 +216,30 @@ public class PluginService implements IPluginService { pluginInfo.setConfig(openPlugin.getConfig()); return pluginInfo; } + + @Override + public Long getRandomId() { + return snowflake.nextId(); + } + + @Override + public void deletePlugin(PluginDto.QueryPluginById param, Long userId) { + //查询插件,判断插件是否存在 + Boolean a = pluginDao.verifyById(param.getId()); + if (a == null || !a) { + throw new BaseException(OpenCodeError.NOT_PLUGIN); + } + //查询插件的创建者id,判断当前用户是否是插件的创建 + Long creatorId = pluginDao.getPluginCreatorId(param.getId()); + if(!userId.equals(creatorId)){ + throw new BaseException(CodeEnum.NOT_POWER); + } + //删除插件 + OpenPluginWithBLOBs openPlugin = new OpenPluginWithBLOBs(); + openPlugin.setId(param.getId()); + openPlugin.setRecStatus((byte) 2); + pluginDao.updateByPrimaryKeySelective(openPlugin); + } } diff --git a/ptos_open/src/main/java/com/ccsens/ptos_open/util/OpenCodeError.java b/ptos_open/src/main/java/com/ccsens/ptos_open/util/OpenCodeError.java index 6ec6d61..92f06f7 100644 --- a/ptos_open/src/main/java/com/ccsens/ptos_open/util/OpenCodeError.java +++ b/ptos_open/src/main/java/com/ccsens/ptos_open/util/OpenCodeError.java @@ -9,6 +9,7 @@ public class OpenCodeError extends CodeError { public static final Code ILLEGAL_LOG_IN = new Code(400,"非法登录",true); public static final Code NOT_PLUGIN = new Code(501,"插件不存在",true); + public static final Code REPEAT_PLUGIN = new Code(501,"插件id已存在,请重新生成",true); public static final Code NOT_BUSINESS = new Code(502,"找不到对应的业务",true); public static final Code BUSINESS_PLUGIN = new Code(503,"业务已经关联此插件,请勿重复添加",true); diff --git a/ptos_open/src/main/resources/mapper_dao/BusinessDao.xml b/ptos_open/src/main/resources/mapper_dao/BusinessDao.xml index 3cfb4db..8086377 100644 --- a/ptos_open/src/main/resources/mapper_dao/BusinessDao.xml +++ b/ptos_open/src/main/resources/mapper_dao/BusinessDao.xml @@ -43,12 +43,12 @@ bp.id as businessPluginId, bp.`code`, p.`name`, - if(bp.config = null,p.config,bp.config) as config, + if(bp.config = '' or bp.config = null,p.config,bp.config) as config, bp.debug, p.id as pluginId, p.versions, p.intro, - UNIX_TIMESTAMP(p.updated_at) * 1000 as updatedTime, + UNIX_TIMESTAMP(p.updated_at) * 1000 as updateTime, p.creator_id as authorId, (SELECT `name` FROM t_sys_user WHERE id = p.creator_id and rec_status = 0 limit 1) as authorName, if(p.creator_id = #{userId}, 1, 0) as mine, diff --git a/ptos_open/src/main/resources/mapper_dao/PluginDao.xml b/ptos_open/src/main/resources/mapper_dao/PluginDao.xml index 93ba6ae..fd0ce84 100644 --- a/ptos_open/src/main/resources/mapper_dao/PluginDao.xml +++ b/ptos_open/src/main/resources/mapper_dao/PluginDao.xml @@ -11,7 +11,7 @@ , p.versions, p.intro, - UNIX_TIMESTAMP(p.updated_at) * 1000 as updatedTime, + UNIX_TIMESTAMP(p.updated_at) * 1000 as updateTime, p.creator_id as authorId, i.file_path as preview, (SELECT `name` FROM t_sys_user WHERE id = p.creator_id and rec_status = 0 limit 1) as authorName, @@ -19,13 +19,16 @@ p.html, p.css, p.js, - p.config + p.config as config FROM t_open_plugin p LEFT JOIN t_open_plugin_img i on p.id = i.plugin_id and i.type = 0 and i.rec_status = 0 WHERE p.rec_status = 0 + + and p.creator_id = #{userId} + and p.`name` like concat('%',#{name, jdbcType=VARCHAR},'%') diff --git a/ptos_tall/src/main/java/com/ccsens/ptos_tall/api/BusinessController.java b/ptos_tall/src/main/java/com/ccsens/ptos_tall/api/BusinessController.java index 6c1dd5f..dcb0f33 100644 --- a/ptos_tall/src/main/java/com/ccsens/ptos_tall/api/BusinessController.java +++ b/ptos_tall/src/main/java/com/ccsens/ptos_tall/api/BusinessController.java @@ -1,20 +1,18 @@ package com.ccsens.ptos_tall.api; import com.ccsens.ptos_tall.bean.dto.BusinessDto; +import com.ccsens.ptos_tall.bean.vo.BusinessVo; +import com.ccsens.ptos_tall.bean.vo.PluginVo; import com.ccsens.ptos_tall.service.IBusinessService; import com.ccsens.util.JsonResponse; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; +import io.swagger.annotations.*; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import java.util.List; /** * @author 逗 @@ -28,6 +26,30 @@ public class BusinessController { @Resource private IBusinessService businessService; + + @ApiOperation(value = "查找域内的业务列表", notes = "只查在线、启用且开放的业务,不包括零号业务") + @ApiImplicitParams({ + }) + @RequestMapping(value = "/query", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse> queryBusiness() throws Exception{ + log.info("查找域内的业务列表"); + List businessInfoList = businessService.queryBusiness(); + log.info("返回域内的业务列表"); + return JsonResponse.newInstance().ok(businessInfoList); + } + + @ApiOperation(value = "查找引导页或广告页插件详情", notes = "") + @ApiImplicitParams({ + @ApiImplicitParam(name="type",value = "查询类型 0引导页 1广告页",required = true,paramType = "query") + }) + @RequestMapping(value = "/guide", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"}) + public JsonResponse getGuidePlugin(@RequestParam() Byte type) throws Exception{ + log.info("查找引导页或广告页插件详情:{}",type); + PluginVo.PluginInfo pluginInfo = businessService.getGuidePlugin(type); + log.info("返回插件详情"); + return JsonResponse.newInstance().ok(pluginInfo); + } + @ApiOperation(value = "根据appId获取accessToken", notes = "") @RequestMapping(value = "/accessToken", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse getAccessTokenByAppId(HttpServletRequest request, @ApiParam @Validated @RequestBody BusinessDto.BusinessToken params) throws Exception{ @@ -37,4 +59,5 @@ public class BusinessController { return JsonResponse.newInstance().ok(accessToken); } + } diff --git a/ptos_tall/src/main/java/com/ccsens/ptos_tall/api/ProjectController.java b/ptos_tall/src/main/java/com/ccsens/ptos_tall/api/ProjectController.java index 393fcb1..4da47e2 100644 --- a/ptos_tall/src/main/java/com/ccsens/ptos_tall/api/ProjectController.java +++ b/ptos_tall/src/main/java/com/ccsens/ptos_tall/api/ProjectController.java @@ -36,7 +36,7 @@ public class ProjectController { @RequestMapping(value = "/query", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse> queryProjectByUser(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{ log.info("查询用户所有域下所有业务内的所有项目:{}",params); - List projectInfoList = projectService.queryProjectByUser(params.getPhone(),params.getParam(),params.getUserId()); + List projectInfoList = projectService.queryProjectByUser(params.getToken(),params.getPhone(),params.getParam(),params.getUserId()); log.info("返回用户所有域下所有业务内的所有项目"); return JsonResponse.newInstance().ok(projectInfoList); } diff --git a/ptos_tall/src/main/java/com/ccsens/ptos_tall/api/TestController.java b/ptos_tall/src/main/java/com/ccsens/ptos_tall/api/TestController.java deleted file mode 100644 index da5f62c..0000000 --- a/ptos_tall/src/main/java/com/ccsens/ptos_tall/api/TestController.java +++ /dev/null @@ -1,21 +0,0 @@ -//package com.ccsens.ptos_tall.api; -// -//import com.ccsens.ptos_open.api.CcsensTestController; -//import com.ccsens.ptos_open.bean.dto.BusinessDto; -//import com.ccsens.ptos_open.bean.vo.BusinessVo; -//import com.ccsens.util.JsonResponse; -//import com.ccsens.util.bean.dto.QueryDto; -//import com.github.pagehelper.PageInfo; -// -//public class TestController implements CcsensTestController { -// -// @Override -// public JsonResponse> queryBusiness(QueryDto params) { -// return JsonResponse.newInstance().ok(null,"werwer","werwer"); -// } -// -// @Override -// public JsonResponse saveBusiness(QueryDto params) { -// return null; -// } -//} diff --git a/ptos_tall/src/main/java/com/ccsens/ptos_tall/api/UserController.java b/ptos_tall/src/main/java/com/ccsens/ptos_tall/api/UserController.java index e3b14aa..af411c3 100644 --- a/ptos_tall/src/main/java/com/ccsens/ptos_tall/api/UserController.java +++ b/ptos_tall/src/main/java/com/ccsens/ptos_tall/api/UserController.java @@ -49,7 +49,7 @@ public class UserController { @RequestMapping(value = "/businessToken", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse userByBusinessToken(HttpServletRequest request, @ApiParam @Validated @RequestBody UserDto.BusinessToken params) throws Exception{ log.info("根据token换取用户信息:{}",params); - UserVo.TokenToUserId userInfo = userService.userByBusinessToken(params); + UserVo.TokenToUserId userInfo = userService.userByBusinessToken(request.getHeader("accessToken"),params); log.info("返回用户信息"); return JsonResponse.newInstance().ok(userInfo); } diff --git a/ptos_tall/src/main/java/com/ccsens/ptos_tall/bean/dto/BusinessDto.java b/ptos_tall/src/main/java/com/ccsens/ptos_tall/bean/dto/BusinessDto.java index 6506846..aaa33e3 100644 --- a/ptos_tall/src/main/java/com/ccsens/ptos_tall/bean/dto/BusinessDto.java +++ b/ptos_tall/src/main/java/com/ccsens/ptos_tall/bean/dto/BusinessDto.java @@ -9,6 +9,8 @@ import lombok.Data; */ @Data public class BusinessDto { + + @Data @ApiModel("根据appId获取accessToken") public static class BusinessToken{ @@ -16,7 +18,6 @@ public class BusinessDto { private String appId; @ApiModelProperty("secret") private String secret; - } } diff --git a/ptos_tall/src/main/java/com/ccsens/ptos_tall/bean/dto/UserDto.java b/ptos_tall/src/main/java/com/ccsens/ptos_tall/bean/dto/UserDto.java index effaeea..88de3f0 100644 --- a/ptos_tall/src/main/java/com/ccsens/ptos_tall/bean/dto/UserDto.java +++ b/ptos_tall/src/main/java/com/ccsens/ptos_tall/bean/dto/UserDto.java @@ -42,10 +42,6 @@ public class UserDto { public static class BusinessToken{ @ApiModelProperty("token") private String token; - @ApiModelProperty("appId") - private String appId; - @ApiModelProperty("secret") - private String secret; } diff --git a/ptos_tall/src/main/java/com/ccsens/ptos_tall/bean/po/SysBusiness.java b/ptos_tall/src/main/java/com/ccsens/ptos_tall/bean/po/OpenBusiness.java similarity index 81% rename from ptos_tall/src/main/java/com/ccsens/ptos_tall/bean/po/SysBusiness.java rename to ptos_tall/src/main/java/com/ccsens/ptos_tall/bean/po/OpenBusiness.java index 468ee17..7d8bd69 100644 --- a/ptos_tall/src/main/java/com/ccsens/ptos_tall/bean/po/SysBusiness.java +++ b/ptos_tall/src/main/java/com/ccsens/ptos_tall/bean/po/OpenBusiness.java @@ -3,7 +3,7 @@ package com.ccsens.ptos_tall.bean.po; import java.io.Serializable; import java.util.Date; -public class SysBusiness implements Serializable { +public class OpenBusiness implements Serializable { private Long id; private String name; @@ -26,6 +26,12 @@ public class SysBusiness implements Serializable { private Byte type; + private Byte pub; + + private Byte startUsing; + + private Byte debug; + private Long operator; private Date createdAt; @@ -124,6 +130,30 @@ public class SysBusiness implements Serializable { this.type = type; } + public Byte getPub() { + return pub; + } + + public void setPub(Byte pub) { + this.pub = pub; + } + + public Byte getStartUsing() { + return startUsing; + } + + public void setStartUsing(Byte startUsing) { + this.startUsing = startUsing; + } + + public Byte getDebug() { + return debug; + } + + public void setDebug(Byte debug) { + this.debug = debug; + } + public Long getOperator() { return operator; } @@ -173,6 +203,9 @@ public class SysBusiness implements Serializable { sb.append(", lastAskTime=").append(lastAskTime); sb.append(", lastAnswerTime=").append(lastAnswerTime); sb.append(", type=").append(type); + sb.append(", pub=").append(pub); + sb.append(", startUsing=").append(startUsing); + sb.append(", debug=").append(debug); sb.append(", operator=").append(operator); sb.append(", createdAt=").append(createdAt); sb.append(", updatedAt=").append(updatedAt); diff --git a/ptos_tall/src/main/java/com/ccsens/ptos_tall/bean/po/SysBusinessExample.java b/ptos_tall/src/main/java/com/ccsens/ptos_tall/bean/po/OpenBusinessExample.java similarity index 83% rename from ptos_tall/src/main/java/com/ccsens/ptos_tall/bean/po/SysBusinessExample.java rename to ptos_tall/src/main/java/com/ccsens/ptos_tall/bean/po/OpenBusinessExample.java index 703758c..4bcf795 100644 --- a/ptos_tall/src/main/java/com/ccsens/ptos_tall/bean/po/SysBusinessExample.java +++ b/ptos_tall/src/main/java/com/ccsens/ptos_tall/bean/po/OpenBusinessExample.java @@ -4,14 +4,14 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; -public class SysBusinessExample { +public class OpenBusinessExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; - public SysBusinessExample() { + public OpenBusinessExample() { oredCriteria = new ArrayList(); } @@ -825,6 +825,186 @@ public class SysBusinessExample { return (Criteria) this; } + public Criteria andPubIsNull() { + addCriterion("pub is null"); + return (Criteria) this; + } + + public Criteria andPubIsNotNull() { + addCriterion("pub is not null"); + return (Criteria) this; + } + + public Criteria andPubEqualTo(Byte value) { + addCriterion("pub =", value, "pub"); + return (Criteria) this; + } + + public Criteria andPubNotEqualTo(Byte value) { + addCriterion("pub <>", value, "pub"); + return (Criteria) this; + } + + public Criteria andPubGreaterThan(Byte value) { + addCriterion("pub >", value, "pub"); + return (Criteria) this; + } + + public Criteria andPubGreaterThanOrEqualTo(Byte value) { + addCriterion("pub >=", value, "pub"); + return (Criteria) this; + } + + public Criteria andPubLessThan(Byte value) { + addCriterion("pub <", value, "pub"); + return (Criteria) this; + } + + public Criteria andPubLessThanOrEqualTo(Byte value) { + addCriterion("pub <=", value, "pub"); + return (Criteria) this; + } + + public Criteria andPubIn(List values) { + addCriterion("pub in", values, "pub"); + return (Criteria) this; + } + + public Criteria andPubNotIn(List values) { + addCriterion("pub not in", values, "pub"); + return (Criteria) this; + } + + public Criteria andPubBetween(Byte value1, Byte value2) { + addCriterion("pub between", value1, value2, "pub"); + return (Criteria) this; + } + + public Criteria andPubNotBetween(Byte value1, Byte value2) { + addCriterion("pub not between", value1, value2, "pub"); + return (Criteria) this; + } + + public Criteria andStartUsingIsNull() { + addCriterion("start_using is null"); + return (Criteria) this; + } + + public Criteria andStartUsingIsNotNull() { + addCriterion("start_using is not null"); + return (Criteria) this; + } + + public Criteria andStartUsingEqualTo(Byte value) { + addCriterion("start_using =", value, "startUsing"); + return (Criteria) this; + } + + public Criteria andStartUsingNotEqualTo(Byte value) { + addCriterion("start_using <>", value, "startUsing"); + return (Criteria) this; + } + + public Criteria andStartUsingGreaterThan(Byte value) { + addCriterion("start_using >", value, "startUsing"); + return (Criteria) this; + } + + public Criteria andStartUsingGreaterThanOrEqualTo(Byte value) { + addCriterion("start_using >=", value, "startUsing"); + return (Criteria) this; + } + + public Criteria andStartUsingLessThan(Byte value) { + addCriterion("start_using <", value, "startUsing"); + return (Criteria) this; + } + + public Criteria andStartUsingLessThanOrEqualTo(Byte value) { + addCriterion("start_using <=", value, "startUsing"); + return (Criteria) this; + } + + public Criteria andStartUsingIn(List values) { + addCriterion("start_using in", values, "startUsing"); + return (Criteria) this; + } + + public Criteria andStartUsingNotIn(List values) { + addCriterion("start_using not in", values, "startUsing"); + return (Criteria) this; + } + + public Criteria andStartUsingBetween(Byte value1, Byte value2) { + addCriterion("start_using between", value1, value2, "startUsing"); + return (Criteria) this; + } + + public Criteria andStartUsingNotBetween(Byte value1, Byte value2) { + addCriterion("start_using not between", value1, value2, "startUsing"); + return (Criteria) this; + } + + public Criteria andDebugIsNull() { + addCriterion("debug is null"); + return (Criteria) this; + } + + public Criteria andDebugIsNotNull() { + addCriterion("debug is not null"); + return (Criteria) this; + } + + public Criteria andDebugEqualTo(Byte value) { + addCriterion("debug =", value, "debug"); + return (Criteria) this; + } + + public Criteria andDebugNotEqualTo(Byte value) { + addCriterion("debug <>", value, "debug"); + return (Criteria) this; + } + + public Criteria andDebugGreaterThan(Byte value) { + addCriterion("debug >", value, "debug"); + return (Criteria) this; + } + + public Criteria andDebugGreaterThanOrEqualTo(Byte value) { + addCriterion("debug >=", value, "debug"); + return (Criteria) this; + } + + public Criteria andDebugLessThan(Byte value) { + addCriterion("debug <", value, "debug"); + return (Criteria) this; + } + + public Criteria andDebugLessThanOrEqualTo(Byte value) { + addCriterion("debug <=", value, "debug"); + return (Criteria) this; + } + + public Criteria andDebugIn(List values) { + addCriterion("debug in", values, "debug"); + return (Criteria) this; + } + + public Criteria andDebugNotIn(List values) { + addCriterion("debug not in", values, "debug"); + return (Criteria) this; + } + + public Criteria andDebugBetween(Byte value1, Byte value2) { + addCriterion("debug between", value1, value2, "debug"); + return (Criteria) this; + } + + public Criteria andDebugNotBetween(Byte value1, Byte value2) { + addCriterion("debug not between", value1, value2, "debug"); + return (Criteria) this; + } + public Criteria andOperatorIsNull() { addCriterion("operator is null"); return (Criteria) this; diff --git a/ptos_tall/src/main/java/com/ccsens/ptos_tall/bean/vo/BusinessVo.java b/ptos_tall/src/main/java/com/ccsens/ptos_tall/bean/vo/BusinessVo.java new file mode 100644 index 0000000..e9e71c2 --- /dev/null +++ b/ptos_tall/src/main/java/com/ccsens/ptos_tall/bean/vo/BusinessVo.java @@ -0,0 +1,19 @@ +package com.ccsens.ptos_tall.bean.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author 逗 + */ +@Data +public class BusinessVo { + @Data + public static class BusinessInfo{ + @ApiModelProperty("业务id") + private Long id; + @ApiModelProperty("业务名") + private String name; + } +} diff --git a/ptos_tall/src/main/java/com/ccsens/ptos_tall/bean/vo/PluginVo.java b/ptos_tall/src/main/java/com/ccsens/ptos_tall/bean/vo/PluginVo.java new file mode 100644 index 0000000..3f0f704 --- /dev/null +++ b/ptos_tall/src/main/java/com/ccsens/ptos_tall/bean/vo/PluginVo.java @@ -0,0 +1,36 @@ +package com.ccsens.ptos_tall.bean.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author 逗 + */ +@Data +public class PluginVo { + + @Data + @ApiModel("插件信息") + public static class PluginInfo { + @ApiModelProperty("插件id") + private Long pluginId; + @ApiModelProperty("业务插件关联id") + private Long businessPluginId; + @ApiModelProperty("插件名") + private String name; + @ApiModelProperty("插件在业务下的code") + private String code; + @ApiModelProperty("版本号") + private String versions; + @ApiModelProperty("html") + private String html; + @ApiModelProperty("css") + private String css; + @ApiModelProperty("js") + private String js; + @ApiModelProperty("config") + private String config; + } + +} diff --git a/ptos_tall/src/main/java/com/ccsens/ptos_tall/persist/dao/BusinessPluginDao.java b/ptos_tall/src/main/java/com/ccsens/ptos_tall/persist/dao/BusinessPluginDao.java new file mode 100644 index 0000000..b3dc30c --- /dev/null +++ b/ptos_tall/src/main/java/com/ccsens/ptos_tall/persist/dao/BusinessPluginDao.java @@ -0,0 +1,25 @@ +package com.ccsens.ptos_tall.persist.dao; + +import com.ccsens.ptos_tall.bean.vo.BusinessVo; +import com.ccsens.ptos_tall.bean.vo.PluginVo; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author 逗 + */ +public interface BusinessPluginDao { + /** + * 根据插件关联id查询插件详情 + * @param businessPluginId 插件关联id + * @return 返回插件详情 + */ + PluginVo.PluginInfo getPluginByBusinessPluginId(@Param("businessPluginId") Long businessPluginId); + + /** + * 查询域下的业务列表 + * @return 返回业务信息 + */ + List queryBusiness(@Param("lastAnswerTime")Long lastAnswerTime); +} diff --git a/ptos_tall/src/main/java/com/ccsens/ptos_tall/persist/mapper/OpenBusinessMapper.java b/ptos_tall/src/main/java/com/ccsens/ptos_tall/persist/mapper/OpenBusinessMapper.java new file mode 100644 index 0000000..e3ca218 --- /dev/null +++ b/ptos_tall/src/main/java/com/ccsens/ptos_tall/persist/mapper/OpenBusinessMapper.java @@ -0,0 +1,30 @@ +package com.ccsens.ptos_tall.persist.mapper; + +import com.ccsens.ptos_tall.bean.po.OpenBusiness; +import com.ccsens.ptos_tall.bean.po.OpenBusinessExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface OpenBusinessMapper { + long countByExample(OpenBusinessExample example); + + int deleteByExample(OpenBusinessExample example); + + int deleteByPrimaryKey(Long id); + + int insert(OpenBusiness record); + + int insertSelective(OpenBusiness record); + + List selectByExample(OpenBusinessExample example); + + OpenBusiness selectByPrimaryKey(Long id); + + int updateByExampleSelective(@Param("record") OpenBusiness record, @Param("example") OpenBusinessExample example); + + int updateByExample(@Param("record") OpenBusiness record, @Param("example") OpenBusinessExample example); + + int updateByPrimaryKeySelective(OpenBusiness record); + + int updateByPrimaryKey(OpenBusiness record); +} \ No newline at end of file diff --git a/ptos_tall/src/main/java/com/ccsens/ptos_tall/persist/mapper/SysBusinessMapper.java b/ptos_tall/src/main/java/com/ccsens/ptos_tall/persist/mapper/SysBusinessMapper.java deleted file mode 100644 index a46142d..0000000 --- a/ptos_tall/src/main/java/com/ccsens/ptos_tall/persist/mapper/SysBusinessMapper.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.ccsens.ptos_tall.persist.mapper; - -import com.ccsens.ptos_tall.bean.po.SysBusiness; -import com.ccsens.ptos_tall.bean.po.SysBusinessExample; -import java.util.List; -import org.apache.ibatis.annotations.Param; - -public interface SysBusinessMapper { - long countByExample(SysBusinessExample example); - - int deleteByExample(SysBusinessExample example); - - int deleteByPrimaryKey(Long id); - - int insert(SysBusiness record); - - int insertSelective(SysBusiness record); - - List selectByExample(SysBusinessExample example); - - SysBusiness selectByPrimaryKey(Long id); - - int updateByExampleSelective(@Param("record") SysBusiness record, @Param("example") SysBusinessExample example); - - int updateByExample(@Param("record") SysBusiness record, @Param("example") SysBusinessExample example); - - int updateByPrimaryKeySelective(SysBusiness record); - - int updateByPrimaryKey(SysBusiness record); -} \ No newline at end of file diff --git a/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/BusinessService.java b/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/BusinessService.java index eaa0c43..476cc5b 100644 --- a/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/BusinessService.java +++ b/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/BusinessService.java @@ -1,17 +1,22 @@ package com.ccsens.ptos_tall.service; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.StrUtil; +import cn.hutool.http.HttpUtil; +import com.alibaba.fastjson.JSONObject; import com.ccsens.ptos_tall.bean.dto.BusinessDto; -import com.ccsens.util.JwtUtil; -import com.ccsens.util.RedisKeyManager; -import com.ccsens.util.RedisUtil; -import com.ccsens.util.WebConstant; +import com.ccsens.ptos_tall.bean.vo.BusinessVo; +import com.ccsens.ptos_tall.bean.vo.PluginVo; +import com.ccsens.ptos_tall.persist.dao.BusinessPluginDao; +import com.ccsens.ptos_tall.util.PtOsConstant; +import com.ccsens.util.*; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.List; import java.util.Map; @Slf4j @@ -20,6 +25,8 @@ import java.util.Map; public class BusinessService implements IBusinessService { @Resource private RedisUtil redisUtil; + @Resource + private BusinessPluginDao businessPluginDao; @Override public String getAccessTokenByAppId(BusinessDto.BusinessToken params) { @@ -33,4 +40,40 @@ public class BusinessService implements IBusinessService { redisUtil.set(RedisKeyManager.getTokenCachedKey(params.getAppId()), accessToken, tokenExpired / 1000); return accessToken; } + + @Override + public PluginVo.PluginInfo getGuidePlugin(Byte type) { + //调用零号业务的接口获取插件id(业务关联插件id) + String url = PtOsConstant.ZERO_BUSINESS_URL + "/common/guide?type=" + type; + String body; + try{ + body = HttpUtil.get(url); + }catch (Exception e){ + log.error("请求零号业务失败--" + url + e); + return null; + } + Long data = null; + if(StrUtil.isNotBlank(body)){ + JSONObject jsonObject = JSONObject.parseObject(body); + log.info("接口返回:{}", jsonObject); + //请求正确返回则修改最后应答时间,否则无操作 + Integer code = jsonObject.getInteger("code"); + if (code == null || code != 200) { + return null; + } + + try { + data = jsonObject.getLong("data"); + }catch (Exception e){ + log.error("返回值转换异常--" + e); + } + } + return businessPluginDao.getPluginByBusinessPluginId(data); + } + + @Override + public List queryBusiness() { + Long lastAnswerTime = System.currentTimeMillis() - PtOsConstant.LAST_ANSWER_TIME; + return businessPluginDao.queryBusiness(lastAnswerTime); + } } diff --git a/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/HeartbeatService.java b/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/HeartbeatService.java index 2dc6980..d386e08 100644 --- a/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/HeartbeatService.java +++ b/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/HeartbeatService.java @@ -1,18 +1,12 @@ package com.ccsens.ptos_tall.service; import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.util.CharsetUtil; -import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; -import cn.hutool.crypto.asymmetric.KeyType; -import cn.hutool.crypto.asymmetric.RSA; -import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import com.ccsens.ptos_tall.bean.po.SysBusiness; -import com.ccsens.ptos_tall.bean.po.SysBusinessExample; -import com.ccsens.ptos_tall.persist.mapper.SysBusinessMapper; +import com.ccsens.ptos_tall.bean.po.OpenBusiness; +import com.ccsens.ptos_tall.bean.po.OpenBusinessExample; +import com.ccsens.ptos_tall.persist.mapper.OpenBusinessMapper; import com.ccsens.util.RestTemplateUtil; -import com.ccsens.util.exception.BaseException; import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; @@ -20,7 +14,9 @@ import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * @author 逗 @@ -30,34 +26,40 @@ import java.util.List; @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class) public class HeartbeatService{ @Resource - private SysBusinessMapper businessMapper; + private OpenBusinessMapper businessMapper; /** * 定时发送心跳信息 */ - @Scheduled(cron="0 */10 * * * ?") + @Scheduled(cron="0/30 * * * * ?") public void sendHeartbeat(){ //查找业务列表 - SysBusinessExample businessExample = new SysBusinessExample(); - businessExample.clear(); - List sysBusinesses = businessMapper.selectByExample(businessExample); + OpenBusinessExample businessExample = new OpenBusinessExample(); + businessExample.createCriteria().andTypeEqualTo((byte) 0); + List openBusinesses = businessMapper.selectByExample(businessExample); //循环请求业务 - if(CollectionUtil.isNotEmpty(sysBusinesses)){ - sysBusinesses.forEach(sysBusiness -> { - sysBusiness.setLastAskTime(System.currentTimeMillis()); - businessMapper.updateByPrimaryKeySelective(sysBusiness); + if(CollectionUtil.isNotEmpty(openBusinesses)){ + openBusinesses.forEach(business -> { + business.setLastAskTime(System.currentTimeMillis()); + businessMapper.updateByPrimaryKeySelective(business); //发送心跳 - String url = sysBusiness.getUrl() + "/heart/tall"; + String url = business.getUrl() + "/tall/heart"; log.info("调用接口:{}--", url); - String postBody = RestTemplateUtil.postBody(url,null); - - JSONObject jsonObject = JSONObject.parseObject(postBody); - log.info("接口返回:{}", jsonObject); - //请求正确返回则修改最后应答时间,否则无操作 - Integer code = jsonObject.getInteger("code"); - if (code != null && code == 200) { - sysBusiness.setLastAnswerTime(System.currentTimeMillis()); - businessMapper.updateByPrimaryKeySelective(sysBusiness); + String postBody = null; + try{ + postBody = RestTemplateUtil.postBody(url,null); + }catch (Exception e){ + log.error("请求业务心跳异常--" + business.getName() + e); + } + if(StrUtil.isNotBlank(postBody)){ + JSONObject jsonObject = JSONObject.parseObject(postBody); + log.info("接口返回:{}", jsonObject); + //请求正确返回则修改最后应答时间,否则无操作 + Integer code = jsonObject.getInteger("code"); + if (code != null && code == 200) { + business.setLastAnswerTime(System.currentTimeMillis()); + businessMapper.updateByPrimaryKeySelective(business); + } } }); } diff --git a/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/IBusinessService.java b/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/IBusinessService.java index 566f36b..f294f34 100644 --- a/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/IBusinessService.java +++ b/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/IBusinessService.java @@ -1,6 +1,10 @@ package com.ccsens.ptos_tall.service; import com.ccsens.ptos_tall.bean.dto.BusinessDto; +import com.ccsens.ptos_tall.bean.vo.BusinessVo; +import com.ccsens.ptos_tall.bean.vo.PluginVo; + +import java.util.List; public interface IBusinessService { /** @@ -10,4 +14,16 @@ public interface IBusinessService { */ String getAccessTokenByAppId(BusinessDto.BusinessToken params); + /** + * 查号零号业务内的引导页插件 + * @param type 0引导页 1广告页 + * @return 返回插件详情 + */ + PluginVo.PluginInfo getGuidePlugin(Byte type); + + /** + * 查找域内在线启用且开放的业务列表(不包括零号业务) + * @return 返回业务列表 + */ + List queryBusiness(); } diff --git a/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/IProjectService.java b/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/IProjectService.java index 9d4b054..8439a95 100644 --- a/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/IProjectService.java +++ b/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/IProjectService.java @@ -15,7 +15,7 @@ public interface IProjectService { * @param userId userId * @return 返回项目列表 */ - List queryProjectByUser(String phone, ProjectDto.QueryProjectDto param, Long userId); + List queryProjectByUser(String token,String phone, ProjectDto.QueryProjectDto param, Long userId); /** * 根据手机号获取项目信息 diff --git a/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/IUserService.java b/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/IUserService.java index 32392db..6b6a283 100644 --- a/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/IUserService.java +++ b/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/IUserService.java @@ -15,14 +15,14 @@ public interface IUserService { * @param deviceId 设备id * @return 返回token */ - UserVo.TokenBean userSignin(UserDto.SigninDto params, String deviceId,String clientIp); + UserVo.TokenBean userSignin(UserDto.SigninDto params, String deviceId,String clientIp) throws Exception; /** * 业务根据token获取用户信息 * @param params 业务app和token * @return 返回用户信息 */ - UserVo.TokenToUserId userByBusinessToken(UserDto.BusinessToken params); + UserVo.TokenToUserId userByBusinessToken(String accessToken,UserDto.BusinessToken params); /** * 获取手机验证码 diff --git a/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/ProjectService.java b/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/ProjectService.java index 2e4d007..1570490 100644 --- a/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/ProjectService.java +++ b/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/ProjectService.java @@ -2,25 +2,24 @@ package com.ccsens.ptos_tall.service; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.ccsens.cloudutil.bean.ptos.dto.FeignProjectDto; import com.ccsens.cloudutil.bean.ptos.vo.FeignProjectVo; import com.ccsens.cloudutil.feign.DiplomatistFeignClient; import com.ccsens.ptos_tall.bean.dto.ProjectDto; -import com.ccsens.ptos_tall.bean.po.IdcDomain; +import com.ccsens.ptos_tall.bean.po.OpenBusiness; +import com.ccsens.ptos_tall.bean.po.OpenBusinessExample; import com.ccsens.ptos_tall.bean.po.SysAuth; -import com.ccsens.ptos_tall.bean.po.SysBusiness; -import com.ccsens.ptos_tall.bean.po.SysBusinessExample; import com.ccsens.ptos_tall.bean.vo.ProjectVo; import com.ccsens.ptos_tall.bean.vo.UserVo; -import com.ccsens.ptos_tall.persist.dao.IdcDomainDao; import com.ccsens.ptos_tall.persist.dao.SysAuthDao; -import com.ccsens.ptos_tall.persist.mapper.SysBusinessMapper; +import com.ccsens.ptos_tall.persist.mapper.OpenBusinessMapper; import com.ccsens.ptos_tall.util.PtOsConstant; import com.ccsens.util.JsonResponse; import com.ccsens.util.RestTemplateUtil; +import com.ccsens.util.WebConstant; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; @@ -37,7 +36,7 @@ import java.util.*; @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class) public class ProjectService implements IProjectService { @Resource - private SysBusinessMapper businessMapper; + private OpenBusinessMapper businessMapper; @Resource private DiplomatistFeignClient diplomatistFeignClient; @Resource @@ -46,7 +45,7 @@ public class ProjectService implements IProjectService { private IUserService userService; @Override - public List queryProjectByUser(String phone, ProjectDto.QueryProjectDto param, Long userId) { + public List queryProjectByUser(String token,String phone, ProjectDto.QueryProjectDto param, Long userId) { List projectInfoList = new ArrayList<>(); //访问传达室,请求该用户在其他域的项目信息 @@ -65,20 +64,57 @@ public class ProjectService implements IProjectService { }); } } + queryBusinessProject(token, projectInfoList,param.getStartTime(),param.getEndTime()); + //TODO 排序 + + //TODO 添加测试数据 + + projectInfoList.add(new ProjectVo.ProjectInfo(1L,"测试项目1",1641799829000L,1644718446001L,"http://101.201.226.163/gateway/ptos/debug","dh","tall")); + projectInfoList.add(new ProjectVo.ProjectInfo(2L,"测试项目2",1641799829001L,1644718446002L,"http://101.201.226.163/gateway/ptos/debug","dh","tall")); + projectInfoList.add(new ProjectVo.ProjectInfo(3L,"测试项目3",1641799829002L,1644718446003L,"http://101.201.226.163/gateway/ptos/debug","dh","tall")); + projectInfoList.add(new ProjectVo.ProjectInfo(4L,"测试项目4",1641799829003L,1644718446004L,"http://101.201.226.163/gateway/ptos/debug","dh","tall")); + + ProjectVo.ProjectInfo projectInfo = new ProjectVo.ProjectInfo(4L,"测试项目4",1641799829003L,1644718446004L,"http://101.201.226.163/gateway/ptos/debug","dh","tall"); + List p1 = new ArrayList<>(); + p1.add(new ProjectVo.ProjectInfo(5L,"子项目1",1641799829003L,1644718446004L,"http://101.201.226.163/gateway/ptos/debug","dh","tall")); + p1.add(new ProjectVo.ProjectInfo(6L,"子项目2",1641799829003L,1644718446004L,"http://101.201.226.163/gateway/ptos/debug","dh","tall")); + projectInfo.setSonProjectList(p1); + + projectInfoList.add(projectInfo); + return projectInfoList; + } + + /** + * 查找用户在域下所有业务下的项目 + * @param token token + * @param projectInfoList 项目列表 + */ + private void queryBusinessProject(String token, List projectInfoList,Long startTime,Long endTime) { //查询本域所有在线的业务信息 Long lastAnswerTime = System.currentTimeMillis() - PtOsConstant.LAST_ANSWER_TIME; - SysBusinessExample businessExample = new SysBusinessExample(); + OpenBusinessExample businessExample = new OpenBusinessExample(); businessExample.createCriteria().andLastAnswerTimeGreaterThanOrEqualTo(lastAnswerTime).andTypeEqualTo((byte) 0); - List sysBusinesses = businessMapper.selectByExample(businessExample); + List openBusinessList = businessMapper.selectByExample(businessExample); //遍历业务 - if(CollectionUtil.isNotEmpty(sysBusinesses)){ - for (SysBusiness business : sysBusinesses) { - String url = business.getUrl() + "/project/query"; + if(CollectionUtil.isNotEmpty(openBusinessList)){ + for (OpenBusiness business : openBusinessList) { + String url = business.getUrl() + "/tall/project/query"; log.info("调用接口:{}--", url); - //TODO token - String postBody = RestTemplateUtil.postBody(url,param); - + String postBody = null; + try{ + Map map = new HashMap<>(); + map.put(WebConstant.HEADER_KEY_TOKEN, token); + ProjectDto.QueryProjectDto queryProjectDto = new ProjectDto.QueryProjectDto(); + queryProjectDto.setStartTime(startTime); + queryProjectDto.setEndTime(endTime); + postBody = RestTemplateUtil.postBodySpecialHeader(url, queryProjectDto,map); + }catch (Exception e){ + log.error("请求业务项目列表--" + business.getName() + e); + } + if(StrUtil.isBlank(postBody)){ + continue; + } JSONObject jsonObject = JSONObject.parseObject(postBody); log.info("接口返回:{}", jsonObject); //请求正确返回则修改最后应答时间,否则无操作 @@ -101,40 +137,25 @@ public class ProjectService implements IProjectService { } } } - //TODO 排序 - - //TODO 添加测试数据 - - projectInfoList.add(new ProjectVo.ProjectInfo(1L,"测试项目1",1641799829000L,1644718446001L,"http://101.201.226.163/gateway/ptos/debug","dh","tall")); - projectInfoList.add(new ProjectVo.ProjectInfo(2L,"测试项目2",1641799829001L,1644718446002L,"http://101.201.226.163/gateway/ptos/debug","dh","tall")); - projectInfoList.add(new ProjectVo.ProjectInfo(3L,"测试项目3",1641799829002L,1644718446003L,"http://101.201.226.163/gateway/ptos/debug","dh","tall")); - projectInfoList.add(new ProjectVo.ProjectInfo(4L,"测试项目4",1641799829003L,1644718446004L,"http://101.201.226.163/gateway/ptos/debug","dh","tall")); - - ProjectVo.ProjectInfo projectInfo = new ProjectVo.ProjectInfo(4L,"测试项目4",1641799829003L,1644718446004L,"http://101.201.226.163/gateway/ptos/debug","dh","tall"); - List p1 = new ArrayList<>(); - p1.add(new ProjectVo.ProjectInfo(5L,"子项目1",1641799829003L,1644718446004L,"http://101.201.226.163/gateway/ptos/debug","dh","tall")); - p1.add(new ProjectVo.ProjectInfo(6L,"子项目2",1641799829003L,1644718446004L,"http://101.201.226.163/gateway/ptos/debug","dh","tall")); - projectInfo.setSonProjectList(p1); - - projectInfoList.add(projectInfo); - return projectInfoList; } @Override public List queryProjectByPhone(ProjectDto.QueryProjectByPhone param) { + List projectInfos = new ArrayList<>(); //根据手机号查询用户信息 SysAuth sysAuth = sysAuthDao.getByPhone(param.getPhone().get(0)); //生成token Map theMap = CollectionUtil.newHashMap(); theMap.put("authId", String.valueOf(sysAuth.getId())); UserVo.TokenBean tokenBean = userService.generateToken(sysAuth.getUserId(), sysAuth.getId()); - //TODO - //查找所有在线的业务 - //遍历业务 - //查询用户在业务内的项目信息(带token过去) - return null; + //查找所有在线的业务的项目 + queryBusinessProject(tokenBean.getToken(),projectInfos,param.getStartTime(),param.getEndTime()); + return projectInfos; } + + //TODO + @Override public List haveProjectDay(ProjectDto.QueryHaveProject param, Long userId) { //返回值 diff --git a/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/UserService.java b/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/UserService.java index 7233c01..2694d0e 100644 --- a/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/UserService.java +++ b/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/UserService.java @@ -10,6 +10,7 @@ import com.ccsens.ptos_tall.bean.po.*; import com.ccsens.ptos_tall.bean.vo.UserVo; import com.ccsens.ptos_tall.persist.dao.SysAuthDao; import com.ccsens.ptos_tall.persist.dao.SysUserDao; +import com.ccsens.ptos_tall.persist.mapper.OpenBusinessMapper; import com.ccsens.ptos_tall.persist.mapper.SysSigninLogMapper; import com.ccsens.ptos_tall.persist.mapper.SysUserDeviceMapper; import com.ccsens.ptos_tall.util.PtOsCodeError; @@ -27,6 +28,8 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.lang.annotation.Annotation; +import java.security.NoSuchAlgorithmException; +import java.security.spec.InvalidKeySpecException; import java.util.List; import java.util.Map; import java.util.regex.Matcher; @@ -51,9 +54,11 @@ public class UserService implements IUserService { private SysUserDeviceMapper userDeviceMapper; @Resource private SysSigninLogMapper sysSigninLogMapper; + @Resource + private OpenBusinessMapper businessMapper; @Override - public UserVo.TokenBean userSignin(UserDto.SigninDto params, String deviceId, String clientIp) { + public UserVo.TokenBean userSignin(UserDto.SigninDto params, String deviceId, String clientIp) throws Exception { if(StrUtil.isBlank(deviceId)){ throw new BaseException(PtOsCodeError.ILLEGAL_LOG_IN); } @@ -85,6 +90,9 @@ public class UserService implements IUserService { userSign = phoneLogin(identifier, credential, deviceId); phone = identifier; break; + case 3: + userSign = accountLogin(identifier, credential); + break; case 4: //微信登录 WebConstant.IDENTIFY_TYPE identifyType = WebConstant.IDENTIFY_TYPE.valueOf(params.getType()); @@ -110,6 +118,35 @@ public class UserService implements IUserService { return tokenBean; } + /** + * 账号登录 + * @param account 账号密码 + * @param password 密码 + * @return 返回 + */ + private UserVo.UserSign accountLogin(String account, String password) throws Exception { + UserVo.UserSign userSignVo; + List authList; + SysAuth theAuth; + SysAuthExample authExample = new SysAuthExample(); + authExample.createCriteria() + .andIdentifyTypeEqualTo((byte) WebConstant.IDENTIFY_TYPE.Account.value).andIdentifierEqualTo(account); + authList = sysAuthDao.selectByExample(authExample); + if (CollectionUtil.isNotEmpty(authList)) { + theAuth = authList.get(0); + if (ShiroKit.authenticate(password, theAuth.getCredential(), theAuth.getSalt())) { + userSignVo = new UserVo.UserSign(); + userSignVo.setUserId(theAuth.getUserId()); + userSignVo.setAuthId(theAuth.getId()); + } else { + throw new BaseException(CodeEnum.PASSWORD_ERROR); + } + } else { + throw new BaseException(CodeEnum.PASSWORD_ERROR); + } + return userSignVo; + } + /** * 获取token */ @@ -488,10 +525,53 @@ public class UserService implements IUserService { } @Override - public UserVo.TokenToUserId userByBusinessToken(UserDto.BusinessToken params) { - //验证业务的appId和secret + public UserVo.TokenToUserId userByBusinessToken(String accessToken, UserDto.BusinessToken params) { + //验证业务的accessToken + Claims claims; + try { + claims = JwtUtil.parseJWT(accessToken, WebConstant.JWT_ACCESS_TOKEN_SECERT); + }catch(Exception e){ + log.info("token无效"); + throw new BaseException(CodeEnum.NOT_LOGIN); + } + //检查业务是否存在 + String appId = claims.getSubject(); + Object secret = claims.get(WebConstant.ACCESS_TOKEN_SECRET); + OpenBusinessExample openBusinessExample = new OpenBusinessExample(); + openBusinessExample.createCriteria().andAppIdEqualTo(appId).andSecretEqualTo(String.valueOf(secret)); + long l = businessMapper.countByExample(openBusinessExample); + if(l == 0){ + throw new BaseException(PtOsCodeError.NOT_BUSINESS); + } //根据token查找用户信息 + //验证token是否有效 + +// Claims userClaims; +// try { +// userClaims = JwtUtil.parseJWT(params.getToken(), WebConstant.JWT_ACCESS_TOKEN_SECERT); +// }catch(Exception e){ +// log.info("token无效"); +// throw new BaseException(CodeEnum.NOT_LOGIN); +// } +// //验证用户存根 +// if(!redisUtil.hasKey(RedisKeyManager.getTokenCachedKey(Long.valueOf(userClaims.getSubject())))){ +// log.info("用户存根不存在:{}",userClaims.getSubject()); +// throw new BaseException(CodeEnum.NOT_LOGIN); +// } +// SysUser sysUser = sysUserDao.selectByPrimaryKey(Long.valueOf(userClaims.getSubject())); +// if(ObjectUtil.isNull(sysUser)){ +// throw new BaseException(CodeEnum.NOT_LOGIN); +// } +// UserVo.TokenToUserId userInfo = new UserVo.TokenToUserId(); +// userInfo.setId(sysUser.getId()); +// //获取用户信息 +// userInfo.setAvatarUrl(sysUser.getAvatarUrl()); +// userInfo.setUserName(sysUser.getName()); +// userInfo.setAuthType(sysUser.getAuthType()); +// +// //查找手机号 +// userInfo.setPhone(sysAuthDao.getPhoneByUserId(sysUser.getId())); //返回用户信息 - return null; + return getUserByToken(params.getToken()); } } diff --git a/ptos_tall/src/main/java/com/ccsens/ptos_tall/util/PtOsCodeError.java b/ptos_tall/src/main/java/com/ccsens/ptos_tall/util/PtOsCodeError.java index c73ee8a..4e979da 100644 --- a/ptos_tall/src/main/java/com/ccsens/ptos_tall/util/PtOsCodeError.java +++ b/ptos_tall/src/main/java/com/ccsens/ptos_tall/util/PtOsCodeError.java @@ -13,6 +13,7 @@ public class PtOsCodeError extends CodeError { public static final Code SIGNIN_TYPE_ERROR = new Code(502,"登录类型异常",true); public static final Code NOT_PHONE = new Code(503,"手机号不能为空",true); public static final Code NOT_SMS_CODE = new Code(504,"请填写手机号验证码",true); - public static final Code ERROR_SEND_TOO_FAST = new Code(504,"60秒内只能发送一次,请稍后再试",true); + public static final Code ERROR_SEND_TOO_FAST = new Code(505,"60秒内只能发送一次,请稍后再试",true); + public static final Code NOT_BUSINESS = new Code(506,"业务信息异常",true); } diff --git a/ptos_tall/src/main/java/com/ccsens/ptos_tall/util/PtOsConstant.java b/ptos_tall/src/main/java/com/ccsens/ptos_tall/util/PtOsConstant.java index 62cf583..721d536 100644 --- a/ptos_tall/src/main/java/com/ccsens/ptos_tall/util/PtOsConstant.java +++ b/ptos_tall/src/main/java/com/ccsens/ptos_tall/util/PtOsConstant.java @@ -8,6 +8,9 @@ import java.util.Map; */ public class PtOsConstant { + /**零号业务路径*/ + public static final String ZERO_BUSINESS_URL = "http://127.0.0.1:7310"; + /**业务离线时间*/ public static final Long LAST_ANSWER_TIME = 21 * 60 * 1000L; diff --git a/ptos_tall/src/main/resources/mapper_dao/BusinessPluginDao.xml b/ptos_tall/src/main/resources/mapper_dao/BusinessPluginDao.xml new file mode 100644 index 0000000..868aa3c --- /dev/null +++ b/ptos_tall/src/main/resources/mapper_dao/BusinessPluginDao.xml @@ -0,0 +1,40 @@ + + + + + + + + + \ No newline at end of file diff --git a/ptos_tall/src/main/resources/mapper_raw/SysBusinessMapper.xml b/ptos_tall/src/main/resources/mapper_raw/OpenBusinessMapper.xml similarity index 81% rename from ptos_tall/src/main/resources/mapper_raw/SysBusinessMapper.xml rename to ptos_tall/src/main/resources/mapper_raw/OpenBusinessMapper.xml index ca30098..a639aed 100644 --- a/ptos_tall/src/main/resources/mapper_raw/SysBusinessMapper.xml +++ b/ptos_tall/src/main/resources/mapper_raw/OpenBusinessMapper.xml @@ -1,7 +1,7 @@ - - + + @@ -13,6 +13,9 @@ + + + @@ -78,15 +81,15 @@ id, name, code, description, url, app_id, secret, creator_id, last_ask_time, last_answer_time, - type, operator, created_at, updated_at, rec_status + type, pub, start_using, debug, operator, created_at, updated_at, rec_status - select distinct - from t_sys_business + from t_open_business @@ -97,35 +100,37 @@ - delete from t_sys_business + delete from t_open_business where id = #{id,jdbcType=BIGINT} - - delete from t_sys_business + + delete from t_open_business - - insert into t_sys_business (id, name, code, + + insert into t_open_business (id, name, code, description, url, app_id, secret, creator_id, last_ask_time, - last_answer_time, type, operator, + last_answer_time, type, pub, + start_using, debug, operator, created_at, updated_at, rec_status ) values (#{id,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{code,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}, #{url,jdbcType=VARCHAR}, #{appId,jdbcType=VARCHAR}, #{secret,jdbcType=VARCHAR}, #{creatorId,jdbcType=BIGINT}, #{lastAskTime,jdbcType=BIGINT}, - #{lastAnswerTime,jdbcType=BIGINT}, #{type,jdbcType=TINYINT}, #{operator,jdbcType=BIGINT}, + #{lastAnswerTime,jdbcType=BIGINT}, #{type,jdbcType=TINYINT}, #{pub,jdbcType=TINYINT}, + #{startUsing,jdbcType=TINYINT}, #{debug,jdbcType=TINYINT}, #{operator,jdbcType=BIGINT}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT} ) - - insert into t_sys_business + + insert into t_open_business id, @@ -160,6 +165,15 @@ type, + + pub, + + + start_using, + + + debug, + operator, @@ -207,6 +221,15 @@ #{type,jdbcType=TINYINT}, + + #{pub,jdbcType=TINYINT}, + + + #{startUsing,jdbcType=TINYINT}, + + + #{debug,jdbcType=TINYINT}, + #{operator,jdbcType=BIGINT}, @@ -221,14 +244,14 @@ - + select count(*) from t_open_business - update t_sys_business + update t_open_business id = #{record.id,jdbcType=BIGINT}, @@ -263,6 +286,15 @@ type = #{record.type,jdbcType=TINYINT}, + + pub = #{record.pub,jdbcType=TINYINT}, + + + start_using = #{record.startUsing,jdbcType=TINYINT}, + + + debug = #{record.debug,jdbcType=TINYINT}, + operator = #{record.operator,jdbcType=BIGINT}, @@ -281,7 +313,7 @@ - update t_sys_business + update t_open_business set id = #{record.id,jdbcType=BIGINT}, name = #{record.name,jdbcType=VARCHAR}, code = #{record.code,jdbcType=VARCHAR}, @@ -293,6 +325,9 @@ last_ask_time = #{record.lastAskTime,jdbcType=BIGINT}, last_answer_time = #{record.lastAnswerTime,jdbcType=BIGINT}, type = #{record.type,jdbcType=TINYINT}, + pub = #{record.pub,jdbcType=TINYINT}, + start_using = #{record.startUsing,jdbcType=TINYINT}, + debug = #{record.debug,jdbcType=TINYINT}, operator = #{record.operator,jdbcType=BIGINT}, created_at = #{record.createdAt,jdbcType=TIMESTAMP}, updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, @@ -301,8 +336,8 @@ - - update t_sys_business + + update t_open_business name = #{name,jdbcType=VARCHAR}, @@ -334,6 +369,15 @@ type = #{type,jdbcType=TINYINT}, + + pub = #{pub,jdbcType=TINYINT}, + + + start_using = #{startUsing,jdbcType=TINYINT}, + + + debug = #{debug,jdbcType=TINYINT}, + operator = #{operator,jdbcType=BIGINT}, @@ -349,8 +393,8 @@ where id = #{id,jdbcType=BIGINT} - - update t_sys_business + + update t_open_business set name = #{name,jdbcType=VARCHAR}, code = #{code,jdbcType=VARCHAR}, description = #{description,jdbcType=VARCHAR}, @@ -361,6 +405,9 @@ last_ask_time = #{lastAskTime,jdbcType=BIGINT}, last_answer_time = #{lastAnswerTime,jdbcType=BIGINT}, type = #{type,jdbcType=TINYINT}, + pub = #{pub,jdbcType=TINYINT}, + start_using = #{startUsing,jdbcType=TINYINT}, + debug = #{debug,jdbcType=TINYINT}, operator = #{operator,jdbcType=BIGINT}, created_at = #{createdAt,jdbcType=TIMESTAMP}, updated_at = #{updatedAt,jdbcType=TIMESTAMP}, diff --git a/ptoszero/src/main/resources/mapper_dao/ProRoleDao.xml b/ptoszero/src/main/resources/mapper_dao/ProRoleDao.xml index 22b5adb..0b32097 100644 --- a/ptoszero/src/main/resources/mapper_dao/ProRoleDao.xml +++ b/ptoszero/src/main/resources/mapper_dao/ProRoleDao.xml @@ -27,7 +27,7 @@ and rm.rec_status = 0 and m.rec_status = 0 - SELECT r.id, r.`name`, @@ -62,7 +62,7 @@ GROUP BY r.id ORDER BY pm DESC,mine DESC,r.id - SELECT r.id, r.`name`, diff --git a/ptoszero/src/main/resources/mapper_dao/ProRoleTaskDao.xml b/ptoszero/src/main/resources/mapper_dao/ProRoleTaskDao.xml index 3687d3f..04693aa 100644 --- a/ptoszero/src/main/resources/mapper_dao/ProRoleTaskDao.xml +++ b/ptoszero/src/main/resources/mapper_dao/ProRoleTaskDao.xml @@ -54,7 +54,7 @@ - SELECT r.id, r.`name` diff --git a/ptoszero/src/main/resources/mapper_dao/ProTaskDetailDao.xml b/ptoszero/src/main/resources/mapper_dao/ProTaskDetailDao.xml index e3c1605..20b812a 100644 --- a/ptoszero/src/main/resources/mapper_dao/ProTaskDetailDao.xml +++ b/ptoszero/src/main/resources/mapper_dao/ProTaskDetailDao.xml @@ -2,7 +2,7 @@ - + @@ -16,7 +16,7 @@ - + diff --git a/ptoszero/src/main/resources/mapper_dao/ProTaskPluginDao.xml b/ptoszero/src/main/resources/mapper_dao/ProTaskPluginDao.xml index 3244dd1..d407e93 100644 --- a/ptoszero/src/main/resources/mapper_dao/ProTaskPluginDao.xml +++ b/ptoszero/src/main/resources/mapper_dao/ProTaskPluginDao.xml @@ -28,7 +28,7 @@ - SELECT tp.plugin_id AS pluginId, tp.param As param, diff --git a/tall_sdk/src/main/java/com/ccsensptos/tallsdk/api/ProjectController.java b/tall_sdk/src/main/java/com/ccsensptos/tallsdk/api/ProjectController.java index 6c59c12..c157e44 100644 --- a/tall_sdk/src/main/java/com/ccsensptos/tallsdk/api/ProjectController.java +++ b/tall_sdk/src/main/java/com/ccsensptos/tallsdk/api/ProjectController.java @@ -1,9 +1,9 @@ package com.ccsensptos.tallsdk.api; import com.ccsens.util.WebConstant; -import com.ccsensptos.tallsdk.bean.dto.ProjectDto; +import com.ccsensptos.tallsdk.bean.dto.TallProjectDto; import com.ccsensptos.tallsdk.service.ITallService; -import com.ccsensptos.tallsdk.bean.vo.ProjectVo; +import com.ccsensptos.tallsdk.bean.vo.TallProjectVo; import com.ccsens.util.JsonResponse; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -34,9 +34,9 @@ public class ProjectController { @ApiOperation(value = "日历页获取项目列表", notes = "") @RequestMapping(value = "/query", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse> queryProjectByUser(HttpServletRequest request,@ApiParam @Validated @RequestBody ProjectDto.QueryProjectDto params) throws Exception{ + public JsonResponse> queryProjectByUser(HttpServletRequest request, @ApiParam @Validated @RequestBody TallProjectDto.QueryProjectDto params) throws Exception{ log.info("查询用户所有域下所有业务内的所有项目:{}",params); - List projectInfoList = tallService.queryProjectByUser(request.getHeader(WebConstant.HEADER_KEY_TOKEN),params); + List projectInfoList = tallService.queryProjectByUser(request.getHeader(WebConstant.HEADER_KEY_TOKEN),params); log.info("返回用户所有域下所有业务内的所有项目"); return JsonResponse.newInstance().ok(projectInfoList); } @@ -44,9 +44,9 @@ public class ProjectController { @ApiOperation(value = "导入Wbs", notes = "") @RequestMapping(value = "/wbs", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse queryProjectByUser(HttpServletRequest request,@ApiParam @Validated @RequestBody MultipartFile params) throws Exception{ + public JsonResponse queryProjectByUser(HttpServletRequest request, @ApiParam @Validated @RequestBody MultipartFile params) throws Exception{ log.info("导入Wbs:{}",params); - List projectInfoList = tallService.importWbs(request.getHeader(WebConstant.HEADER_KEY_TOKEN),params); + TallProjectVo.ProjectInfo projectInfoList = tallService.importWbs(request.getHeader(WebConstant.HEADER_KEY_TOKEN),params); log.info("导入Wbs"); return JsonResponse.newInstance().ok(projectInfoList); } diff --git a/tall_sdk/src/main/java/com/ccsensptos/tallsdk/api/RoleController.java b/tall_sdk/src/main/java/com/ccsensptos/tallsdk/api/RoleController.java index da062f9..d22cfaf 100644 --- a/tall_sdk/src/main/java/com/ccsensptos/tallsdk/api/RoleController.java +++ b/tall_sdk/src/main/java/com/ccsensptos/tallsdk/api/RoleController.java @@ -1,8 +1,8 @@ package com.ccsensptos.tallsdk.api; import com.ccsens.util.WebConstant; -import com.ccsensptos.tallsdk.bean.dto.RoleDto; -import com.ccsensptos.tallsdk.bean.vo.RoleVo; +import com.ccsensptos.tallsdk.bean.dto.TallRoleDto; +import com.ccsensptos.tallsdk.bean.vo.TallRoleVo; import com.ccsensptos.tallsdk.service.ITallService; import com.ccsens.util.JsonResponse; import io.swagger.annotations.Api; @@ -33,9 +33,9 @@ public class RoleController { @ApiOperation(value = "根据项目id查找角色", notes = "") @RequestMapping(value = "/show", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse queryByProjectId(HttpServletRequest request, @ApiParam @Validated @RequestBody RoleDto.QueryRoleById params) { + public JsonResponse queryByProjectId(HttpServletRequest request, @ApiParam @Validated @RequestBody TallRoleDto.QueryRoleById params) { log.info("根据项目id查找角色{}",params); - RoleVo.QueryRole queryRole = tallService.queryShowRole(request.getHeader(WebConstant.HEADER_KEY_TOKEN),params); + TallRoleVo.QueryRole queryRole = tallService.queryShowRole(request.getHeader(WebConstant.HEADER_KEY_TOKEN),params); log.info("项目id查找角色列表{}",queryRole); return JsonResponse.newInstance().ok(queryRole); } diff --git a/tall_sdk/src/main/java/com/ccsensptos/tallsdk/api/TaskController.java b/tall_sdk/src/main/java/com/ccsensptos/tallsdk/api/TaskController.java index 879f7cc..f11761f 100644 --- a/tall_sdk/src/main/java/com/ccsensptos/tallsdk/api/TaskController.java +++ b/tall_sdk/src/main/java/com/ccsensptos/tallsdk/api/TaskController.java @@ -2,8 +2,8 @@ package com.ccsensptos.tallsdk.api; import com.ccsens.util.WebConstant; import com.ccsensptos.tallsdk.service.ITallService; -import com.ccsensptos.tallsdk.bean.dto.TaskDto; -import com.ccsensptos.tallsdk.bean.vo.TaskVo; +import com.ccsensptos.tallsdk.bean.dto.TallTaskDto; +import com.ccsensptos.tallsdk.bean.vo.TallTaskVo; import com.ccsens.util.JsonResponse; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -34,24 +34,24 @@ public class TaskController { @ApiOperation(value = "查找永久日常任务", notes = "") @RequestMapping(value = "/permanent", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse> queryPermanentGlobalTask(HttpServletRequest request,@ApiParam @Validated @RequestBody TaskDto.QueryPermanentGlobalTask params) { - List queryTasks = tallService.queryPermanentGlobalTask(request.getHeader(WebConstant.HEADER_KEY_TOKEN),params); + public JsonResponse> queryPermanentGlobalTask(HttpServletRequest request, @ApiParam @Validated @RequestBody TallTaskDto.QueryPermanentGlobalTask params) { + List queryTasks = tallService.queryPermanentGlobalTask(request.getHeader(WebConstant.HEADER_KEY_TOKEN),params); return JsonResponse.newInstance().ok(queryTasks); } @ApiOperation(value = "查找带时间的日常任务", notes = "") @RequestMapping(value = "/global", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse> queryGlobalTask(HttpServletRequest request,@ApiParam @Validated @RequestBody TaskDto.QueryGlobalTask params) { - List queryTasks = tallService.queryGlobalTask(request.getHeader(WebConstant.HEADER_KEY_TOKEN),params); + public JsonResponse> queryGlobalTask(HttpServletRequest request, @ApiParam @Validated @RequestBody TallTaskDto.QueryGlobalTask params) { + List queryTasks = tallService.queryGlobalTask(request.getHeader(WebConstant.HEADER_KEY_TOKEN),params); return JsonResponse.newInstance().ok(queryTasks); } @ApiOperation(value = "查找定期任务", notes = "") @RequestMapping(value = "/regular", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse> queryRegularTask(HttpServletRequest request, @ApiParam @Validated @RequestBody TaskDto.QueryRegularTask params) { - List queryTasks = tallService.queryRegularTask(request.getHeader(WebConstant.HEADER_KEY_TOKEN),params); + public JsonResponse> queryRegularTask(HttpServletRequest request, @ApiParam @Validated @RequestBody TallTaskDto.QueryRegularTask params) { + List queryTasks = tallService.queryRegularTask(request.getHeader(WebConstant.HEADER_KEY_TOKEN),params); return JsonResponse.newInstance().ok(queryTasks); } } diff --git a/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/dto/ProjectDto.java b/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/dto/TallProjectDto.java similarity index 92% rename from tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/dto/ProjectDto.java rename to tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/dto/TallProjectDto.java index c5d7430..6ef751e 100644 --- a/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/dto/ProjectDto.java +++ b/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/dto/TallProjectDto.java @@ -10,7 +10,7 @@ import javax.validation.constraints.NotNull; * @author 逗 */ @Data -public class ProjectDto { +public class TallProjectDto { @Data @ApiModel("用户查询可见的项目") diff --git a/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/dto/RoleDto.java b/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/dto/TallRoleDto.java similarity index 91% rename from tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/dto/RoleDto.java rename to tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/dto/TallRoleDto.java index 5ed80c7..63c5484 100644 --- a/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/dto/RoleDto.java +++ b/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/dto/TallRoleDto.java @@ -7,7 +7,7 @@ import lombok.Data; import javax.validation.constraints.NotNull; @Data -public class RoleDto { +public class TallRoleDto { @Data @ApiModel("查看角色栏展示") public static class QueryRoleById{ diff --git a/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/dto/TaskDto.java b/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/dto/TallTaskDto.java similarity index 95% rename from tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/dto/TaskDto.java rename to tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/dto/TallTaskDto.java index 213fde0..9c8964c 100644 --- a/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/dto/TaskDto.java +++ b/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/dto/TallTaskDto.java @@ -7,7 +7,7 @@ import lombok.Data; import javax.validation.constraints.NotNull; @Data -public class TaskDto { +public class TallTaskDto { @Data @ApiModel("查看永久日常任务") public static class QueryPermanentGlobalTask{ diff --git a/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/dto/TokenDto.java b/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/dto/TallTokenDto.java similarity index 70% rename from tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/dto/TokenDto.java rename to tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/dto/TallTokenDto.java index e6be7f0..e2bd7da 100644 --- a/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/dto/TokenDto.java +++ b/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/dto/TallTokenDto.java @@ -8,7 +8,7 @@ import lombok.Data; * @author 逗 */ @Data -public class TokenDto { +public class TallTokenDto { @Data @@ -35,6 +35,15 @@ public class TokenDto { private String appId; //"secret") private String secret; + + public GetUserByToken() { + } + + public GetUserByToken(String token, String appId, String secret) { + this.token = token; + this.appId = appId; + this.secret = secret; + } } } diff --git a/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/vo/ProjectVo.java b/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/vo/TallProjectVo.java similarity index 96% rename from tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/vo/ProjectVo.java rename to tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/vo/TallProjectVo.java index dc09399..2801328 100644 --- a/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/vo/ProjectVo.java +++ b/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/vo/TallProjectVo.java @@ -13,7 +13,7 @@ import java.util.List; * @author 逗 */ @Data -public class ProjectVo { +public class TallProjectVo { @Data @ApiModel("域信息") diff --git a/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/vo/RoleVo.java b/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/vo/TallRoleVo.java similarity index 93% rename from tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/vo/RoleVo.java rename to tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/vo/TallRoleVo.java index b303a0f..4b1a120 100644 --- a/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/vo/RoleVo.java +++ b/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/vo/TallRoleVo.java @@ -7,7 +7,7 @@ import lombok.Data; import java.util.List; @Data -public class RoleVo { +public class TallRoleVo { @Data @ApiModel("查看角色栏展示的角色信息") diff --git a/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/vo/TaskVo.java b/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/vo/TallTaskVo.java similarity index 96% rename from tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/vo/TaskVo.java rename to tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/vo/TallTaskVo.java index d4d2d65..a185b84 100644 --- a/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/vo/TaskVo.java +++ b/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/vo/TallTaskVo.java @@ -7,7 +7,7 @@ import lombok.Data; import java.util.List; @Data -public class TaskVo { +public class TallTaskVo { @Data @ApiModel("查看定期任务返回值") diff --git a/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/vo/TokenVo.java b/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/vo/TallTokenVo.java similarity index 92% rename from tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/vo/TokenVo.java rename to tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/vo/TallTokenVo.java index aa97c02..a60f396 100644 --- a/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/vo/TokenVo.java +++ b/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/vo/TallTokenVo.java @@ -9,7 +9,7 @@ import lombok.Data; * @author 逗 */ @Data -public class TokenVo { +public class TallTokenVo { @Data public static class UserIdByToken { diff --git a/tall_sdk/src/main/java/com/ccsensptos/tallsdk/service/ITallService.java b/tall_sdk/src/main/java/com/ccsensptos/tallsdk/service/ITallService.java index 13f311e..e8c7e24 100644 --- a/tall_sdk/src/main/java/com/ccsensptos/tallsdk/service/ITallService.java +++ b/tall_sdk/src/main/java/com/ccsensptos/tallsdk/service/ITallService.java @@ -1,11 +1,11 @@ package com.ccsensptos.tallsdk.service; -import com.ccsensptos.tallsdk.bean.dto.ProjectDto; -import com.ccsensptos.tallsdk.bean.dto.RoleDto; -import com.ccsensptos.tallsdk.bean.dto.TaskDto; -import com.ccsensptos.tallsdk.bean.vo.ProjectVo; -import com.ccsensptos.tallsdk.bean.vo.RoleVo; -import com.ccsensptos.tallsdk.bean.vo.TaskVo; +import com.ccsensptos.tallsdk.bean.dto.TallProjectDto; +import com.ccsensptos.tallsdk.bean.dto.TallRoleDto; +import com.ccsensptos.tallsdk.bean.dto.TallTaskDto; +import com.ccsensptos.tallsdk.bean.vo.TallProjectVo; +import com.ccsensptos.tallsdk.bean.vo.TallRoleVo; +import com.ccsensptos.tallsdk.bean.vo.TallTaskVo; import org.springframework.web.multipart.MultipartFile; import java.util.List; @@ -19,40 +19,40 @@ public interface ITallService { * @param param 开始结束时间 * @return 返回项目列表 */ - List queryProjectByUser(String token,ProjectDto.QueryProjectDto param); + List queryProjectByUser(String token, TallProjectDto.QueryProjectDto param); /** * 查询项目下的角色列表 * @param param 项目id * @return 返回角色列表 */ - RoleVo.QueryRole queryShowRole(String token,RoleDto.QueryRoleById param); + TallRoleVo.QueryRole queryShowRole(String token, TallRoleDto.QueryRoleById param); /** * 查询没有时间的日常任务 * @param param 角色id等。。。 * @return 返回任务列表 */ - List queryPermanentGlobalTask(String token,TaskDto.QueryPermanentGlobalTask param); + List queryPermanentGlobalTask(String token, TallTaskDto.QueryPermanentGlobalTask param); /** * 查询有时间的日常任务 * @param param 角色id和时间 * @return 返回任务列表 */ - List queryGlobalTask(String token,TaskDto.QueryGlobalTask param); + List queryGlobalTask(String token, TallTaskDto.QueryGlobalTask param); /** * 查询定期任务 * @param param 角色id和时间 * @return 返回任务列表 */ - List queryRegularTask(String token,TaskDto.QueryRegularTask param); + List queryRegularTask(String token, TallTaskDto.QueryRegularTask param); /** * 导入wbs * @param params wbs文件 * @return 返回项目信息 */ - List importWbs(String token,MultipartFile params); + TallProjectVo.ProjectInfo importWbs(String token, MultipartFile params); } diff --git a/tall_sdk/src/main/java/com/ccsensptos/tallsdk/util/TokenUtil.java b/tall_sdk/src/main/java/com/ccsensptos/tallsdk/util/TokenUtil.java index 5780816..1cb2978 100644 --- a/tall_sdk/src/main/java/com/ccsensptos/tallsdk/util/TokenUtil.java +++ b/tall_sdk/src/main/java/com/ccsensptos/tallsdk/util/TokenUtil.java @@ -1,24 +1,19 @@ package com.ccsensptos.tallsdk.util; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; -import cn.hutool.http.HttpUtil; import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.ccsens.util.RedisUtil; import com.ccsens.util.RestTemplateUtil; -import com.ccsensptos.tallsdk.bean.dto.TokenDto; -import com.ccsensptos.tallsdk.bean.vo.TokenVo; +import com.ccsensptos.tallsdk.bean.dto.TallTokenDto; +import com.ccsensptos.tallsdk.bean.vo.TallTokenVo; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; import javax.annotation.Resource; -import javax.servlet.http.HttpServlet; import java.util.HashMap; import java.util.Map; @@ -68,7 +63,7 @@ public class TokenUtil { //查找map内的数据 long now = System.currentTimeMillis(); - TokenVo.AccessToken accessToken = (TokenVo.AccessToken) accessTokenMap.get(appId); + TallTokenVo.AccessToken accessToken = (TallTokenVo.AccessToken) accessTokenMap.get(appId); if(ObjectUtil.isNotNull(accessToken)){ if(accessToken.getTime() + Constant.EXPIRATION_TIME > now){ return accessToken.getAccessToken(); @@ -78,10 +73,19 @@ public class TokenUtil { } } //map内查不到,则去请求tall获取新的accessToken - String url = Constant.TALL_URL + Constant.TALL_GET_ACCESS_TOKEN; - TokenDto.GetAccessToken getAccessToken = new TokenDto.GetAccessToken(appId,secret); - log.info("调用接口:{}--{}", url, getAccessToken); - String postBody = RestTemplateUtil.postBody(url, getAccessToken); + String url = "http://127.0.0.1:7290/" + Constant.TALL_GET_ACCESS_TOKEN; +// String url = Constant.TALL_URL + Constant.TALL_GET_ACCESS_TOKEN; + TallTokenDto.GetAccessToken get = new TallTokenDto.GetAccessToken(appId,secret); + log.info("调用接口:{}--{}", url, get); + String postBody = null; + try{ + postBody = RestTemplateUtil.postBody(url,get); + }catch (Exception e){ + log.error("获取accessToken异常--" + e); + } + if(StrUtil.isBlank(postBody)){ + return null; + } JSONObject jsonObject = JSONObject.parseObject(postBody); log.info("接口返回:{}", jsonObject); //请求正确返回则,否则无操作 @@ -93,10 +97,10 @@ public class TokenUtil { if(ObjectUtil.isNull(data)){ return null; } - TokenVo.AccessToken t = new TokenVo.AccessToken(); + TallTokenVo.AccessToken t = new TallTokenVo.AccessToken(); t.setAccessToken(data); t.setTime(System.currentTimeMillis()); - accessTokenMap.put(getAccessToken.getAppId(),t); + accessTokenMap.put(get.getAppId(),t); return data; } @@ -104,7 +108,7 @@ public class TokenUtil { * 通过token获取用户信息 * @return 返回accessToken */ - public static TokenVo.UserIdByToken getUserByToken(TokenDto.GetUserByToken getUserByToken){ + public static TallTokenVo.UserIdByToken getUserByToken(TallTokenDto.GetUserByToken getUserByToken){ //查看业务是否开启redis缓存 // if(REDIS_IS_OPEN.equals(openRedis)){ // //查询token是否存在 @@ -115,11 +119,20 @@ public class TokenUtil { //调用tall的接口生成查询项目信息 //发送请求 - String url = Constant.TALL_URL + Constant.TALL_USER_TOKEN; +// String url = Constant.TALL_URL + Constant.TALL_USER_TOKEN; + String url = "http://127.0.0.1:7290/" + Constant.TALL_USER_TOKEN; log.info("调用接口:{}--{}", url, getUserByToken); - Map map = new HashMap<>(); - map.put(Constant.ACCESS_TOKEN,getAccessToken(getUserByToken.getAppId(),getUserByToken.getSecret())); - String postBody = RestTemplateUtil.postBodySpecialHeader(url, getUserByToken,map); + String postBody = null; + try{ + Map map = new HashMap<>(); + map.put(Constant.ACCESS_TOKEN,getAccessToken(getUserByToken.getAppId(),getUserByToken.getSecret())); + postBody = RestTemplateUtil.postBodySpecialHeader(url, getUserByToken,map); + }catch (Exception e){ + log.error("获取accessToken异常--" + e); + } + if(StrUtil.isBlank(postBody)){ + return null; + } JSONObject jsonObject = JSONObject.parseObject(postBody); log.info("接口返回:{}", jsonObject); //请求正确返回则,否则无操作 @@ -131,9 +144,9 @@ public class TokenUtil { if(ObjectUtil.isNull(data)){ return null; } - TokenVo.UserIdByToken userIdByToken; + TallTokenVo.UserIdByToken userIdByToken; try { - userIdByToken = JSON.parseObject(data,TokenVo.UserIdByToken.class); + userIdByToken = JSON.parseObject(data, TallTokenVo.UserIdByToken.class); }catch (Exception e){ log.info("返回值转换失败"); return null; diff --git a/util/src/main/java/com/ccsens/util/WebConstant.java b/util/src/main/java/com/ccsens/util/WebConstant.java index 3a4db2e..a50ba09 100644 --- a/util/src/main/java/com/ccsens/util/WebConstant.java +++ b/util/src/main/java/com/ccsens/util/WebConstant.java @@ -190,6 +190,7 @@ public class WebConstant { public static final String PARAMETER_KEY_TOKEN = "token"; public static final String PARAMETER_KEY_TOKEN_AUTH_ID = "authId"; + public static final String ACCESS_TOKEN_SECRET = "secret"; public static final String HEADER_KEY_TOKEN = "Authorization"; public static final String HEADER_KEY_MD5 = "md5"; public static final String HEADER_KEY_TOKEN_PREFIX = "Bearer "; diff --git a/util/src/main/java/com/ccsens/util/bean/dto/QueryDto.java b/util/src/main/java/com/ccsens/util/bean/dto/QueryDto.java index 9d356cc..43bfeb1 100644 --- a/util/src/main/java/com/ccsens/util/bean/dto/QueryDto.java +++ b/util/src/main/java/com/ccsens/util/bean/dto/QueryDto.java @@ -34,5 +34,7 @@ public class QueryDto { private Byte clientType; @ApiModelProperty("ip地址") private String clientIp; + @ApiModelProperty("token") + private String token; }