diff --git a/cloudutil/src/main/resources/application-util-prod.yml b/cloudutil/src/main/resources/application-util-prod.yml index 6b375dd1..d3a11767 100644 --- a/cloudutil/src/main/resources/application-util-prod.yml +++ b/cloudutil/src/main/resources/application-util-prod.yml @@ -85,6 +85,7 @@ eureka: # defaultZone: http://admin:admin@101.201.226.21:7010/eureka/ defaultZone: http://admin:admin@121.36.3.207:7010/eureka/ +# defaultZone: http://admin:admin@127.0.0.1:7010/eureka/ # defaultZone: http://admin:admin@test.tall.wiki:7010/eureka/ instance: # 是否注册IP到eureka server,如不指定或设为false,那就回注册主机名到eureka server diff --git a/signin/src/main/java/com/ccsens/signin/api/UserController.java b/signin/src/main/java/com/ccsens/signin/api/UserController.java index 270ba807..0f20220c 100644 --- a/signin/src/main/java/com/ccsens/signin/api/UserController.java +++ b/signin/src/main/java/com/ccsens/signin/api/UserController.java @@ -441,38 +441,6 @@ public class UserController { }) @RequestMapping(value = "token",method = RequestMethod.GET,produces = {"application/json;charset=UTF-8"}) public JsonResponse getUserByToken(@RequestParam(required = true) String token) throws Exception { -// long start = System.currentTimeMillis(); -// UserVo.TokenToUserId tokenToUserId = new UserVo.TokenToUserId(); - -// // 验证token是否存在 -// String tokenStr = token; -// if (tokenStr == null || !tokenStr.startsWith(WebConstant.HEADER_KEY_TOKEN_PREFIX)) { -// return JsonResponse.newInstance().ok(CodeEnum.NOT_LOGIN); -// } -// String userToken = tokenStr.substring(WebConstant.HEADER_KEY_TOKEN_PREFIX.length()); -// -// //验证token是否有效 -// Claims claims = null; -// try { -// claims = JwtUtil.parseJWT(userToken, WebConstant.JWT_ACCESS_TOKEN_SECERT); -// }catch(Exception e){ -// return JsonResponse.newInstance().ok(CodeEnum.NOT_LOGIN); -// } -// //验证用户存根 -// if(userService.tokenNotExistInCache(Long.valueOf(claims.getSubject()))){ -// return JsonResponse.newInstance().ok(CodeEnum.NOT_LOGIN); -// } -// //验证用户是否禁用 -// SysUser user = userService.getUserById(Long.valueOf(claims.getSubject())); -// if(user.getRecStatus() == WebConstant.REC_STATUS.Disabled.value){ -// return JsonResponse.newInstance().ok(CodeEnum.NOT_LOGIN); -// } - -// tokenToUserId.setId(Long.valueOf(claims.getSubject())); -// long end = System.currentTimeMillis(); -// log.info("根据token查找userId用时:{}",end - start); - - log.info("MustLogin根据token查找UserId:{}",token); long start = System.currentTimeMillis(); diff --git a/signin/src/main/java/com/ccsens/signin/service/ProjectService.java b/signin/src/main/java/com/ccsens/signin/service/ProjectService.java index c84a7a75..1d028e51 100644 --- a/signin/src/main/java/com/ccsens/signin/service/ProjectService.java +++ b/signin/src/main/java/com/ccsens/signin/service/ProjectService.java @@ -34,7 +34,7 @@ import java.util.stream.Collectors; @Slf4j @Service @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) -public class ProjectService implements IProjectService{ +public class ProjectService implements IProjectService { @Resource private ProjectDao projectDao; @Resource @@ -67,7 +67,7 @@ public class ProjectService implements IProjectService{ for (ProjectVo.QueryProject queryProject : projectList) { List sonList = new ArrayList<>(); for (ProjectVo.QueryProject sonProject : sonProjectList) { - if (queryProject.getId().equals(sonProject.getParentId())){ + if (queryProject.getId().equals(sonProject.getParentId())) { sonList.add(sonProject); } } @@ -83,7 +83,7 @@ public class ProjectService implements IProjectService{ SysProjectListExample projectListExample = new SysProjectListExample(); projectListExample.createCriteria().andProjectIdEqualTo(projectDto.getId()); List sysProjectLists = projectListMapper.selectByExample(projectListExample); - if(CollectionUtil.isNotEmpty(sysProjectLists)){ + if (CollectionUtil.isNotEmpty(sysProjectLists)) { //存在则修改 SysProjectList project = sysProjectLists.get(0); project.setName(projectDto.getName()); @@ -93,12 +93,12 @@ public class ProjectService implements IProjectService{ // project.setUrl(projectDto.getUrl()); projectListMapper.updateByPrimaryKeySelective(project); //修改用户项目关联表, - if(CollectionUtil.isNotEmpty(projectDto.getUserIdList())){ + if (CollectionUtil.isNotEmpty(projectDto.getUserIdList())) { //如果用户列表不为空,删除旧数据重新关联项目 SysUserProjectExample userProjectExample = new SysUserProjectExample(); userProjectExample.createCriteria().andProjectIdEqualTo(projectDto.getId()); List sysUserProjects = userProjectMapper.selectByExample(userProjectExample); - if(CollectionUtil.isNotEmpty(sysUserProjects)){ + if (CollectionUtil.isNotEmpty(sysUserProjects)) { sysUserProjects.forEach(userProject -> { userProject.setRecStatus((byte) 2); userProjectMapper.updateByPrimaryKeySelective(userProject); @@ -113,17 +113,17 @@ public class ProjectService implements IProjectService{ userProjectMapper.insertSelective(userProject); }); } - }else { + } else { //根据code找到模板信息 SysTemplate template; SysTemplateExample sysTemplateExample = new SysTemplateExample(); - if(projectDto.getCode() == null){ + if (projectDto.getCode() == null) { sysTemplateExample.createCriteria().andUrlEqualTo(projectDto.getUrl()); - }else { + } else { sysTemplateExample.createCriteria().andTemplateCodeEqualTo(projectDto.getCode()); } List sysTemplates = sysTemplateMapper.selectByExample(sysTemplateExample); - if(CollectionUtil.isEmpty(sysTemplates)){ + if (CollectionUtil.isEmpty(sysTemplates)) { throw new BaseException(CodeEnum.NOT_TEMPLATE); } template = sysTemplates.get(0); @@ -139,7 +139,7 @@ public class ProjectService implements IProjectService{ project.setTemplateId(template.getId()); projectListMapper.insertSelective(project); //添加项目用户关联信息 - if(CollectionUtil.isNotEmpty(projectDto.getUserIdList())){ + if (CollectionUtil.isNotEmpty(projectDto.getUserIdList())) { projectDto.getUserIdList().forEach(userId -> { SysUserProject userProject = new SysUserProject(); userProject.setId(snowflake.nextId()); @@ -160,7 +160,7 @@ public class ProjectService implements IProjectService{ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); Date startTimeParam = new Date(param.getStartTime()); Date endTimeParam = new Date(param.getEndTime()); - long dayDifference = DateUtil.betweenDay(startTimeParam, endTimeParam, false)+1; + long dayDifference = DateUtil.betweenDay(startTimeParam, endTimeParam, false) + 1; Long realStartTime = null; Long realEndTime = null; @@ -177,12 +177,12 @@ public class ProjectService implements IProjectService{ realStartTime = maxStartTime >= param.getStartTime() ? maxStartTime : param.getStartTime(); realEndTime = maxEndTime >= param.getEndTime() ? param.getEndTime() : maxEndTime; - realDifference = DateUtil.betweenDay(new Date(realStartTime),new Date(realEndTime),false)+1; + realDifference = DateUtil.betweenDay(new Date(realStartTime), new Date(realEndTime), false) + 1; GregorianCalendar calendar = new GregorianCalendar(); calendar.setTime(new Date(realStartTime)); realDateList.add(format.format(new Date(realStartTime))); for (int i = 1; i < realDifference; i++) { - calendar.add(Calendar.DATE,1); + calendar.add(Calendar.DATE, 1); Date time = calendar.getTime(); realDateList.add(format.format(time)); } @@ -193,7 +193,7 @@ public class ProjectService implements IProjectService{ List dateList = new ArrayList<>(); dateList.add(format.format(startTimeParam)); for (int i = 1; i < dayDifference; i++) { - calendar.add(Calendar.DATE,1); + calendar.add(Calendar.DATE, 1); Date time = calendar.getTime(); dateList.add(format.format(time)); } @@ -217,7 +217,7 @@ public class ProjectService implements IProjectService{ @Override public void setProjectRelation(ProjectDto.SetProjectRelation param, Long userId) { SysProjectList sonProject = projectDao.selectByProjectId(param.getId()); - if (ObjectUtil.isNull(sonProject)){ + if (ObjectUtil.isNull(sonProject)) { throw new BaseException(CodeEnum.NOT_PROJECT); } SysProjectList parentProject = projectDao.selectByProjectId(param.getParentId()); @@ -226,14 +226,14 @@ public class ProjectService implements IProjectService{ } String sonUrl = sonProject.getUrl().substring(sonProject.getUrl().lastIndexOf(TallConstant.GATEWAY) + 7); String parentUrl = parentProject.getUrl().substring(parentProject.getUrl().lastIndexOf(TallConstant.GATEWAY) + 7); - if (!sonUrl.equals(parentUrl)){ + if (!sonUrl.equals(parentUrl)) { throw new BaseException(CodeEnum.PROJECT_REGION_NO_SAME); } - String httpUrl = sonProject.getUrl()+PropUtil.queryPowerAddress; + String httpUrl = sonProject.getUrl() + PropUtil.queryPowerAddress; ProjectDto.QueryPower queryPower = new ProjectDto.QueryPower(); queryPower.setProjectId(param.getId()); queryPower.setUserId(userId); - log.info("httpURl:{}----{}",httpUrl,queryPower); + log.info("httpURl:{}----{}", httpUrl, queryPower); String postBody = RestTemplateUtil.postBody(httpUrl, queryPower); JSONObject jsonObject = JSONObject.parseObject(postBody); Integer power = jsonObject.getInteger("data"); @@ -246,7 +246,7 @@ public class ProjectService implements IProjectService{ projectListExample.createCriteria().andProjectIdEqualTo(param.getId()); SysProjectList sysProjectList = new SysProjectList(); sysProjectList.setParentProjectId(param.getParentId()); - projectListMapper.updateByExampleSelective(sysProjectList,projectListExample); + projectListMapper.updateByExampleSelective(sysProjectList, projectListExample); } @@ -265,20 +265,20 @@ public class ProjectService implements IProjectService{ userProjectExample.createCriteria().andProjectIdEqualTo(projectAndSort.getProjectId()).andUserIdEqualTo(userId); SysUserProject userProject = new SysUserProject(); userProject.setSort(projectAndSort.getSort()); - userProjectMapper.updateByExampleSelective(userProject,userProjectExample); + userProjectMapper.updateByExampleSelective(userProject, userProjectExample); } } @Override public void saveUserProject(ProjectDto.SaveUserProject saveUserProject) { - if(CollectionUtil.isNotEmpty(saveUserProject.getProjectId())){ - saveUserProject.getProjectId().forEach(pId ->{ - if(CollectionUtil.isNotEmpty(saveUserProject.getUserId())){ + if (CollectionUtil.isNotEmpty(saveUserProject.getProjectId())) { + saveUserProject.getProjectId().forEach(pId -> { + if (CollectionUtil.isNotEmpty(saveUserProject.getUserId())) { saveUserProject.getUserId().forEach(userId -> { SysUserProjectExample userProjectExample = new SysUserProjectExample(); userProjectExample.createCriteria().andUserIdEqualTo(userId).andProjectIdEqualTo(pId); List sysUserProjects = userProjectMapper.selectByExample(userProjectExample); - if (CollectionUtil.isNotEmpty(sysUserProjects)){ + if (CollectionUtil.isNotEmpty(sysUserProjects)) { return; } SysUserProject userProject = new SysUserProject(); @@ -296,27 +296,23 @@ public class ProjectService implements IProjectService{ public void deleteProject(ProjectDto.ProjectId param, Long userId) { //查找项目 SysProjectList projectList = projectDao.selectByProjectId(param.getProjectId()); - if(ObjectUtil.isNotNull(projectList)){ - projectList.setRecStatus((byte)2); + if (ObjectUtil.isNotNull(projectList)) { + projectList.setRecStatus((byte) 2); projectListMapper.updateByPrimaryKeySelective(projectList); //TODO 删除成员项目关联表 projectDao.delUserProjectByProjectId(param.getProjectId()); //调用业务系统删除项目 param.setUserId(userId); String url = projectList.getUrl() + "/project/tallDelProject"; - try { - log.info("调用业务系统的接口合并用户:{}--{}",url,param); - String postBody = RestTemplateUtil.postBody(url, param); - System.out.println(postBody); - JSONObject jsonObject = JSONObject.parseObject(postBody); - Integer code = jsonObject.getInteger("code"); - if(code == null || code != 200){ - throw new BaseException(jsonObject.getString("date")); - } - }catch (Exception e){ - log.error("接口调用异常",e); - throw new BaseException(CodeEnum.DELETE_PROJECT_ERROR); + log.info("调用业务系统的接口合并用户:{}--{}", url, param); + String postBody = RestTemplateUtil.postBody(url, param); + System.out.println(postBody); + JSONObject jsonObject = JSONObject.parseObject(postBody); + + Integer code = jsonObject.getInteger("code"); + if (code == null || code != 200) { + throw new BaseException(jsonObject.getString("msg")); } } diff --git a/signin/src/main/resources/application-prod.yml b/signin/src/main/resources/application-prod.yml index e8409410..ea11a8c5 100644 --- a/signin/src/main/resources/application-prod.yml +++ b/signin/src/main/resources/application-prod.yml @@ -11,7 +11,7 @@ spring: datasource: type: com.alibaba.druid.pool.DruidDataSource rabbitmq: - host: 121.36.3.207 + host: 127.0.0.1 password: 111111 port: 5672 username: admin @@ -32,11 +32,9 @@ swagger: enable: false eureka: instance: - # www.tall.wiki -# ip-address: 140.143.228.3 -# ip-address: 81.70.54.64 ip-address: 121.36.3.207 # ip-address: 101.201.226.21 +# ip-address: 127.0.0.1 gatewayUrl: https://www.tall.wiki/gateway/ notGatewayUrl: https://www.tall.wiki/ diff --git a/signin/src/main/resources/application.yml b/signin/src/main/resources/application.yml index b5408a3a..e75cc2c3 100644 --- a/signin/src/main/resources/application.yml +++ b/signin/src/main/resources/application.yml @@ -1,5 +1,5 @@ spring: profiles: - active: dev - include: util-dev,common + active: prod + include: util-prod,common diff --git a/signin/src/main/resources/mapper_dao/ProjectDap.xml b/signin/src/main/resources/mapper_dao/ProjectDap.xml index 0129f858..d59afa62 100644 --- a/signin/src/main/resources/mapper_dao/ProjectDap.xml +++ b/signin/src/main/resources/mapper_dao/ProjectDap.xml @@ -48,7 +48,7 @@ and u.rec_status = 0 WHERE u.id is null - ORDER BY p.sort + ORDER BY p.sort,p.startTime DESC,id DESC diff --git a/util/src/main/java/com/ccsens/util/config/ControllerExceptionHandler.java b/util/src/main/java/com/ccsens/util/config/ControllerExceptionHandler.java index 53c3aab7..458292cb 100644 --- a/util/src/main/java/com/ccsens/util/config/ControllerExceptionHandler.java +++ b/util/src/main/java/com/ccsens/util/config/ControllerExceptionHandler.java @@ -38,9 +38,9 @@ public class ControllerExceptionHandler { // } @ExceptionHandler(value = MethodArgumentNotValidException.class) - @ResponseBody - public JsonResponse validateExceptionHandlero(HttpServletRequest req, - MethodArgumentNotValidException e){ +// @ResponseBody + public void validateExceptionHandlero(HttpServletRequest req,HttpServletResponse response, + MethodArgumentNotValidException e){ BindingResult bindingResult = e.getBindingResult(); // StringBuilder errorMesssage = new StringBuilder(); // for (FieldError fieldError : bindingResult.getFieldErrors()) { @@ -51,26 +51,29 @@ public class ControllerExceptionHandler { // errorMesssage.append(bindingResult.getFieldErrors().get(0).getDefaultMessage()); // e.printStackTrace(); log.error("MethodArgumentNotValidException",e); - return JsonResponse.newInstance().fail(CodeEnum.PARAM_NULL.getCode(),bindingResult.getFieldError().getDefaultMessage()); +// return JsonResponse.newInstance().fail(CodeEnum.PARAM_NULL.getCode(),bindingResult.getFieldError().getDefaultMessage()); + responseError(response, JsonResponse.newInstance().fail(-1,e.getMessage())); } @ExceptionHandler(value = BindException.class) - @ResponseBody - public JsonResponse handleBindException(BindException e) { +// @ResponseBody + public void handleBindException(HttpServletResponse response, BindException e) { // ex.getFieldError():随机返回一个对象属性的异常信息。如果要一次性返回所有对象属性异常信息,则调用ex.getAllErrors() FieldError fieldError = e.getFieldError(); StringBuilder sb = new StringBuilder(); sb.append(fieldError.getField()).append("=[").append(fieldError.getRejectedValue()).append("]") .append(fieldError.getDefaultMessage()); log.error("BindException", e); - return JsonResponse.newInstance().fail(-11,sb.toString()); + responseError(response, JsonResponse.newInstance().fail(-1,e.getMessage())); +// return JsonResponse.newInstance().fail(-11,sb.toString()); } @ExceptionHandler(value = HttpMessageNotReadableException.class) - @ResponseBody - public JsonResponse handleHttpMessageNotReadableException(HttpMessageNotReadableException e) { +// @ResponseBody + public void handleHttpMessageNotReadableException(HttpServletResponse response, HttpMessageNotReadableException e) { log.error("HttpMessageNotReadableException", e); - return JsonResponse.newInstance().fail(-12,e.getMessage()); +// return JsonResponse.newInstance().fail(-12,e.getMessage()); + responseError(response, JsonResponse.newInstance().fail(-1,e.getMessage())); } @ExceptionHandler(value = BaseException.class) @@ -83,18 +86,24 @@ public class ControllerExceptionHandler { } else { ok = JsonResponse.newInstance().fail(e.getCode(),e.getMessage()); } + responseError(response, ok); + + } + + private void responseError(HttpServletResponse response, JsonResponse ok) { try { HttpServletUtil.responseJson(response, JacksonUtil.beanToJson(ok)); } catch (Exception e1) { - log.error("返回异常出错:", e); + log.error("返回异常出错:", e1); } } @ExceptionHandler(value = Exception.class) - @ResponseBody - public JsonResponse jsonExceptionHandler(HttpServletRequest req, Exception e) { +// @ResponseBody + public void jsonExceptionHandler(HttpServletRequest req, HttpServletResponse response, Exception e) { log.error("Exception",e); - return JsonResponse.newInstance().fail(-1,e.getMessage()); + responseError(response, JsonResponse.newInstance().fail(-1,e.getMessage())); +// return JsonResponse.newInstance().fail(-1,e.getMessage()); } } \ No newline at end of file diff --git a/util/src/main/java/com/ccsens/util/wx/WxXcxUtil.java b/util/src/main/java/com/ccsens/util/wx/WxXcxUtil.java index 1cecbe6f..e6f717b2 100644 --- a/util/src/main/java/com/ccsens/util/wx/WxXcxUtil.java +++ b/util/src/main/java/com/ccsens/util/wx/WxXcxUtil.java @@ -185,6 +185,9 @@ public class WxXcxUtil { // 燕园小程序 private static final String APPID_YANYUAN = "wx733e229f00dc5c6f"; private static final String SECRET_YANYUAN = "9aa0a81973cc5f13c02548b5244accc2"; + //物联网 FIOT + private static final String APP_KEY_FIOT = "mEulfDBBOFeOjGavy"; + private static final String APP_SECRET_FIOT = "FaFKWiwVUWbJmfxVnSdd"; private static final String mchid = ""; private static final String key = ""; @@ -208,6 +211,8 @@ public class WxXcxUtil { return appid_basic_car; case "yanyuan": return APPID_YANYUAN; + case "FIOT": + return APP_KEY_FIOT; default: return appid; } @@ -231,6 +236,8 @@ public class WxXcxUtil { return secret_basic_car; case "yanyuan": return SECRET_YANYUAN; + case "FIOT": + return APP_SECRET_FIOT; default: return secret; }