Browse Source

Merge branch 'yanyuan' of dd.tall.wiki:ccsens_wiki/ccsenscloud into yanyuan

yanyuan
zhizhi wu 4 years ago
parent
commit
22ace81d2b
  1. 1
      cloudutil/src/main/resources/application-util-prod.yml
  2. 32
      signin/src/main/java/com/ccsens/signin/api/UserController.java
  3. 72
      signin/src/main/java/com/ccsens/signin/service/ProjectService.java
  4. 6
      signin/src/main/resources/application-prod.yml
  5. 4
      signin/src/main/resources/application.yml
  6. 2
      signin/src/main/resources/mapper_dao/ProjectDap.xml
  7. 37
      util/src/main/java/com/ccsens/util/config/ControllerExceptionHandler.java
  8. 7
      util/src/main/java/com/ccsens/util/wx/WxXcxUtil.java

1
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

32
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<UserVo.TokenToUserId> 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();

72
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<ProjectVo.QueryProject> 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<SysProjectList> 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<SysUserProject> 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<SysTemplate> 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<String> 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<SysUserProject> 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"));
}
}

6
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/

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

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

2
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
</select>

37
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());
}
}

7
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;
}

Loading…
Cancel
Save