Browse Source

Merge branch 'dev_0814' of http://121.42.41.42:7070/r/esua-epdc-cloud into dev_0814

dev
管理员 6 years ago
parent
commit
f8dcfb6254
  1. 10
      esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/service/impl/AuthServiceImpl.java
  2. 1
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/exception/ErrorCode.java
  3. 124
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/UploadImageUtils.java
  4. 3
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/resources/i18n/messages_common_en_US.properties
  5. 3
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/resources/i18n/messages_common_zh_CN.properties
  6. 3
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/resources/i18n/messages_common_zh_TW.properties
  7. 2
      esua-epdc/epdc-commons/epdc-wx/src/main/java/com/elink/esua/epdc/wx/mp/config/WxMaProperties.java
  8. 38
      esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/form/UploadImageFormDTO.java
  9. 27
      esua-epdc/epdc-module/epdc-api/epdc-api-server/pom.xml
  10. 4
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiCommentController.java
  11. 37
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiIssueController.java
  12. 27
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiItemController.java
  13. 67
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiLoginController.java
  14. 34
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiMessageController.java
  15. 21
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiNewsController.java
  16. 67
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiRegisterController.java
  17. 25
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/dao/TokenDao.java
  18. 25
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/dao/UserDao.java
  19. 18
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/ItemFeignClient.java
  20. 28
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/MessageFeignClient.java
  21. 43
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/NewsFeignClient.java
  22. 16
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/OssFeignClient.java
  23. 13
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/ItemFeignClientFallback.java
  24. 22
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/MessageFeignClientFallback.java
  25. 14
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/NewsFeignClientFallback.java
  26. 7
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/OssFeignClientFallback.java
  27. 12
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/IssueService.java
  28. 14
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/ItemService.java
  29. 20
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/MessageService.java
  30. 32
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/NewsService.java
  31. 36
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/TokenService.java
  32. 38
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/UserService.java
  33. 4
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java
  34. 24
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/IssueServiceImpl.java
  35. 18
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/ItemServiceImpl.java
  36. 32
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/MessageServiceImpl.java
  37. 20
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java
  38. 94
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/TokenServiceImpl.java
  39. 91
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java
  40. 11
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/application.yml
  41. 14
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/mapper/TokenDao.xml
  42. 13
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/mapper/UserDao.xml
  43. 3
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/form/IssueCategoryStatisticsFormDTO.java
  44. 4
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/form/IssueFormDTO.java
  45. 2
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/form/IssueWaitHandleSubmitFormDTO.java
  46. 2
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/IssueCategoryStatisticsResultDTO.java
  47. 58
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/ItemPendingHandleDTO.java
  48. 29
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/EvaluationFormDTO.java
  49. 28
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/ItemCategoryStatisticsFormDTO.java
  50. 4
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/ItemFormDTO.java
  51. 32
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/ItemCategoryStatisticsResultDTO.java
  52. 11
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/dao/EpdcEventsDao.java
  53. 11
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/EpdcEventsService.java
  54. 8
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java
  55. 9
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueDao.java
  56. 16
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java
  57. 27
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/EpdcAppItemController.java
  58. 7
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemController.java
  59. 22
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDao.java
  60. 4
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/entity/ItemEntity.java
  61. 25
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java
  62. 37
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java
  63. 3
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/comment/EventCommentDao.xml
  64. 25
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/events/EpdcEventsDao.xml
  65. 68
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml
  66. 99
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml
  67. 2
      esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/controller/SmsController.java
  68. 5
      esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/BannerDTO.java
  69. 26
      esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcBannerListFromDTO.java
  70. 25
      esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcNewsDetailFormDTO.java
  71. 28
      esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/EpdcIFristInfoResultDTO.java
  72. 32
      esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/EpdcNewsDetailResultDTO.java
  73. 15
      esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/EpdcNewsListResultDTO.java
  74. 18
      esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/enums/AppNewsLikeEnum.java
  75. 6
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppInformationController.java
  76. 17
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppNewsController.java
  77. 5
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/BannerDao.java
  78. 10
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/InformationDao.java
  79. 28
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/NewsDao.java
  80. 5
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/entity/BannerEntity.java
  81. 5
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/BannerService.java
  82. 10
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/InformationService.java
  83. 26
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NewsService.java
  84. 8
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/BannerServiceImpl.java
  85. 6
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/InformationServiceImpl.java
  86. 17
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java
  87. 2
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/BannerDao.xml
  88. 16
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/InformationDao.xml
  89. 48
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NewsDao.xml
  90. 16
      esua-epdc/epdc-module/epdc-oss/epdc-oss-client/src/main/java/com/elink/esua/epdc/dto/UploadFormDTO.java
  91. 19
      esua-epdc/epdc-module/epdc-oss/epdc-oss-server/src/main/java/com/elink/esua/epdc/controller/OssController.java
  92. 14
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/UserDTO.java
  93. 12
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcUserRegistFormDTO.java
  94. 19
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/EpdcUserInfoResultDTO.java
  95. 12
      esua-epdc/epdc-module/epdc-user/epdc-user-server/pom.xml
  96. 45
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/config/WxMpConfig.java
  97. 26
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/config/property/WxMpProperties.java
  98. 8
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserDao.java
  99. 14
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/entity/UserEntity.java
  100. 43
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/jwt/JwtProperties.java

10
esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/service/impl/AuthServiceImpl.java

@ -10,6 +10,7 @@ package com.elink.esua.epdc.service.impl;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.common.token.util.CpUserDetailRedis;
import com.elink.esua.epdc.commons.tools.constant.Constant;
import com.elink.esua.epdc.commons.tools.exception.ErrorCode;
import com.elink.esua.epdc.commons.tools.exception.RenException;
import com.elink.esua.epdc.commons.tools.log.SysLogLogin;
@ -155,10 +156,13 @@ public class AuthServiceImpl implements AuthService {
if (claims == null || jwtUtils.isTokenExpired(claims.getExpiration())) {
throw new RenException(ErrorCode.UNAUTHORIZED);
}
//获取用户ID
String userId = claims.getSubject();
String userId;
try {
userId = claims.getSubject();
} catch (Exception e) {
throw new RenException(ErrorCode.PARSING_ERROR, Constant.TOKEN_HEADER);
}
//查询Redis,如果没数据,则保持用户信息到Redis
TokenDto cpUserDetail = cpUserDetailRedis.get(userId);
if (cpUserDetail != null) {

1
esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/exception/ErrorCode.java

@ -38,5 +38,6 @@ public interface ErrorCode {
int DEPT_SUB_DELETE_ERROR = 10014;
int DEPT_USER_DELETE_ERROR = 10015;
int JSON_FORMAT_ERROR = 10016;
int PARSING_ERROR = 10017;
}

124
esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/UploadImageUtils.java

@ -0,0 +1,124 @@
package com.elink.esua.epdc.commons.tools.utils;
import cn.hutool.http.HttpResponse;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang3.StringUtils;
import org.springframework.http.HttpEntity;
import sun.net.www.http.HttpClient;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Map;
/**
* @Author LC
* @Date 2019/9/11 14:53
*/
public class UploadImageUtils {
/**
* 从微信下载图片
* @Params: [params]
* @Return: java.lang.String
* @Author: liuchuang
* @Date: 2019/9/11 17:04
*/
public static String downloadImageFromWx(Map<String, String> params) throws Exception {
InputStream inputStream = getMediaStream(params.get("accessTokenUrl"), params.get("mediaUrl"), params.get("mediaId"), params.get("appid"), params.get("secret"));
if (null == inputStream) {
return null;
}
byte[] data = null;
ByteArrayOutputStream swapStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
while((len = inputStream.read(buffer, 0, 1024)) != -1){
swapStream.write(buffer, 0, len);
}
data = swapStream.toByteArray();
String base64 = "data:image/png;base64,"+Base64.encodeBase64String(data);
return base64;
}
/**
* 获取临时素材
*/
private static InputStream getMediaStream(String accessTokenUrl, String mediaUrl, String mediaId, String appid, String secret)throws IOException {
String access_token = getAccessToken(accessTokenUrl, appid, secret);
String params = "access_token=" + access_token + "&media_id=" + mediaId;
InputStream is = null;
try {
String urlNameString = mediaUrl + "?" + params;
URL urlGet = new URL(urlNameString);
HttpURLConnection http = (HttpURLConnection) urlGet.openConnection();
http.setRequestMethod("GET"); // 必须是get方式请求
http.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
http.setDoOutput(true);
http.setDoInput(true);
http.connect();
if (!http.getContentType().contains("image")) {
return null;
}
// 获取文件转化为byte流
is = http.getInputStream();
} catch (Exception e) {
e.printStackTrace();
}
return is;
}
/**
* 获取微信Jsapi的accessToken
* 这里获取的获取微信Jsapi的accessToken跟小程序以及其他的不一样
*/
public static String getAccessToken(String accessTokenUrl, String appId, String secret) {
accessTokenUrl = accessTokenUrl.replace("APPID", appId).replace("APPSECRET", secret);
JSONObject jsonObj = doHttpGet(accessTokenUrl);
String accessToken = jsonObj.getString("access_token");
return accessToken;
}
/**
* 发送GET请求
* @Params: [requestUrl, params]
* @Return: java.lang.String
* @Author: liuchuang
* @Date: 2019/8/5 14:25
*/
public static JSONObject doHttpGet(String requestUrl) {
JSONObject jsonObj = null;
// buffer用于接受返回的字符
StringBuffer buffer = new StringBuffer();
try {
// 建立URL,把请求地址给补全,其中urlEncode()方法用于把params里的参数给取出来
URL url = new URL(requestUrl);
// 打开http连接
HttpURLConnection httpUrlConn = (HttpURLConnection) url.openConnection();
httpUrlConn.setDoInput(true);
httpUrlConn.setRequestMethod("GET");
httpUrlConn.connect();
// 获得输入
InputStream inputStream = httpUrlConn.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "UTF-8");
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
// 将bufferReader的值给放到buffer里
String str = null;
while ((str = bufferedReader.readLine()) != null) {
buffer.append(str);
}
// 关闭bufferReader和输入流
bufferedReader.close();
inputStreamReader.close();
inputStream.close();
// 断开连接
httpUrlConn.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
jsonObj = JSONObject.parseObject(buffer.toString());
return jsonObj;
}
}

3
esua-epdc/epdc-commons/epdc-commons-tools/src/main/resources/i18n/messages_common_en_US.properties

@ -17,4 +17,5 @@
10013=Data permission interface, which can only be a Map type parameter
10014=Please delete the subordinate department first
10015=Please delete the user under the department first
10016=The parameter format is incorrect. Please use JSON format.
10016=The parameter format is incorrect. Please use JSON format.
10017=Parsing {0} error

3
esua-epdc/epdc-commons/epdc-commons-tools/src/main/resources/i18n/messages_common_zh_CN.properties

@ -17,4 +17,5 @@
10013=\u6570\u636E\u6743\u9650\u63A5\u53E3\uFF0C\u53EA\u80FD\u662FMap\u7C7B\u578B\u53C2\u6570
10014=\u8BF7\u5148\u5220\u9664\u4E0B\u7EA7\u90E8\u95E8
10015=\u8BF7\u5148\u5220\u9664\u90E8\u95E8\u4E0B\u7684\u7528\u6237
10016=\u53C2\u6570\u683C\u5F0F\u4E0D\u6B63\u786E\uFF0C\u8BF7\u4F7F\u7528JSON\u683C\u5F0F
10016=\u53C2\u6570\u683C\u5F0F\u4E0D\u6B63\u786E\uFF0C\u8BF7\u4F7F\u7528JSON\u683C\u5F0F
10017=\u89E3\u6790{0}\u51FA\u9519

3
esua-epdc/epdc-commons/epdc-commons-tools/src/main/resources/i18n/messages_common_zh_TW.properties

@ -17,4 +17,5 @@
10013=\u6578\u64DA\u6B0A\u9650\u63A5\u53E3\uFF0C\u53EA\u80FD\u662FMap\u985E\u578B\u53C3\u6578
10014=\u8ACB\u5148\u522A\u9664\u4E0B\u7D1A\u90E8\u9580
10015=\u8ACB\u5148\u522A\u9664\u90E8\u9580\u4E0B\u7684\u7528\u6236
10016=\u53C3\u6578\u683C\u5F0F\u4E0D\u6B63\u78BA\uFF0C\u8ACB\u4F7F\u7528JSON\u683C\u5F0F
10016=\u53C3\u6578\u683C\u5F0F\u4E0D\u6B63\u78BA\uFF0C\u8ACB\u4F7F\u7528JSON\u683C\u5F0F
10017=\u89E3\u6790{0}\u51FA\u932F

2
esua-epdc/epdc-commons/epdc-wx/src/main/java/com/elink/esua/epdc/wx/mp/config/WxMaProperties.java

@ -10,7 +10,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
* @Date 19-5-13
*/
@Data
@ConfigurationProperties(prefix = "wx.miniapp")
@ConfigurationProperties(prefix = "wx.ma")
public class WxMaProperties {
/**

38
esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/form/UploadImageFormDTO.java

@ -0,0 +1,38 @@
package com.elink.esua.epdc.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 图片上传Form DTO
* @Author LC
* @Date 2019/9/11 16:27
*/
@Data
public class UploadImageFormDTO implements Serializable {
private static final long serialVersionUID = -4670602967272919640L;
/**
* 文件标识
*/
@NotBlank(message = "文件标识不能为空")
private String mediaId;
/**
* 获取accessToken地址
*/
private String accessTokenUrl;
/**
* 下载文件地址
*/
private String mediaUrl;
/**
* appid
*/
private String appid;
/**
* secret
*/
private String secret;
}

27
esua-epdc/epdc-module/epdc-api/epdc-api-server/pom.xml

@ -125,11 +125,14 @@
<nacos.register-enabled>false</nacos.register-enabled>
<nacos.server-addr>47.104.224.45:8848</nacos.server-addr>
<wx.mp.configs.appId>wx6ff4e50840cf7dfc</wx.mp.configs.appId>
<wx.mp.configs.secret>caf82e454ae4e2cb9697651194c37784</wx.mp.configs.secret>
<!--公众号配置-->
<wx.mp.configs.appId>wx3ef8f2cd12a19fcb</wx.mp.configs.appId>
<wx.mp.configs.secret>948aa2f21dbaa3943288ea5b119ac6f2</wx.mp.configs.secret>
<wx.mp.configs.token>111</wx.mp.configs.token>
<wx.mp.configs.aesKey>111</wx.mp.configs.aesKey>
<!--小程序配置-->
<wx.ma.appId>wxdd8530c5f4926766</wx.ma.appId>
<wx.ma.secret>5bf4fb813145431b3493a10aa7e041e9</wx.ma.secret>
</properties>
</profile>
@ -153,11 +156,14 @@
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>47.104.224.45:8848</nacos.server-addr>
<wx.mp.configs.appId>wx6ff4e50840cf7dfc</wx.mp.configs.appId>
<wx.mp.configs.secret>caf82e454ae4e2cb9697651194c37784</wx.mp.configs.secret>
<!--公众号配置-->
<wx.mp.configs.appId>wx3ef8f2cd12a19fcb</wx.mp.configs.appId>
<wx.mp.configs.secret>948aa2f21dbaa3943288ea5b119ac6f2</wx.mp.configs.secret>
<wx.mp.configs.token>111</wx.mp.configs.token>
<wx.mp.configs.aesKey>111</wx.mp.configs.aesKey>
<!--小程序配置-->
<wx.ma.appId>wxdd8530c5f4926766</wx.ma.appId>
<wx.ma.secret>5bf4fb813145431b3493a10aa7e041e9</wx.ma.secret>
</properties>
</profile>
@ -181,11 +187,14 @@
<nacos.register-enabled>false</nacos.register-enabled>
<nacos.server-addr>47.104.224.45:8848</nacos.server-addr>
<wx.mp.configs.appId>wx62aba559696345af</wx.mp.configs.appId>
<wx.mp.configs.secret>a93c3dd28ce34fb96228830141e51549</wx.mp.configs.secret>
<!--公众号配置-->
<wx.mp.configs.appId>wx3ef8f2cd12a19fcb</wx.mp.configs.appId>
<wx.mp.configs.secret>948aa2f21dbaa3943288ea5b119ac6f2</wx.mp.configs.secret>
<wx.mp.configs.token>111</wx.mp.configs.token>
<wx.mp.configs.aesKey>111</wx.mp.configs.aesKey>
<!--小程序配置-->
<wx.ma.appId>wxdd8530c5f4926766</wx.ma.appId>
<wx.ma.secret>5bf4fb813145431b3493a10aa7e041e9</wx.ma.secret>
</properties>
</profile>
</profiles>

4
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiCommentController.java

@ -30,7 +30,7 @@ public class ApiCommentController {
* @return
*/
@PostMapping("submit")
public Result submit(@LoginUser TokenDto userDetail, CommentFormDTO commentFormDTO) {
public Result submit(@LoginUser TokenDto userDetail, @RequestBody CommentFormDTO commentFormDTO) {
return commentService.submit(userDetail,commentFormDTO);
}
@ -38,7 +38,7 @@ public class ApiCommentController {
* 评论/
*/
@PostMapping("statement")
public Result statement(@LoginUser TokenDto userDetail, CommentStatementFormDTO commentStatementFormDTO) {
public Result statement(@LoginUser TokenDto userDetail, @RequestBody CommentStatementFormDTO commentStatementFormDTO) {
return commentService.statement(userDetail,commentStatementFormDTO);
}
/**

37
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiIssueController.java

@ -3,7 +3,6 @@ package com.elink.esua.epdc.controller;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.annotation.LoginUser;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.UploadDTO;
import com.elink.esua.epdc.dto.events.form.EpdcEventSubmitFormDTO;
import com.elink.esua.epdc.dto.issue.form.IssueFormDTO;
import com.elink.esua.epdc.dto.issue.form.StatementFormDTO;
@ -12,11 +11,13 @@ import com.elink.esua.epdc.dto.issue.result.IssueDetailResultDTO;
import com.elink.esua.epdc.dto.issue.result.IssueHandleProgressResultDTO;
import com.elink.esua.epdc.dto.issue.result.IssueResultDTO;
import com.elink.esua.epdc.service.IssueService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
import java.util.Map;
/**
* 移动端接口-议题模块
@ -30,6 +31,18 @@ public class ApiIssueController {
@Autowired
private IssueService issueService;
@Value("${wx.cgiBin.accessTokenUrl}")
private String accessTokenUrl;
@Value("${wx.cgiBin.mediaUrl}")
private String mediaUrl;
@Value("${wx.cgiBin.appId}")
private String appId;
@Value("${wx.cgiBin.secret}")
private String secret;
/**
* 发布事件
* @Params: [userDetail, formDto]
@ -55,15 +68,23 @@ public class ApiIssueController {
}
/**
* 文件上传
* @Params: [file]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.UploadDTO>
* 图片上传
* @Params: [params]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<java.lang.String>
* @Author: liuchuang
* @Date: 2019/9/8 18:34
* @Date: 2019/9/11 17:16
*/
@PostMapping("upload")
public Result<UploadDTO> upload(@RequestParam("file") MultipartFile file) {
return issueService.upload(file);
public Result<String> upload(@RequestBody Map<String, String> params) {
if (StringUtils.isEmpty(params.get("mediaId"))) {
return new Result<String>().error("文件标识不能为空");
}
System.out.println(params.get("mediaId"));
params.put("accessTokenUrl", accessTokenUrl);
params.put("mediaUrl", mediaUrl);
params.put("appid", appId);
params.put("secret", secret);
return issueService.upload(params);
}

27
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiItemController.java

@ -3,15 +3,14 @@ package com.elink.esua.epdc.controller;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.annotation.LoginUser;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.item.form.EvaluationFormDTO;
import com.elink.esua.epdc.dto.item.form.ItemFormDTO;
import com.elink.esua.epdc.dto.item.result.ItemCategoryStatisticsResultDTO;
import com.elink.esua.epdc.dto.item.result.ItemDetailResultDTO;
import com.elink.esua.epdc.dto.item.result.ItemResultDTO;
import com.elink.esua.epdc.service.ItemService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@ -35,7 +34,7 @@ public class ApiItemController {
* @Date: 2019/9/9 16:34
*/
@GetMapping("list")
public Result<List<ItemResultDTO>> listItems(@LoginUser TokenDto userDetail, ItemFormDTO formDto) {
public Result<List<ItemResultDTO>> listItems(@LoginUser TokenDto userDetail, @RequestBody ItemFormDTO formDto) {
return itemService.listItems(userDetail, formDto);
}
@ -50,4 +49,22 @@ public class ApiItemController {
public Result<ItemDetailResultDTO> itemDetail(@LoginUser TokenDto userDetail, @PathVariable String itemId) {
return itemService.getItemDetail(userDetail, itemId);
}
@PostMapping("evaluation")
public Result evaluation(@LoginUser TokenDto userDetail, EvaluationFormDTO evaluationFormDTO) {
return itemService.evaluation(userDetail,evaluationFormDTO);
}
/**
* 项目分类统计
* @Params: [userDetail, categoryId]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.item.result.ItemCategoryStatisticsResultDTO>
* @Author: liuchuang
* @Date: 2019/9/12 13:26
*/
@GetMapping("statistics/{categoryId}")
public Result<ItemCategoryStatisticsResultDTO> issueCategoryStatistics(@LoginUser TokenDto userDetail, @PathVariable String categoryId) {
return itemService.getItemCategoryStatistics(userDetail, categoryId);
}
}

67
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiLoginController.java

@ -1,67 +0,0 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
* <p>
* https://www.renren.io
* <p>
* 版权所有侵权必究
*/
package com.elink.esua.epdc.controller;
import com.elink.esua.epdc.common.token.annotation.Login;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.dto.LoginDTO;
import com.elink.esua.epdc.service.TokenService;
import com.elink.esua.epdc.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
/**
* 登录接口
*
* @author Mark sunlightcs@gmail.com
*/
@RestController
@RequestMapping("auth")
public class ApiLoginController {
@Autowired
private UserService userService;
@Autowired
private TokenService tokenService;
/**
* 登录
*
* @param dto
* @return
*/
@PostMapping("login")
public Result<Map<String, Object>> login(@RequestBody LoginDTO dto) {
//表单校验
ValidatorUtils.validateEntity(dto);
//用户登录
Map<String, Object> map = userService.login(dto);
return new Result().ok(map);
}
/**
* 退出
*
* @param userId
* @return
*/
@Login
@PostMapping("logout")
public Result logout(@RequestAttribute("userId") Long userId) {
tokenService.expireToken(userId);
return new Result();
}
}

34
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiMessageController.java

@ -0,0 +1,34 @@
package com.elink.esua.epdc.controller;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.service.MessageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author yujintao
* @email yujintao@elink-cn.com
* @date 2019/9/11 20:56
*/
@RestController
@RequestMapping("message")
public class ApiMessageController {
@Autowired
private MessageService messageService;
/**
* 发送短信验证码
*
* @param mobile
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author yujintao
* @date 2019/9/11 21:03
*/
@GetMapping("sms/sendCode")
public Result sendSmsCode(String mobile) {
return messageService.sendSmsCode(mobile);
}
}

21
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiNewsController.java

@ -91,8 +91,8 @@ public class ApiNewsController {
*
*/
@GetMapping("news/detail/{newsId}")
public Result<EpdcNewsDetailResultDTO> getNewsDetail(@PathVariable("newsId") String id) {
Result<EpdcNewsDetailResultDTO> newsDetail = newsService.getNewsDetail(id);
public Result<EpdcNewsDetailResultDTO> getNewsDetail(@PathVariable("newsId") String id, @LoginUser TokenDto userDetail) {
Result<EpdcNewsDetailResultDTO> newsDetail = newsService.getNewsDetail(id, userDetail.getUserId());
return newsDetail;
}
@ -107,8 +107,7 @@ public class ApiNewsController {
*/
@PostMapping("news/statement")
public Result upDateStatement(@LoginUser TokenDto userDetail, @RequestBody EpdcNewsStatementFromDTO newsStatementFromDTO) {
ValidatorUtils.validateEntity(newsStatementFromDTO);
return newsService.upDateStatement(userDetail, newsStatementFromDTO);
return newsService.updateStatement(userDetail, newsStatementFromDTO);
}
/***
@ -149,19 +148,25 @@ public class ApiNewsController {
* @date 2019/9/10 17:05
*/
@GetMapping("information/listByUserId")
public Result<List<EpdcInformationListResultDTO>> listInformationByUserId(@LoginUser TokenDto userDetail, @RequestBody EpdcInformationListFormDTO formDto) {
public Result<List<EpdcInformationListResultDTO>> listInformationByUserId(@LoginUser TokenDto userDetail, EpdcInformationListFormDTO formDto) {
return newsService.listInformationByUserId(userDetail, formDto);
}
/***
* banner 列表
* @param userDetail
* @param
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.epdc.result.EpdcInformationListResultDTO>>
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcInformationListResultDTO>>
* @author qushutong
* @date 2019/9/11 9:21
*/
@GetMapping("banner/list")
public Result<List<EpdcBannerListResultDTO>> listBanner(@LoginUser TokenDto userDetail) {
return newsService.listBanner(userDetail);
public Result<List<EpdcBannerListResultDTO>> listBanner(EpdcBannerListFromDTO fromDTO, @LoginUser TokenDto userDetail) {
return newsService.listBanner(fromDTO, userDetail);
}
@PostMapping("information/first")
public Result<EpdcIFristInfoResultDTO> selectOneFristByUserId(@LoginUser TokenDto userDetail) {
return newsService.selectOneFristByUserId(userDetail);
}
}

67
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiRegisterController.java

@ -1,67 +0,0 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
* <p>
* https://www.renren.io
* <p>
* 版权所有侵权必究
*/
package com.elink.esua.epdc.controller;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.dto.RegisterDTO;
import com.elink.esua.epdc.entity.UserEntity;
import com.elink.esua.epdc.service.UserService;
import org.apache.commons.codec.digest.DigestUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Date;
/**
* 注册接口
*
* @author Mark sunlightcs@gmail.com
*/
@RestController
@RequestMapping("register")
public class ApiRegisterController {
@Autowired
private UserService userService;
/**
* 注册
*
* @param dto
* @return
*/
@PostMapping
public Result register(@RequestBody RegisterDTO dto) {
//表单校验
ValidatorUtils.validateEntity(dto);
UserEntity user = new UserEntity();
user.setMobile(dto.getMobile());
user.setUsername(dto.getMobile());
user.setPassword(DigestUtils.sha256Hex(dto.getPassword()));
user.setCreateDate(new Date());
userService.insert(user);
return new Result();
}
/**
* 注册
*
* @param dto
* @return
*/
@PostMapping("register2")
public Result register2(@RequestBody RegisterDTO dto) {
return userService.register2(dto);
}
}

25
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/dao/TokenDao.java

@ -1,25 +0,0 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.entity.TokenEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 用户Token
*
* @author Mark sunlightcs@gmail.com
*/
@Mapper
public interface TokenDao extends BaseDao<TokenEntity> {
TokenEntity getByToken(String token);
TokenEntity getByUserId(Long userId);
}

25
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/dao/UserDao.java

@ -1,25 +0,0 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.entity.UserEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 用户
*
* @author Mark sunlightcs@gmail.com
*/
@Mapper
public interface UserDao extends BaseDao<UserEntity> {
UserEntity getUserByMobile(String mobile);
UserEntity getUserByUserId(Long userId);
}

18
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/ItemFeignClient.java

@ -2,14 +2,18 @@ package com.elink.esua.epdc.feign;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.item.form.ItemCategoryStatisticsFormDTO;
import com.elink.esua.epdc.dto.item.form.EvaluationFormDTO;
import com.elink.esua.epdc.dto.item.form.ItemDetailFormDTO;
import com.elink.esua.epdc.dto.item.form.ItemFormDTO;
import com.elink.esua.epdc.dto.item.result.ItemCategoryStatisticsResultDTO;
import com.elink.esua.epdc.dto.item.result.ItemDetailResultDTO;
import com.elink.esua.epdc.dto.item.result.ItemResultDTO;
import com.elink.esua.epdc.feign.fallback.ItemFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import java.util.List;
@ -40,4 +44,18 @@ public interface ItemFeignClient {
*/
@GetMapping(value = "events/epdc-app/item/detail", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<ItemDetailResultDTO> getItemDetail(ItemDetailFormDTO formDto);
@PostMapping(value = "events/epdc-app/item/evaluation", consumes = MediaType.APPLICATION_JSON_VALUE)
Result evaluation(EvaluationFormDTO evaluationFormDTO);
/**
* 项目分类统计
* @Params: [formDto]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.item.result.ItemCategoryStatisticsResultDTO>
* @Author: liuchuang
* @Date: 2019/9/12 13:29
*/
@GetMapping(value = "events/epdc-app/item/statistics", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<ItemCategoryStatisticsResultDTO> itemCategoryStatistics(ItemCategoryStatisticsFormDTO formDto);
}

28
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/MessageFeignClient.java

@ -0,0 +1,28 @@
package com.elink.esua.epdc.feign;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.feign.fallback.MessageFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
/**
* 文件对象模块
*
* @Author LC
* @Date 2019/9/8 18:24
*/
@FeignClient(name = ServiceConstant.EPDC_MESSAGE_SERVER, fallback = MessageFeignClientFallback.class)
public interface MessageFeignClient {
/**
* 发送短信验证码
*
* @param mobile
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author yujintao
* @date 2019/9/11 20:59
*/
@GetMapping(value = "message/sms/sendCode")
Result sendCode(String mobile);
}

43
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/NewsFeignClient.java

@ -1,5 +1,6 @@
package com.elink.esua.epdc.feign;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.epdc.form.*;
@ -25,7 +26,7 @@ public interface NewsFeignClient {
* 获取通知列表
*
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcNoticeListResultDTO>>
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcNoticeListResultDTO>>
* @author yujintao
* @date 2019/9/5 20:07
*/
@ -60,24 +61,23 @@ public interface NewsFeignClient {
* @Author qushutong
* @Date 2019/9/9 9:17
* @Param [formDto]
* @Return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcNewsListResultDTO>>
* @Return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcNewsListResultDTO>>
* @Exception
*
*/
@GetMapping(value = "news/epdc-app/news/listNews", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<EpdcNewsListResultDTO>> listNews(@RequestBody EpdcNewsListFromDTO formDto);
/***
* @Description 获取详情
* @Author qushutong
* @Date 2019/9/9 10:20
* @Param id
* @Return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcNewsDetailResultDTO>
* @Exception
/**
* 移动端获取新闻详情
*
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcNewsDetailResultDTO>
* @author yujintao
* @date 2019/9/12 10:46
*/
@GetMapping("news/epdc-app/news/detail/{newsId}")
Result<EpdcNewsDetailResultDTO> getNewsDetail(@PathVariable("newsId") String id);
@GetMapping(value = "news/epdc-app/news/detail", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<EpdcNewsDetailResultDTO> getNewsDetail(EpdcNewsDetailFormDTO formDto);
/***
* @Description 点赞和踩
@ -129,7 +129,7 @@ public interface NewsFeignClient {
* 移动端用户消息列表
*
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcInformationListResultDTO>>
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcInformationListResultDTO>>
* @author yujintao
* @date 2019/9/10 17:09
*/
@ -138,11 +138,24 @@ public interface NewsFeignClient {
/***
* 移动端banner列表
* @param deptId
* @param fromDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcBannerListResultDTO>>
* @author qushutong
* @date 2019/9/11 9:25
*/
@GetMapping(value = "news/epdc-app/news/list/{deptId}", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<EpdcBannerListResultDTO>> listBanner(@PathVariable("deptId") Long deptId);
@GetMapping(value = "news/epdc-app/news/list", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<EpdcBannerListResultDTO>> listBanner(@RequestBody EpdcBannerListFromDTO fromDTO);
/***
* 获取第一条通知消息
* @param userId
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcIFristInfoResultDTO>
* @author qushutong
* @date 2019/9/11 19:20
*/
@PostMapping(value = "news/epdc-app/information/first/{userId}", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<EpdcIFristInfoResultDTO> selectOneFristByUserId(@PathVariable String userId);
}

16
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/OssFeignClient.java

@ -2,13 +2,10 @@ package com.elink.esua.epdc.feign;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.UploadDTO;
import com.elink.esua.epdc.dto.UploadFormDTO;
import com.elink.esua.epdc.feign.fallback.OssFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.multipart.MultipartFile;
/**
* 文件对象模块
@ -18,6 +15,13 @@ import org.springframework.web.multipart.MultipartFile;
@FeignClient(name = ServiceConstant.EPDC_OSS_SERVER, fallback = OssFeignClientFallback.class)
public interface OssFeignClient {
@PostMapping(value = "oss/file/upload", produces = MediaType.APPLICATION_JSON_UTF8_VALUE, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
Result<UploadDTO> upload(@RequestPart("file") MultipartFile file);
/**
* 图片上传
* @Params: [base64]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<java.lang.String>
* @Author: liuchuang
* @Date: 2019/9/11 17:17
*/
@PostMapping(value = "oss/file/uploadBase64")
Result<String> upload(UploadFormDTO formDTO);
}

13
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/ItemFeignClientFallback.java

@ -3,8 +3,11 @@ package com.elink.esua.epdc.feign.fallback;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.item.form.EvaluationFormDTO;
import com.elink.esua.epdc.dto.item.form.ItemCategoryStatisticsFormDTO;
import com.elink.esua.epdc.dto.item.form.ItemDetailFormDTO;
import com.elink.esua.epdc.dto.item.form.ItemFormDTO;
import com.elink.esua.epdc.dto.item.result.ItemCategoryStatisticsResultDTO;
import com.elink.esua.epdc.dto.item.result.ItemDetailResultDTO;
import com.elink.esua.epdc.dto.item.result.ItemResultDTO;
import com.elink.esua.epdc.feign.ItemFeignClient;
@ -28,4 +31,14 @@ public class ItemFeignClientFallback implements ItemFeignClient {
public Result<ItemDetailResultDTO> getItemDetail(ItemDetailFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "getItemDetail", formDto);
}
@Override
public Result evaluation(EvaluationFormDTO evaluationFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "evaluation", evaluationFormDTO);
}
@Override
public Result<ItemCategoryStatisticsResultDTO> itemCategoryStatistics(ItemCategoryStatisticsFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "itemCategoryStatistics", formDto);
}
}

22
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/MessageFeignClientFallback.java

@ -0,0 +1,22 @@
package com.elink.esua.epdc.feign.fallback;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.feign.MessageFeignClient;
import org.springframework.stereotype.Component;
/**
* 文件对象模块
*
* @Author LC
* @Date 2019/9/8 18:25
*/
@Component
public class MessageFeignClientFallback implements MessageFeignClient {
@Override
public Result sendCode(String mobile) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_MESSAGE_SERVER, "sendCode", mobile);
}
}

14
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/NewsFeignClientFallback.java

@ -1,5 +1,6 @@
package com.elink.esua.epdc.feign.fallback;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
@ -39,8 +40,8 @@ public class NewsFeignClientFallback implements NewsFeignClient {
}
@Override
public Result<EpdcNewsDetailResultDTO> getNewsDetail(String id) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_NEWS_SERVER, "getNewsDetail", id);
public Result<EpdcNewsDetailResultDTO> getNewsDetail(EpdcNewsDetailFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_NEWS_SERVER, "getNewsDetail", formDto);
}
@Override
@ -69,8 +70,13 @@ public class NewsFeignClientFallback implements NewsFeignClient {
}
@Override
public Result<List<EpdcBannerListResultDTO>> listBanner(Long deptId) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_NEWS_SERVER, "listBanner", deptId);
public Result<List<EpdcBannerListResultDTO>> listBanner(EpdcBannerListFromDTO fromDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_NEWS_SERVER, "listBanner", fromDTO);
}
@Override
public Result<EpdcIFristInfoResultDTO> selectOneFristByUserId(String userId) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_NEWS_SERVER, "selectOneFristByUserId", userId);
}
}

7
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/OssFeignClientFallback.java

@ -3,10 +3,9 @@ package com.elink.esua.epdc.feign.fallback;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.UploadDTO;
import com.elink.esua.epdc.dto.UploadFormDTO;
import com.elink.esua.epdc.feign.OssFeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
/**
* 文件对象模块
@ -17,7 +16,7 @@ import org.springframework.web.multipart.MultipartFile;
public class OssFeignClientFallback implements OssFeignClient {
@Override
public Result<UploadDTO> upload(MultipartFile file) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_OSS_SERVER, "upload", file.getOriginalFilename());
public Result<String> upload(UploadFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_OSS_SERVER, "upload", formDTO);
}
}

12
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/IssueService.java

@ -4,6 +4,7 @@ import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.UploadDTO;
import com.elink.esua.epdc.dto.events.form.EpdcEventSubmitFormDTO;
import com.elink.esua.epdc.dto.form.UploadImageFormDTO;
import com.elink.esua.epdc.dto.issue.form.IssueFormDTO;
import com.elink.esua.epdc.dto.issue.form.StatementFormDTO;
import com.elink.esua.epdc.dto.issue.result.IssueCategoryStatisticsResultDTO;
@ -13,6 +14,7 @@ import com.elink.esua.epdc.dto.issue.result.IssueResultDTO;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
import java.util.Map;
/**
* 议题模块
@ -40,13 +42,13 @@ public interface IssueService {
Result<List<IssueResultDTO>> listIssues(TokenDto userDetail, IssueFormDTO formDto);
/**
* 文件上传
* @Params: [file]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.UploadDTO>
* 图片上传
* @Params: [params]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<java.lang.String>
* @Author: liuchuang
* @Date: 2019/9/8 18:34
* @Date: 2019/9/11 17:16
*/
Result<UploadDTO> upload(MultipartFile file);
Result<String> upload(Map<String, String> params);
/**
* 议题/

14
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/ItemService.java

@ -2,7 +2,9 @@ package com.elink.esua.epdc.service;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.item.form.EvaluationFormDTO;
import com.elink.esua.epdc.dto.item.form.ItemFormDTO;
import com.elink.esua.epdc.dto.item.result.ItemCategoryStatisticsResultDTO;
import com.elink.esua.epdc.dto.item.result.ItemDetailResultDTO;
import com.elink.esua.epdc.dto.item.result.ItemResultDTO;
@ -32,4 +34,16 @@ public interface ItemService {
* @Date: 2019/9/10 20:42
*/
Result<ItemDetailResultDTO> getItemDetail(TokenDto userDetail, String itemId);
Result evaluation(TokenDto userDetail, EvaluationFormDTO evaluationFormDTO);
/**
* 项目分类统计
* @Params: [userDetail, categoryId]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.item.result.ItemCategoryStatisticsResultDTO>
* @Author: liuchuang
* @Date: 2019/9/12 13:27
*/
Result<ItemCategoryStatisticsResultDTO> getItemCategoryStatistics(TokenDto userDetail, String categoryId);
}

20
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/MessageService.java

@ -0,0 +1,20 @@
package com.elink.esua.epdc.service;
import com.elink.esua.epdc.commons.tools.utils.Result;
/**
* @author yujintao
* @email yujintao@elink-cn.com
* @date 2019/9/11 21:01
*/
public interface MessageService {
/**
* 发送短信验证码
*
* @param mobile
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author yujintao
* @date 2019/9/11 21:04
*/
Result sendSmsCode(String mobile);
}

32
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/NewsService.java

@ -59,16 +59,16 @@ public interface NewsService {
*/
Result<List<EpdcNewsListResultDTO>> listNews(TokenDto userDetail, EpdcNewsListFromDTO formDto);
/***
* @Description 获取新闻详情
* @Author qushutong
* @Date 2019/9/9 10:16
* @Param [id]
* @Return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcNewsDetailResultDTO>
* @Exception
/**
* 移动端获取新闻详情
*
* @param newsId 新闻ID
* @param userId 用户ID
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcNewsDetailResultDTO>
* @author yujintao
* @date 2019/9/12 10:45
*/
Result<EpdcNewsDetailResultDTO> getNewsDetail(String id);
Result<EpdcNewsDetailResultDTO> getNewsDetail(String newsId, String userId);
/***
* @Description 点赞踩
@ -79,7 +79,7 @@ public interface NewsService {
* @Exception
*
*/
Result upDateStatement(TokenDto userDetail, EpdcNewsStatementFromDTO newsStatementFromDTO);
Result updateStatement(TokenDto userDetail, EpdcNewsStatementFromDTO newsStatementFromDTO);
/***
* @Description 浏览量
@ -117,9 +117,19 @@ public interface NewsService {
/***
* 移动端 banner列表
* @param userDetail
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.epdc.result.EpdcBannerListResultDTO>>
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcBannerListResultDTO>>
* @author qushutong
* @date 2019/9/11 9:22
*/
Result<List<EpdcBannerListResultDTO>> listBanner(TokenDto userDetail);
Result<List<EpdcBannerListResultDTO>> listBanner(EpdcBannerListFromDTO fromDTO, TokenDto userDetail);
/***
* 获取最新一条消息通知
* @param userDetail
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcIFristInfoResultDTO>
* @author qushutong
* @date 2019/9/11 19:17
*/
Result<EpdcIFristInfoResultDTO> selectOneFristByUserId(TokenDto userDetail);
}

36
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/TokenService.java

@ -1,36 +0,0 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.elink.esua.epdc.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.entity.TokenEntity;
/**
* 用户Token
*
* @author Mark sunlightcs@gmail.com
*/
public interface TokenService extends BaseService<TokenEntity> {
TokenEntity getByToken(String token);
/**
* 生成token
* @param userId 用户ID
* @return 返回token信息
*/
TokenEntity createToken(Long userId);
/**
* 设置token过期
* @param userId 用户ID
*/
void expireToken(Long userId);
}

38
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/UserService.java

@ -1,38 +0,0 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.elink.esua.epdc.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.RegisterDTO;
import com.elink.esua.epdc.entity.UserEntity;
import com.elink.esua.epdc.dto.LoginDTO;
import java.util.Map;
/**
* 用户
*
* @author Mark sunlightcs@gmail.com
*/
public interface UserService extends BaseService<UserEntity> {
UserEntity getByMobile(String mobile);
UserEntity getUserByUserId(Long userId);
/**
* 用户登录
* @param dto 登录表单
* @return 返回登录信息
*/
Map<String, Object> login(LoginDTO dto);
Result register2(RegisterDTO dto);
}

4
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java

@ -262,9 +262,7 @@ public class AppUserServiceImpl implements AppUserService {
String address = formDto.getRoad()
.concat(StringUtils.isNotBlank(formDto.getVillageName()) ? formDto.getVillageName() : "")
.concat(StringUtils.isNotBlank(formDto.getBuildingCode()) ? formDto.getBuildingCode().concat("号楼") : "")
.concat(StringUtils.isNotBlank(formDto.getUnitCode()) ? formDto.getUnitCode().concat("单元") : "")
.concat(StringUtils.isNotBlank(formDto.getHouseCode()) ? formDto.getHouseCode() : "");
.concat(StringUtils.isNotBlank(formDto.getDwellingPlace()) ? formDto.getDwellingPlace() : "");
user.setAddress(address);
Date now = new Date();

24
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/IssueServiceImpl.java

@ -1,10 +1,14 @@
package com.elink.esua.epdc.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.utils.UploadImageUtils;
import com.elink.esua.epdc.dto.CompleteDeptDTO;
import com.elink.esua.epdc.dto.UploadDTO;
import com.elink.esua.epdc.dto.UploadFormDTO;
import com.elink.esua.epdc.dto.events.form.EpdcEventSubmitFormDTO;
import com.elink.esua.epdc.dto.form.UploadImageFormDTO;
import com.elink.esua.epdc.dto.issue.form.IssueCategoryStatisticsFormDTO;
import com.elink.esua.epdc.dto.issue.form.IssueDetailFormDTO;
import com.elink.esua.epdc.dto.issue.form.IssueFormDTO;
@ -17,11 +21,13 @@ import com.elink.esua.epdc.feign.AdminFeignClient;
import com.elink.esua.epdc.feign.IssueFeignClient;
import com.elink.esua.epdc.feign.OssFeignClient;
import com.elink.esua.epdc.service.IssueService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
import java.util.Map;
/**
* 议题模块
@ -69,8 +75,21 @@ public class IssueServiceImpl implements IssueService {
}
@Override
public Result<UploadDTO> upload(MultipartFile file) {
return ossFeignClient.upload(file);
public Result<String> upload(Map<String, String> params) {
try {
// 下载图片并返回base64码
String base64 = UploadImageUtils.downloadImageFromWx(params);
if (StringUtils.isEmpty(base64)) {
return new Result<String>().error("获取图片信息失败");
}
// 图片上传至OSS
UploadFormDTO formDTO = new UploadFormDTO();
formDTO.setBase64String(base64);
return ossFeignClient.upload(formDTO);
} catch (Exception e) {
e.printStackTrace();
}
return new Result<String>().error("上传图片失败");
}
@Override
@ -78,6 +97,7 @@ public class IssueServiceImpl implements IssueService {
return issueFeignClient.statement(formDto);
}
@Override
public Result<IssueDetailResultDTO> getIssueDetail(TokenDto userDetail, String issueId) {
IssueDetailFormDTO formDto = new IssueDetailFormDTO();
formDto.setUserId(userDetail.getUserId());

18
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/ItemServiceImpl.java

@ -2,8 +2,11 @@ package com.elink.esua.epdc.service.impl;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.item.form.ItemCategoryStatisticsFormDTO;
import com.elink.esua.epdc.dto.item.form.EvaluationFormDTO;
import com.elink.esua.epdc.dto.item.form.ItemDetailFormDTO;
import com.elink.esua.epdc.dto.item.form.ItemFormDTO;
import com.elink.esua.epdc.dto.item.result.ItemCategoryStatisticsResultDTO;
import com.elink.esua.epdc.dto.item.result.ItemDetailResultDTO;
import com.elink.esua.epdc.dto.item.result.ItemResultDTO;
import com.elink.esua.epdc.feign.ItemFeignClient;
@ -37,4 +40,19 @@ public class ItemServiceImpl implements ItemService {
formDto.setItemId(itemId);
return itemFeignClient.getItemDetail(formDto);
}
@Override
public Result evaluation(TokenDto userDetail, EvaluationFormDTO evaluationFormDTO) {
evaluationFormDTO.setUserId(userDetail.getUserId());
return itemFeignClient.evaluation(evaluationFormDTO);
}
@Override
public Result<ItemCategoryStatisticsResultDTO> getItemCategoryStatistics(TokenDto userDetail, String categoryId) {
ItemCategoryStatisticsFormDTO formDto = new ItemCategoryStatisticsFormDTO();
formDto.setCategoryId(categoryId);
formDto.setGridId(userDetail.getGridId());
return itemFeignClient.itemCategoryStatistics(formDto);
}
}

32
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/MessageServiceImpl.java

@ -0,0 +1,32 @@
package com.elink.esua.epdc.service.impl;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.feign.MessageFeignClient;
import com.elink.esua.epdc.service.MessageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @author yujintao
* @email yujintao@elink-cn.com
* @date 2019/9/11 21:03
*/
@Service
public class MessageServiceImpl implements MessageService {
@Autowired
private MessageFeignClient messageFeignClient;
/**
* 发送六位短信验证码
*
* @param mobile
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author yujintao
* @date 2019/9/12 09:21
*/
@Override
public Result sendSmsCode(String mobile) {
return messageFeignClient.sendCode(mobile);
}
}

20
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java

@ -48,12 +48,15 @@ public class NewsServiceImpl implements NewsService {
}
@Override
public Result<EpdcNewsDetailResultDTO> getNewsDetail(String id) {
return newsFeignClient.getNewsDetail(id);
public Result<EpdcNewsDetailResultDTO> getNewsDetail(String newsId, String userId) {
EpdcNewsDetailFormDTO form = new EpdcNewsDetailFormDTO();
form.setNewsId(newsId);
form.setUserId(userId);
return newsFeignClient.getNewsDetail(form);
}
@Override
public Result upDateStatement(TokenDto userDetail, EpdcNewsStatementFromDTO newsStatementFromDTO) {
public Result updateStatement(TokenDto userDetail, EpdcNewsStatementFromDTO newsStatementFromDTO) {
newsStatementFromDTO.setUserId(userDetail.getUserId());
return newsFeignClient.updateStatement(newsStatementFromDTO);
}
@ -76,7 +79,14 @@ public class NewsServiceImpl implements NewsService {
}
@Override
public Result<List<EpdcBannerListResultDTO>> listBanner(TokenDto userDetail) {
return newsFeignClient.listBanner(userDetail.getGridId());
public Result<List<EpdcBannerListResultDTO>> listBanner(EpdcBannerListFromDTO fromDTO,TokenDto userDetail) {
fromDTO.setDeptId(userDetail.getGridId());
return newsFeignClient.listBanner(fromDTO);
}
@Override
public Result<EpdcIFristInfoResultDTO> selectOneFristByUserId(TokenDto userDetail) {
String userId=userDetail.getUserId();
return newsFeignClient.selectOneFristByUserId(userId);
}
}

94
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/TokenServiceImpl.java

@ -1,94 +0,0 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.elink.esua.epdc.service.impl;
import com.elink.esua.epdc.dao.TokenDao;
import com.elink.esua.epdc.service.TokenService;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.dao.TokenDao;
import com.elink.esua.epdc.entity.TokenEntity;
import com.elink.esua.epdc.service.TokenService;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.UUID;
@Service
public class TokenServiceImpl extends BaseServiceImpl<TokenDao, TokenEntity> implements TokenService {
/**
* 12小时后过期
*/
private final static int EXPIRE = 3600 * 12;
@Override
public TokenEntity getByToken(String token) {
return baseDao.getByToken(token);
}
@Override
public TokenEntity createToken(Long userId) {
//当前时间
Date now = new Date();
//过期时间
Date expireTime = new Date(now.getTime() + EXPIRE * 1000);
//用户token
String token;
//判断是否生成过token
TokenEntity tokenEntity = baseDao.getByUserId(userId);
if(tokenEntity == null){
//生成一个token
token = generateToken();
tokenEntity = new TokenEntity();
tokenEntity.setUserId(userId);
tokenEntity.setToken(token);
tokenEntity.setUpdateDate(now);
tokenEntity.setExpireDate(expireTime);
//保存token
this.insert(tokenEntity);
}else{
//判断token是否过期
if(tokenEntity.getExpireDate().getTime() < System.currentTimeMillis()){
//token过期,重新生成token
token = generateToken();
}else {
token = tokenEntity.getToken();
}
tokenEntity.setToken(token);
tokenEntity.setUpdateDate(now);
tokenEntity.setExpireDate(expireTime);
//更新token
this.updateById(tokenEntity);
}
return tokenEntity;
}
@Override
public void expireToken(Long userId){
Date now = new Date();
TokenEntity tokenEntity = new TokenEntity();
tokenEntity.setUserId(userId);
tokenEntity.setUpdateDate(now);
tokenEntity.setExpireDate(now);
this.updateById(tokenEntity);
}
private String generateToken(){
return UUID.randomUUID().toString().replace("-", "");
}
}

91
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java

@ -1,91 +0,0 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
* <p>
* https://www.renren.io
* <p>
* 版权所有侵权必究
*/
package com.elink.esua.epdc.service.impl;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.exception.ErrorCode;
import com.elink.esua.epdc.commons.tools.exception.RenException;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.AssertUtils;
import com.elink.esua.epdc.dao.UserDao;
import com.elink.esua.epdc.dto.RegisterDTO;
import com.elink.esua.epdc.entity.TokenEntity;
import com.elink.esua.epdc.entity.UserEntity;
import com.elink.esua.epdc.dto.LoginDTO;
import com.elink.esua.epdc.feign.DemoFeignClient;
import com.elink.esua.epdc.service.TokenService;
import com.elink.esua.epdc.service.UserService;
import io.seata.spring.annotation.GlobalTransactional;
import org.apache.commons.codec.digest.DigestUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@Service
public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implements UserService {
@Autowired
private DemoFeignClient demoFeignClient;
@Autowired
private TokenService tokenService;
@Override
public UserEntity getByMobile(String mobile) {
return baseDao.getUserByMobile(mobile);
}
@Override
public UserEntity getUserByUserId(Long userId) {
return baseDao.getUserByUserId(userId);
}
@Override
public Map<String, Object> login(LoginDTO dto) {
UserEntity user = getByMobile(dto.getMobile());
AssertUtils.isNull(user, ErrorCode.ACCOUNT_PASSWORD_ERROR);
//密码错误
if (!user.getPassword().equals(DigestUtils.sha256Hex(dto.getPassword()))) {
throw new RenException(ErrorCode.ACCOUNT_PASSWORD_ERROR);
}
//获取登录token
TokenEntity tokenEntity = tokenService.createToken(user.getId());
Map<String, Object> map = new HashMap<>(2);
map.put("token", tokenEntity.getToken());
map.put("expire", tokenEntity.getExpireDate().getTime() - System.currentTimeMillis());
return map;
}
@Override
@GlobalTransactional
public Result register2(RegisterDTO dto) {
UserEntity user = new UserEntity();
user.setMobile(dto.getMobile());
user.setUsername(dto.getMobile());
user.setPassword(DigestUtils.sha256Hex(dto.getPassword()));
user.setCreateDate(new Date());
boolean success = this.insert(user);
if (success) {
Result<String> result = demoFeignClient.seata(dto.getMobile(), 1405);
if (!result.success()) {
throw new RuntimeException("失败lelelelellele");
}
return new Result();
}
return new Result().error();
}
}

11
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/application.yml

@ -93,9 +93,14 @@ wx:
secret: @wx.mp.configs.secret@
token: @wx.mp.configs.token@
aesKey: @wx.mp.configs.aesKey@
miniapp:
appid: wx2b862c59497ae1d6
secret: 5410f00cdb6eb03d2bf5077a328a8047
cgiBin:
accessTokenUrl: https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&&secret=APPSECRET
mediaUrl: https://api.weixin.qq.com/cgi-bin/media/get
appId: @wx.mp.configs.appId@
secret: @wx.mp.configs.secret@
ma:
appid: @wx.ma.appId@
secret: @wx.ma.secret@
token: #微信小程序消息服务器配置的token
aesKey: #微信小程序消息服务器配置的EncodingAESKey
msgDataFormat: JSON

14
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/mapper/TokenDao.xml

@ -1,14 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.elink.esua.epdc.dao.TokenDao">
<select id="getByToken" resultType="com.elink.esua.epdc.entity.TokenEntity">
select * from tb_token where token = #{value}
</select>
<select id="getByUserId" resultType="com.elink.esua.epdc.entity.TokenEntity">
select * from tb_token where user_id = #{value}
</select>
</mapper>

13
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/mapper/UserDao.xml

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.elink.esua.epdc.dao.UserDao">
<select id="getUserByMobile" resultType="com.elink.esua.epdc.entity.UserEntity">
select * from tb_user where mobile = #{value}
</select>
<select id="getUserByUserId" resultType="com.elink.esua.epdc.entity.UserEntity">
select * from tb_user where id = #{value}
</select>
</mapper>

3
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/form/IssueCategoryStatisticsFormDTO.java

@ -3,6 +3,7 @@ package com.elink.esua.epdc.dto.issue.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
@ -16,7 +17,7 @@ public class IssueCategoryStatisticsFormDTO implements Serializable {
/**
* 网格ID
*/
@NotBlank(message = "网格ID不能为空")
@NotNull(message = "网格ID不能为空")
private Long gridId;
/**
* 议题类别ID

4
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/form/IssueFormDTO.java

@ -49,4 +49,8 @@ public class IssueFormDTO implements Serializable {
* 只查询半年内的数据
*/
private Date someMonthsAgo;
/**
* 议题分类ID
*/
private String categoryId;
}

2
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/form/IssueWaitHandleSubmitFormDTO.java

@ -22,7 +22,7 @@ public class IssueWaitHandleSubmitFormDTO implements Serializable {
*/
private String advice;
/**
* 状态 1 添加处理意见2 关闭0 转项目
* 状态 1 添加处理意见2 关闭4 转项目
*/
private Integer state;
}

2
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/IssueCategoryStatisticsResultDTO.java

@ -24,7 +24,7 @@ public class IssueCategoryStatisticsResultDTO implements Serializable {
/**
* 议题个数
*/
private String caseNum;
private String issueNum;
/**
* 态度总数
*/

58
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/ItemPendingHandleDTO.java

@ -0,0 +1,58 @@
package com.elink.esua.epdc.dto.item;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 项目处理列表DTO
* @Author LC
* @Date 2019/9/12 17:42
*/
@Data
public class ItemPendingHandleDTO implements Serializable {
private static final long serialVersionUID = -5197394552788076724L;
/**
* 项目ID
*/
private String id;
/**
* 项目内容
*/
private String itemContent;
/**
* 转项目时间
*/
private Date createdTime;
/**
* 提交人
*/
private String nickName;
/**
* 项目评分
*/
private Integer evaluationScore;
/**
* 支持数
*/
private Integer approveNum;
/**
* 反对数
*/
private Integer opposeNum;
/**
* 评论数
*/
private Integer commentNum;
/**
* 浏览数
*/
private Integer browseNum;
/**
* 参与数
*/
private Integer participantsNum;
}

29
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/EvaluationFormDTO.java

@ -0,0 +1,29 @@
package com.elink.esua.epdc.dto.item.form;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;
/**
* @Author LC
* @Date 2019/9/9 16:24
*/
@Data
public class EvaluationFormDTO implements Serializable {
private static final long serialVersionUID = -3034807666143092535L;
@NotBlank(message = "项目ID不能为空")
private String itemId;
@NotBlank(message = "满意度评价得分不能为空")
private int evaluationScore;
@NotBlank(message = "满意度评价内容不能为空")
private String evaluationContent;
private String userId;
}

28
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/ItemCategoryStatisticsFormDTO.java

@ -0,0 +1,28 @@
package com.elink.esua.epdc.dto.item.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* 项目分类统计表单DTO
* @Author LC
* @Date 2019/9/12 13:21
*/
@Data
public class ItemCategoryStatisticsFormDTO implements Serializable {
private static final long serialVersionUID = 2999035593195412516L;
/**
* 网格ID
*/
@NotNull(message = "网格ID不能为空")
private Long gridId;
/**
* 议题类别ID
*/
@NotBlank(message = "议题类别ID不能为空")
private String categoryId;
}

4
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/ItemFormDTO.java

@ -43,4 +43,8 @@ public class ItemFormDTO implements Serializable {
* 只查询半年内的数据
*/
private Date someMonthsAgo;
/**
* 议题分类ID
*/
private String categoryId;
}

32
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/ItemCategoryStatisticsResultDTO.java

@ -0,0 +1,32 @@
package com.elink.esua.epdc.dto.item.result;
import lombok.Data;
import java.io.Serializable;
/**
* 项目分类统计DTO
* @Author LC
* @Date 2019/9/12 13:22
*/
@Data
public class ItemCategoryStatisticsResultDTO implements Serializable {
private static final long serialVersionUID = 1156180616337484819L;
/**
* 类别ID
*/
private String categoryId;
/**
* 类别名称
*/
private String categoryName;
/**
* 项目个数
*/
private String itemNum;
/**
* 态度总数
*/
private String attitudeNum;
}

11
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/dao/EpdcEventsDao.java

@ -19,8 +19,6 @@ package com.elink.esua.epdc.modules.events.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.events.*;
import com.elink.esua.epdc.dto.issue.form.IssueCategoryStatisticsFormDTO;
import com.elink.esua.epdc.dto.issue.result.IssueCategoryStatisticsResultDTO;
import com.elink.esua.epdc.modules.events.entity.EpdcEventsEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -114,13 +112,4 @@ public interface EpdcEventsDao extends BaseDao<EpdcEventsEntity> {
* @param eventId
*/
void updateOpposeNumSubtract(String eventId);
/**
* 移动端-事件分类统计
* @Params: [formDTO]
* @Return: com.elink.esua.epdc.dto.issue.result.IssueCategoryStatisticsResultDTO
* @Author: liuchuang
* @Date: 2019/9/9 12:59
*/
IssueCategoryStatisticsResultDTO selectOneIssueCategoryStatistics(IssueCategoryStatisticsFormDTO formDTO);
}

11
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/EpdcEventsService.java

@ -23,8 +23,6 @@ import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.events.*;
import com.elink.esua.epdc.dto.events.form.EpdcEventSubmitFormDTO;
import com.elink.esua.epdc.dto.events.form.EpdcEventsReviewFormDTO;
import com.elink.esua.epdc.dto.issue.form.IssueCategoryStatisticsFormDTO;
import com.elink.esua.epdc.dto.issue.result.IssueCategoryStatisticsResultDTO;
import com.elink.esua.epdc.modules.events.entity.EpdcEventsEntity;
import java.util.List;
@ -148,13 +146,4 @@ public interface EpdcEventsService extends BaseService<EpdcEventsEntity> {
* @Date: 2019/9/9 11:57
*/
boolean modifyBrowseNumById(String eventId);
/**
* 移动端-事件分类统计
* @Params: [formDTO]
* @Return: com.elink.esua.epdc.dto.issue.result.IssueCategoryStatisticsResultDTO
* @Author: liuchuang
* @Date: 2019/9/9 13:01
*/
IssueCategoryStatisticsResultDTO getEventsCategoryStatistics(IssueCategoryStatisticsFormDTO formDTO);
}

8
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java

@ -30,8 +30,6 @@ import com.elink.esua.epdc.constant.ImageConstant;
import com.elink.esua.epdc.dto.events.*;
import com.elink.esua.epdc.dto.events.form.EpdcEventSubmitFormDTO;
import com.elink.esua.epdc.dto.events.form.EpdcEventsReviewFormDTO;
import com.elink.esua.epdc.dto.issue.form.IssueCategoryStatisticsFormDTO;
import com.elink.esua.epdc.dto.issue.result.IssueCategoryStatisticsResultDTO;
import com.elink.esua.epdc.modules.events.dao.EpdcEventsDao;
import com.elink.esua.epdc.modules.events.entity.EpdcEventsEntity;
import com.elink.esua.epdc.modules.events.service.EpdcEventsService;
@ -198,11 +196,6 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl<EpdcEventsDao, EpdcEv
return this.updateById(epdcEventsEntity);
}
@Override
public IssueCategoryStatisticsResultDTO getEventsCategoryStatistics(IssueCategoryStatisticsFormDTO formDTO) {
return baseDao.selectOneIssueCategoryStatistics(formDTO);
}
/**
* 初始化议题
* @Params: [entity]
@ -216,6 +209,7 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl<EpdcEventsDao, EpdcEv
issueEntity.setUserId(entity.getUserId());
issueEntity.setNickName(entity.getNickName());
issueEntity.setUserFace(entity.getUserFace());
issueEntity.setIsPartyMember(entity.getIsPartyMember());
issueEntity.setIssueContent(entity.getEventContent());
issueEntity.setDistributeTime(entity.getCreatedTime());
issueEntity.setArea(entity.getArea());

9
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueDao.java

@ -119,4 +119,13 @@ public interface IssueDao extends BaseDao<IssueEntity> {
*/
List<IssueHandleProgressResultDTO> selectListOfHandleProgress(String issueId);
/**
* 移动端-议题分类统计
* @Params: [formDTO]
* @Return: com.elink.esua.epdc.dto.issue.result.IssueCategoryStatisticsResultDTO
* @Author: liuchuang
* @Date: 2019/9/9 12:59
*/
IssueCategoryStatisticsResultDTO selectOneIssueCategoryStatistics(IssueCategoryStatisticsFormDTO formDTO);
}

16
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java

@ -35,18 +35,18 @@ import com.elink.esua.epdc.dto.issue.form.IssueCategoryStatisticsFormDTO;
import com.elink.esua.epdc.dto.issue.form.IssueDetailFormDTO;
import com.elink.esua.epdc.dto.issue.form.IssueFormDTO;
import com.elink.esua.epdc.dto.issue.form.IssueWaitHandleSubmitFormDTO;
import com.elink.esua.epdc.dto.issue.form.StatementFormDTO;
import com.elink.esua.epdc.dto.issue.result.*;
import com.elink.esua.epdc.modules.comment.service.EventCommentService;
import com.elink.esua.epdc.modules.events.service.EpdcEventsService;
import com.elink.esua.epdc.modules.issue.dao.IssueDao;
import com.elink.esua.epdc.modules.issue.entity.IssueEntity;
import com.elink.esua.epdc.modules.issue.entity.IssueHandleEntity;
import com.elink.esua.epdc.modules.issue.service.EventUserAttitudeService;
import com.elink.esua.epdc.modules.issue.service.IssueHandleService;
import com.elink.esua.epdc.modules.issue.service.IssueService;
import com.elink.esua.epdc.modules.item.entity.ItemDeptEntity;
import com.elink.esua.epdc.modules.item.entity.ItemEntity;
import com.elink.esua.epdc.modules.item.entity.ItemHandleProcessEntity;
import com.elink.esua.epdc.modules.item.service.ItemDeptService;
import com.elink.esua.epdc.modules.item.service.ItemHandleProcessService;
import com.elink.esua.epdc.modules.item.service.ItemService;
import org.apache.commons.lang3.StringUtils;
@ -83,6 +83,9 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
@Autowired
private EventCommentService eventCommentService;
@Autowired
private ItemDeptService itemDeptService;
@Override
public PageData<IssueWaitHandleOrClosedDTO> listOfIssues(Map<String, Object> params) {
IPage<IssueWaitHandleOrClosedDTO> page = getPage(params);
@ -159,7 +162,6 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
}
// 转项目
if (EventIssueItemState.ISSUE_CHANGE_TO_ITEM == dto.getState()) {
updateById(issueEntity);
// 插入项目表
ItemEntity itemEntity = initItemEntity(this.selectById(issueEntity.getId()));
itemService.insert(itemEntity);
@ -170,6 +172,11 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
itemHandleProcessEntity.setHandleAdvice(dto.getAdvice());
itemHandleProcessEntity.setHandlerDeptId(SecurityUser.getDeptId());
itemHandleProcessService.insert(itemHandleProcessEntity);
// 插入项目部门关联表
ItemDeptEntity itemDeptEntity = new ItemDeptEntity();
itemDeptEntity.setDeptId(SecurityUser.getDeptId());
itemDeptEntity.setItemId(itemEntity.getId());
itemDeptService.insert(itemDeptEntity);
}
return new Result();
}
@ -234,7 +241,7 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
@Override
public Result<IssueCategoryStatisticsResultDTO> getIssueCategoryStatistics(IssueCategoryStatisticsFormDTO formDto) {
IssueCategoryStatisticsResultDTO resultDTO = epdcEventsService.getEventsCategoryStatistics(formDto);
IssueCategoryStatisticsResultDTO resultDTO = baseDao.selectOneIssueCategoryStatistics(formDto);
return new Result<IssueCategoryStatisticsResultDTO>().ok(resultDTO);
}
@ -258,6 +265,7 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
itemEntity.setUserId(issueEntity.getUserId());
itemEntity.setNickName(issueEntity.getNickName());
itemEntity.setUserFace(issueEntity.getUserFace());
itemEntity.setIsPartyMember(issueEntity.getIsPartyMember());
itemEntity.setItemContent(issueEntity.getIssueContent());
itemEntity.setDistributeTime(issueEntity.getDistributeTime());
itemEntity.setArea(issueEntity.getArea());

27
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/EpdcAppItemController.java

@ -3,16 +3,16 @@ package com.elink.esua.epdc.modules.item.controller;
import com.elink.esua.epdc.commons.tools.constant.Constant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.dto.item.form.ItemCategoryStatisticsFormDTO;
import com.elink.esua.epdc.dto.item.form.EvaluationFormDTO;
import com.elink.esua.epdc.dto.item.form.ItemDetailFormDTO;
import com.elink.esua.epdc.dto.item.form.ItemFormDTO;
import com.elink.esua.epdc.dto.item.result.ItemCategoryStatisticsResultDTO;
import com.elink.esua.epdc.dto.item.result.ItemDetailResultDTO;
import com.elink.esua.epdc.dto.item.result.ItemResultDTO;
import com.elink.esua.epdc.modules.item.service.ItemService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@ -53,4 +53,23 @@ public class EpdcAppItemController {
ValidatorUtils.validateEntity(formDto);
return this.itemService.getItemDetail(formDto);
}
@PostMapping("evaluation")
public Result evaluation(@RequestBody EvaluationFormDTO evaluationFormDTO) {
ValidatorUtils.validateEntity(evaluationFormDTO);
return this.itemService.evaluation(evaluationFormDTO);
}
/**
* 项目分类统计
* @Params: [formDto]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.item.result.ItemCategoryStatisticsResultDTO>
* @Author: liuchuang
* @Date: 2019/9/12 13:31
*/
@GetMapping("statistics")
public Result<ItemCategoryStatisticsResultDTO> itemCategoryStatistics(@RequestBody ItemCategoryStatisticsFormDTO formDto) {
ValidatorUtils.validateEntity(formDto);
return this.itemService.getItemCategoryStatistics(formDto);
}
}

7
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemController.java

@ -26,6 +26,7 @@ import com.elink.esua.epdc.commons.tools.validator.group.AddGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.dto.item.ItemDTO;
import com.elink.esua.epdc.dto.item.ItemPendingHandleDTO;
import com.elink.esua.epdc.modules.item.excel.ItemExcel;
import com.elink.esua.epdc.modules.item.service.ItemService;
import org.springframework.beans.factory.annotation.Autowired;
@ -50,9 +51,9 @@ public class ItemController {
private ItemService itemService;
@GetMapping("page")
public Result<PageData<ItemDTO>> page(@RequestParam Map<String, Object> params){
PageData<ItemDTO> page = itemService.page(params);
return new Result<PageData<ItemDTO>>().ok(page);
public Result<PageData<ItemPendingHandleDTO>> page(@RequestParam Map<String, Object> params){
PageData<ItemPendingHandleDTO> page = itemService.listOfItemsForPCEnd(params);
return new Result<PageData<ItemPendingHandleDTO>>().ok(page);
}
@GetMapping("{id}")

22
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDao.java

@ -19,8 +19,11 @@ package com.elink.esua.epdc.modules.item.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.item.ItemDTO;
import com.elink.esua.epdc.dto.item.ItemPendingHandleDTO;
import com.elink.esua.epdc.dto.item.form.ItemCategoryStatisticsFormDTO;
import com.elink.esua.epdc.dto.item.form.ItemDetailFormDTO;
import com.elink.esua.epdc.dto.item.form.ItemFormDTO;
import com.elink.esua.epdc.dto.item.result.ItemCategoryStatisticsResultDTO;
import com.elink.esua.epdc.dto.item.result.ItemDetailResultDTO;
import com.elink.esua.epdc.dto.item.result.ItemResultDTO;
import com.elink.esua.epdc.modules.item.entity.ItemEntity;
@ -28,6 +31,7 @@ import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* 项目表 项目表
@ -65,4 +69,22 @@ public interface ItemDao extends BaseDao<ItemEntity> {
*/
ItemDetailResultDTO selectOneItemDetail(ItemDetailFormDTO formDto);
/**
* 移动端-议题分类统计
* @Params: [formDTO]
* @Return: com.elink.esua.epdc.dto.item.result.ItemCategoryStatisticsResultDTO
* @Author: liuchuang
* @Date: 2019/9/12 13:37
*/
ItemCategoryStatisticsResultDTO selectOneItemCategoryStatistics(ItemCategoryStatisticsFormDTO formDTO);
/**
* PC端项目列表
* @Params: [params]
* @Return: java.util.List<com.elink.esua.epdc.dto.item.ItemPendingHandleDTO>
* @Author: liuchuang
* @Date: 2019/9/12 18:21
*/
List<ItemPendingHandleDTO> selectListOfPendingHandleItems(Map<String, Object> params);
}

4
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/entity/ItemEntity.java

@ -152,6 +152,10 @@ public class ItemEntity extends BaseEpdcEntity {
* 满意度评价内容
*/
private String evaluationContent;
/**
* 满意度评价时间
*/
private String evaluationTime;
/**
* 项目状态 0-处理中5-已关闭10-已结案

25
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java

@ -21,8 +21,12 @@ import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.item.ItemDTO;
import com.elink.esua.epdc.dto.item.ItemPendingHandleDTO;
import com.elink.esua.epdc.dto.item.form.ItemCategoryStatisticsFormDTO;
import com.elink.esua.epdc.dto.item.form.EvaluationFormDTO;
import com.elink.esua.epdc.dto.item.form.ItemDetailFormDTO;
import com.elink.esua.epdc.dto.item.form.ItemFormDTO;
import com.elink.esua.epdc.dto.item.result.ItemCategoryStatisticsResultDTO;
import com.elink.esua.epdc.dto.item.result.ItemDetailResultDTO;
import com.elink.esua.epdc.dto.item.result.ItemResultDTO;
import com.elink.esua.epdc.modules.item.entity.ItemEntity;
@ -48,6 +52,15 @@ public interface ItemService extends BaseService<ItemEntity> {
*/
PageData<ItemDTO> page(Map<String, Object> params);
/**
* PC端项目列表
* @Params: [params]
* @Return: com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.item.ItemPendingHandleDTO>
* @Author: liuchuang
* @Date: 2019/9/12 18:17
*/
PageData<ItemPendingHandleDTO> listOfItemsForPCEnd(Map<String, Object> params);
/**
* 默认查询
*
@ -124,4 +137,16 @@ public interface ItemService extends BaseService<ItemEntity> {
* @Date: 2019/9/10 20:54
*/
Result<ItemDetailResultDTO> getItemDetail(ItemDetailFormDTO formDto);
Result evaluation(EvaluationFormDTO evaluationFormDTO);
/**
* 项目分类统计
* @Params: [formDto]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.item.result.ItemCategoryStatisticsResultDTO>
* @Author: liuchuang
* @Date: 2019/9/12 13:32
*/
Result<ItemCategoryStatisticsResultDTO> getItemCategoryStatistics(ItemCategoryStatisticsFormDTO formDto);
}

37
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java

@ -23,12 +23,18 @@ import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.security.user.SecurityUser;
import com.elink.esua.epdc.commons.tools.security.user.UserDetail;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.DateUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.item.ItemDTO;
import com.elink.esua.epdc.dto.item.ItemPendingHandleDTO;
import com.elink.esua.epdc.dto.item.form.ItemCategoryStatisticsFormDTO;
import com.elink.esua.epdc.dto.item.form.EvaluationFormDTO;
import com.elink.esua.epdc.dto.item.form.ItemDetailFormDTO;
import com.elink.esua.epdc.dto.item.form.ItemFormDTO;
import com.elink.esua.epdc.dto.item.result.ItemCategoryStatisticsResultDTO;
import com.elink.esua.epdc.dto.item.result.ItemDetailResultDTO;
import com.elink.esua.epdc.dto.item.result.ItemResultDTO;
import com.elink.esua.epdc.modules.events.service.EpdcEventsService;
@ -66,6 +72,17 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
return getPageData(page, ItemDTO.class);
}
@Override
public PageData<ItemPendingHandleDTO> listOfItemsForPCEnd(Map<String, Object> params) {
UserDetail user = SecurityUser.getUser();
//部门ID列表
List<Long> deptIdList = user.getDeptIdList();
params.put("deptIdList", deptIdList);
IPage<ItemPendingHandleDTO> page = getPage(params);
List<ItemPendingHandleDTO> list = baseDao.selectListOfPendingHandleItems(params);
return new PageData<>(list, page.getTotal());
}
@Override
public List<ItemDTO> list(Map<String, Object> params) {
List<ItemEntity> entityList = baseDao.selectList(getWrapper(params));
@ -133,4 +150,24 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
return new Result<ItemDetailResultDTO>().ok(resultDTO);
}
@Override
public Result evaluation(EvaluationFormDTO evaluationFormDTO) {
ItemEntity itemEntityResult = baseDao.selectById(evaluationFormDTO.getItemId());
if (itemEntityResult.getUserId().equals(evaluationFormDTO.getUserId()) && itemEntityResult.getEvaluationScore() == null){
ItemEntity itemEntity = new ItemEntity();
itemEntity.setId(evaluationFormDTO.getItemId());
itemEntity.setEvaluationScore(evaluationFormDTO.getEvaluationScore());
itemEntity.setEvaluationContent(evaluationFormDTO.getEvaluationContent());
baseDao.updateById(itemEntity);
return new Result();
}else {
return new Result().error("您无法评价");
}
}
@Override
public Result<ItemCategoryStatisticsResultDTO> getItemCategoryStatistics(ItemCategoryStatisticsFormDTO formDto) {
ItemCategoryStatisticsResultDTO resultDTO = baseDao.selectOneItemCategoryStatistics(formDto);
return new Result<ItemCategoryStatisticsResultDTO>().ok(resultDTO);
}
}

3
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/comment/EventCommentDao.xml

@ -163,10 +163,9 @@
WHERE
comm.DEL_FLAG = '0'
AND comm.EVENT_ID = #{eventId}
GROUP BY
comm.ID
ORDER BY
statementNum DESC
LIMIT 1
</select>
</mapper>

25
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/events/EpdcEventsDao.xml

@ -47,6 +47,12 @@
<if test="gridId != null and gridId != ''">
AND temp.grid_id = #{gridId}
</if>
<if test="streetId != null and streetId != ''">
AND temp.STREET_ID = #{streetId}
</if>
<if test="communityId != null and communityId != ''">
AND temp.COMMUNITY_ID = #{communityId}
</if>
AND temp.EVENT_STATE = 0
ORDER BY temp.CREATED_TIME DESC
</select>
@ -192,23 +198,4 @@
WHERE ID = #{eventId}
</update>
<select id="selectOneIssueCategoryStatistics" resultType="com.elink.esua.epdc.dto.issue.result.IssueCategoryStatisticsResultDTO">
SELECT
cate.CATEGORY_NAME AS categoryName,
cate.ID AS categoryId,
COUNT( eve.ID ) AS caseNum,
SUM( eve.OPPOSE_NUM + eve.APPROVE_NUM + eve.BROWSE_NUM + eve.COMMENT_NUM ) AS attitudeNum
FROM
epdc_events eve
LEFT JOIN epdc_event_category cate ON eve.ISSUE_CATEGORY_ID = cate.ID
AND cate.DEL_FLAG = '0'
WHERE
eve.DEL_FLAG = '0'
AND eve.EVENT_STATE = 4
AND eve.ISSUE_CATEGORY_ID = #{categoryId}
AND eve.GRID_ID = #{gridId}
</select>
</mapper>

68
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml

@ -23,8 +23,14 @@
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
AND DATE_FORMAT( issue.CREATED_TIME, '%Y-%m-%d' ) BETWEEN #{startTime} AND #{endTime}
</if>
<if test="deptId != null and deptId != ''">
AND issue.grid_id = #{deptId}
<if test="gridId != null and gridId != ''">
AND issue.GRID_ID = #{gridId}
</if>
<if test="streetId != null and streetId != ''">
AND issue.STREET_ID = #{streetId}
</if>
<if test="communityId != null and communityId != ''">
AND issue.COMMUNITY_ID = #{communityId}
</if>
ORDER BY
issue.CREATED_TIME DESC
@ -171,26 +177,43 @@
issue.ISSUE_ADDRESS
FROM
epdc_issue issue
LEFT JOIN epdc_img img ON issue.id = img.REFERENCE_ID
LEFT JOIN epdc_img img ON issue.EVENT_ID = img.REFERENCE_ID
AND img.DEL_FLAG = '0'
LEFT JOIN epdc_events eve ON issue.EVENT_ID = eve.id
AND eve.DEL_FLAG = '0'
LEFT JOIN epdc_event_category cate ON issue.ISSUE_CATEGORY_ID = cate.id
AND cate.DEL_FLAG = '0'
WHERE
issue.DEL_FLAG = '0'
AND (issue.ISSUE_STATE = 0 OR issue.ISSUE_STATE = 2)
AND issue.GRID_ID = #{deptId}
<![CDATA[ AND DATE_FORMAT(issue.DISTRIBUTE_TIME,'%Y-%m-%d %H:%i:%s') >= ]]> #{someMonthsAgo}
<![CDATA[ AND DATE_FORMAT(issue.DISTRIBUTE_TIME,'%Y-%m-%d %H:%i:%s') <= ]]> #{timestamp}
<if test='searchContent != null and searchContent != ""'>
AND issue.ISSUE_CONTENT LIKE CONCAT('%',#{searchContent},'%')
</if>
issue.ID IN (
SELECT temp.ID FROM (
SELECT
t1.id
FROM
epdc_issue t1
LEFT JOIN epdc_events t2
ON t1.EVENT_ID = t2.ID
AND t2.DEL_FLAG = '0'
WHERE t1.DEL_FLAG = '0'
AND t1.ISSUE_STATE IN ( 0, 2 )
AND t1.GRID_ID = #{deptId}
<![CDATA[ AND DATE_FORMAT(t1.DISTRIBUTE_TIME,'%Y-%m-%d %H:%i:%s') >= ]]> #{someMonthsAgo}
<![CDATA[ AND DATE_FORMAT(t1.DISTRIBUTE_TIME,'%Y-%m-%d %H:%i:%s') <= ]]> #{timestamp}
<if test='searchContent != null and searchContent != ""'>
AND t1.ISSUE_CONTENT LIKE CONCAT('%',#{searchContent},'%')
</if>
<if test='categoryId != null and categoryId != ""'>
AND t1.ISSUE_CATEGORY_ID = #{categoryId}
</if>
ORDER BY
<if test='orderType == "1"'>( t2.APPROVE_NUM + t2.OPPOSE_NUM + t2.COMMENT_NUM + t2.BROWSE_NUM ) DESC,</if>
t1.DISTRIBUTE_TIME DESC
LIMIT #{pageIndex},#{pageSize}
) temp
)
ORDER BY
<if test='orderType == "1"'>statementNum DESC,</if>
issue.DISTRIBUTE_TIME DESC,
img.CREATED_TIME
LIMIT #{pageIndex},#{pageSize}
</select>
<resultMap id="issueDetailMap" type="com.elink.esua.epdc.dto.issue.result.IssueDetailResultDTO">
@ -239,7 +262,7 @@
img.IMG_URL
FROM
epdc_issue issue
LEFT JOIN epdc_img img ON issue.ID = img.REFERENCE_ID
LEFT JOIN epdc_img img ON issue.EVENT_ID = img.REFERENCE_ID
AND img.DEL_FLAG = '0'
LEFT JOIN epdc_events eve ON issue.EVENT_ID = eve.ID
AND eve.DEL_FLAG = '0'
@ -279,4 +302,23 @@
CREATED_TIME DESC
</select>
<select id="selectOneIssueCategoryStatistics" resultType="com.elink.esua.epdc.dto.issue.result.IssueCategoryStatisticsResultDTO">
SELECT
COUNT( issue.ID ) AS issueNum,
SUM( eve.APPROVE_NUM + eve.OPPOSE_NUM + eve.BROWSE_NUM + eve.COMMENT_NUM ) AS attitudeNum,
cate.CATEGORY_NAME,
cate.ID AS categoryId
FROM
epdc_issue issue
LEFT JOIN epdc_events eve ON issue.EVENT_ID = eve.ID
AND eve.DEL_FLAG = '0'
LEFT JOIN epdc_event_category cate ON issue.ISSUE_CATEGORY_ID = cate.ID
AND cate.DEL_FLAG = '0'
WHERE
issue.DEL_FLAG = '0'
AND issue.ISSUE_STATE IN ( 0, 2 )
AND issue.GRID_ID = #{gridId}
AND issue.ISSUE_CATEGORY_ID = #{categoryId}
</select>
</mapper>

99
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml

@ -69,23 +69,39 @@
AND eve.DEL_FLAG = '0'
LEFT JOIN epdc_event_category cate ON item.ISSUE_CATEGORY_ID = cate.ID
AND cate.DEL_FLAG = '0'
LEFT JOIN epdc_img img ON item.ID = img.REFERENCE_ID
LEFT JOIN epdc_img img ON item.EVENT_ID = img.REFERENCE_ID
AND img.DEL_FLAG = '0'
LEFT JOIN epdc_item_handle_process hp ON item.ID = hp.ITEM_ID
AND hp.DEL_FLAG = '0'
AND hp.CREATED_TIME = ( SELECT MAX( a.CREATED_TIME ) FROM epdc_item_handle_process a WHERE a.DEL_FLAG = '0' AND a.ITEM_ID = hp.ITEM_ID )
WHERE
item.DEL_FLAG = '0'
AND item.GRID_ID = #{deptId}
<![CDATA[ AND DATE_FORMAT(item.CREATED_TIME,'%Y-%m-%d %H:%i:%s') >= ]]> #{someMonthsAgo}
<![CDATA[ AND DATE_FORMAT(item.CREATED_TIME,'%Y-%m-%d %H:%i:%s') <= ]]> #{timestamp}
<if test='searchContent != null and searchContent != ""'>
AND item.ITEM_CONTENT LIKE CONCAT('%',#{searchContent},'%')
</if>
item.ID IN (
SELECT temp.ID FROM (
SELECT
t1.id
FROM
epdc_item t1
LEFT JOIN epdc_events t2
ON t1.EVENT_ID = t2.ID
AND t2.DEL_FLAG = '0'
WHERE t1.DEL_FLAG = '0'
AND t1.GRID_ID = #{deptId}
<![CDATA[ AND DATE_FORMAT(t1.CREATED_TIME,'%Y-%m-%d %H:%i:%s') >= ]]> #{someMonthsAgo}
<![CDATA[ AND DATE_FORMAT(t1.CREATED_TIME,'%Y-%m-%d %H:%i:%s') <= ]]> #{timestamp}
<if test='searchContent != null and searchContent != ""'>
AND t1.ITEM_CONTENT LIKE CONCAT('%',#{searchContent},'%')
</if>
<if test='categoryId != null and categoryId != ""'>
AND t1.ISSUE_CATEGORY_ID = #{categoryId}
</if>
ORDER BY
t1.CREATED_TIME DESC
LIMIT #{pageIndex},#{pageSize}
) temp
)
ORDER BY
item.CREATED_TIME DESC,
img.CREATED_TIME
LIMIT #{pageIndex},#{pageSize}
</select>
<resultMap id="itemDetailMap" type="com.elink.esua.epdc.dto.item.result.ItemDetailResultDTO">
@ -145,7 +161,7 @@
img.IMG_URL
FROM
epdc_item item
LEFT JOIN epdc_img img ON item.ID = img.REFERENCE_ID
LEFT JOIN epdc_img img ON item.EVENT_ID = img.REFERENCE_ID
AND img.DEL_FLAG = '0'
LEFT JOIN epdc_events eve ON item.EVENT_ID = eve.ID
AND eve.DEL_FLAG = '0'
@ -169,4 +185,67 @@
ORDER BY
img.CREATED_TIME
</select>
<select id="selectOneItemCategoryStatistics" resultType="com.elink.esua.epdc.dto.item.result.ItemCategoryStatisticsResultDTO">
SELECT
COUNT( item.ID ) AS itemNum,
SUM( eve.APPROVE_NUM + eve.OPPOSE_NUM + eve.BROWSE_NUM + eve.COMMENT_NUM ) AS attitudeNum,
cate.CATEGORY_NAME,
cate.ID AS categoryId
FROM
epdc_item item
LEFT JOIN epdc_events eve ON item.EVENT_ID = eve.ID
AND eve.DEL_FLAG = '0'
LEFT JOIN epdc_event_category cate ON item.ISSUE_CATEGORY_ID = cate.ID
AND cate.DEL_FLAG = '0'
WHERE
item.DEL_FLAG = '0'
AND item.GRID_ID = #{gridId}
AND item.ISSUE_CATEGORY_ID = #{categoryId}
</select>
<select id="selectListOfPendingHandleItems" resultType="com.elink.esua.epdc.dto.item.ItemPendingHandleDTO">
SELECT
item.ID,
item.ITEM_CONTENT,
item.CREATED_TIME,
item.NICK_NAME,
item.EVALUATION_SCORE,
eve.APPROVE_NUM,
eve.OPPOSE_NUM,
eve.COMMENT_NUM,
eve.BROWSE_NUM,
( eve.APPROVE_NUM + eve.OPPOSE_NUM + eve.COMMENT_NUM + eve.BROWSE_NUM ) AS participantsNum
FROM
epdc_item item
LEFT JOIN epdc_events eve ON item.EVENT_ID = eve.ID
AND eve.DEL_FLAG = '0'
WHERE
item.DEL_FLAG = '0'
AND item.ITEM_STATE = #{itemState}
AND item.ID IN (
SELECT
temp.ITEM_ID
FROM
( SELECT dept.ITEM_ID FROM epdc_item_dept dept WHERE dept.DEL_FLAG = '0' AND dept.DEPT_ID IN
<foreach item="deptId" collection="deptIdList" open="(" separator="," close=")">
#{deptId}
</foreach>
) temp
)
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
AND DATE_FORMAT( item.CREATED_TIME, '%Y-%m-%d' ) BETWEEN #{startTime} AND #{endTime}
</if>
<if test="gridId != null and gridId != ''">
AND item.GRID_ID = #{gridId}
</if>
<if test="streetId != null and streetId != ''">
AND item.STREET_ID = #{streetId}
</if>
<if test="communityId != null and communityId != ''">
AND item.COMMUNITY_ID = #{communityId}
</if>
ORDER BY
item.CREATED_TIME DESC
</select>
</mapper>

2
esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/controller/SmsController.java

@ -116,7 +116,7 @@ public class SmsController {
* @date 2019/9/6 16:50
*/
@GetMapping("sendCode")
public Result sendCode(String mobile) {
public Result sendCode(@RequestBody String mobile) {
if (StringUtils.isBlank(mobile)) {
return new Result().error();
}

5
esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/BannerDTO.java

@ -143,4 +143,9 @@ public class BannerDTO implements Serializable {
*/
private String creatorName;
/***
* banner位置
*/
private String position;
}

26
esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcBannerListFromDTO.java

@ -0,0 +1,26 @@
package com.elink.esua.epdc.dto.epdc.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @author: qushutong
* @Date: 2019/9/11 17:10
* @Description: banner列表
*/
@Data
public class EpdcBannerListFromDTO implements Serializable {
private static final long serialVersionUID = -178835849989066589L;
@NotBlank(message = "新闻位置不能为空")
private String position;
/**
* 网格ID
*/
@NotNull(message = "网格ID不能为空")
private Long deptId;
}

25
esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcNewsDetailFormDTO.java

@ -0,0 +1,25 @@
package com.elink.esua.epdc.dto.epdc.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 新闻详情
*
* @author yujintao
* @email yujintao@elink-cn.com
* @date 2019/9/12 10:37
*/
@Data
public class EpdcNewsDetailFormDTO implements Serializable {
private static final long serialVersionUID = -1361194389875631869L;
@NotBlank(message = "新闻ID不能为空")
private String newsId;
@NotBlank(message = "用户ID不能为空")
private String userId;
}

28
esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/EpdcIFristInfoResultDTO.java

@ -0,0 +1,28 @@
package com.elink.esua.epdc.dto.epdc.result;
import lombok.Data;
import java.io.Serializable;
/**
* @author: qushutong 首页第一条消息数据
* @Date: 2019/9/11 18:59
* @Description:
*/
@Data
public class EpdcIFristInfoResultDTO implements Serializable {
private static final long serialVersionUID = -8249847977818930805L;
/**
* id : 55864
* title : FSqWVB8jbB
* time : 1568199504633
* amount : 90109
*/
private String id;
private String title;
private String time;
private int amount;
}

32
esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/EpdcNewsDetailResultDTO.java

@ -6,9 +6,9 @@ import java.io.Serializable;
/**
* @author: qushutong
* @Date: 2019/9/7 13:32
* @Description: 新闻详情
* @author: qushutong
* @Date: 2019/9/7 13:32
* @Description: 新闻详情
*/
@Data
public class EpdcNewsDetailResultDTO implements Serializable {
@ -16,26 +16,22 @@ public class EpdcNewsDetailResultDTO implements Serializable {
private static final long serialVersionUID = 6765985767338100673L;
/**
* id : 82169
* newsTitle : d5bHhnWrMb
* newsStartTime : 1567831577224
* deptName : tKwzmvt6AQ
* newsContent : OYkfhRndiA
* readingAmount : 61372
* unlikeNumber : 64579
* likeNumber : 75873
* categoryName : p2PEfoKEQD
*/
private String id;
private String newsTitle;
private String newsStartTime;
private String deptName;
private String newsContent;
private int readingAmount;
private int unlikeNumber;
private int likeNumber;
private Integer readingAmount;
private Integer unlikeNumber;
private Integer likeNumber;
private String categoryName;
/**
* 用户是否已点赞 0否1是
*/
private String likeFlag;
/**
* 用户是否已踩 0否1是
*/
private String unLikeFlag;
}

15
esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/EpdcNewsListResultDTO.java

@ -6,22 +6,14 @@ import java.io.Serializable;
/**
* @author: qushutong
* @Date: 2019/9/7 11:22
* @Description: 用于移动端 新闻列表
* @author: qushutong
* @Date: 2019/9/7 11:22
* @Description: 用于移动端 新闻列表
*/
@Data
public class EpdcNewsListResultDTO implements Serializable {
private static final long serialVersionUID = -7339344639815196599L;
/**
* id : 64169
* newsTitle : EZzAN7yh9R
* newsStartTime : 1567680303200
* deptName : dcgGCA2jmS
* newsCategoryName : ceBk9KBJoy
* newsImageUrl : http://wda.mwtdqdkwqrclpb.cnaqd
*/
private String id;
private String newsTitle;
@ -29,5 +21,4 @@ public class EpdcNewsListResultDTO implements Serializable {
private String deptName;
private String newsCategoryName;
private String newsImageUrl;
}

18
esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/enums/AppNewsLikeEnum.java

@ -38,4 +38,22 @@ public enum AppNewsLikeEnum {
return value;
}
/**
* 根据值获取枚举对象
*
* @param value
* @return com.elink.esua.epdc.enums.AppNewsLikeEnum
* @author yujintao
* @date 2019/9/12 15:35
*/
public static AppNewsLikeEnum getEnumByValue(String value) {
AppNewsLikeEnum[] enums = AppNewsLikeEnum.values();
for (AppNewsLikeEnum anEnum : enums) {
if (anEnum.value().equals(value)) {
return anEnum;
}
}
return null;
}
}

6
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppInformationController.java

@ -23,6 +23,7 @@ import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcInformationListFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcInformationReadFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcIFristInfoResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcInformationListResultDTO;
import com.elink.esua.epdc.service.InformationService;
import org.springframework.beans.factory.annotation.Autowired;
@ -85,4 +86,9 @@ public class EpdcAppInformationController {
ValidatorUtils.validateEntity(formDto);
return this.informationService.listByUserId(formDto);
}
@PostMapping("first/{userId}")
public Result<EpdcIFristInfoResultDTO> selectOneFristByUserId(@PathVariable("userId") String userId){
return informationService.selectOneFristByUserId(userId);
}
}

17
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppNewsController.java

@ -21,9 +21,7 @@ import com.elink.esua.epdc.commons.tools.constant.Constant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.dto.BannerDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcNewsBrowseFromDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcNewsListFromDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcNewsStatementFromDTO;
import com.elink.esua.epdc.dto.epdc.form.*;
import com.elink.esua.epdc.dto.epdc.result.EpdcBannerListResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcNewsDetailResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcNewsListResultDTO;
@ -77,10 +75,9 @@ public class EpdcAppNewsController {
* @Exception
*
*/
@GetMapping("detail/{newsId}")
public Result<EpdcNewsDetailResultDTO> getNewsDetail(@PathVariable("newsId") String id) {
Result<EpdcNewsDetailResultDTO> newsDetail = newsService.getNewsDetail(id);
return newsDetail;
@GetMapping("detail")
public Result<EpdcNewsDetailResultDTO> getNewsDetail(@RequestBody EpdcNewsDetailFormDTO formDto) {
return newsService.getNewsDetail(formDto);
}
/***
@ -121,8 +118,8 @@ public class EpdcAppNewsController {
* @author qushutong
* @date 2019/9/10 20:58
*/
@GetMapping("list/{deptId}")
public Result<List<EpdcBannerListResultDTO>> listBanner(@PathVariable("deptId") Long deptId ){
return new Result<List<EpdcBannerListResultDTO>>().ok(bannerService.listBanner(deptId));
@GetMapping("list")
public Result<List<EpdcBannerListResultDTO>> listBanner(@RequestBody EpdcBannerListFromDTO fromDTO ){
return new Result<List<EpdcBannerListResultDTO>>().ok(bannerService.listBanner(fromDTO));
}
}

5
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/BannerDao.java

@ -19,6 +19,7 @@ package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.BannerDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcBannerListFromDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcBannerListResultDTO;
import com.elink.esua.epdc.entity.BannerEntity;
import org.apache.ibatis.annotations.Mapper;
@ -35,10 +36,10 @@ import java.util.List;
public interface BannerDao extends BaseDao<BannerEntity> {
/***
* banner 列表
* @param deptId
* @param fromDTO
* @return java.util.List<com.elink.esua.epdc.dto.BannerDTO>
* @author qushutong
* @date 2019/9/11 9:00
*/
List<EpdcBannerListResultDTO> selectListBanner(Long deptId);
List<EpdcBannerListResultDTO> selectListBanner(EpdcBannerListFromDTO fromDTO);
}

10
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/InformationDao.java

@ -19,6 +19,7 @@ package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.epdc.form.EpdcInformationListFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcIFristInfoResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcInformationListResultDTO;
import com.elink.esua.epdc.entity.InformationEntity;
import org.apache.ibatis.annotations.Mapper;
@ -43,4 +44,13 @@ public interface InformationDao extends BaseDao<InformationEntity> {
* @date 2019/9/10 16:47
*/
List<EpdcInformationListResultDTO> selectListInfromation(EpdcInformationListFormDTO formDto);
/***
* s首页第一条包括未读数
* @param userId
* @return java.lang.Integer
* @author qushutong
* @date 2019/9/11 18:44
*/
EpdcIFristInfoResultDTO selectOneFristByUserId(String userId);
}

28
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/NewsDao.java

@ -18,6 +18,7 @@
package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.epdc.form.EpdcNewsDetailFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcNewsListFromDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcNewsDetailResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcNewsListResultDTO;
@ -36,25 +37,26 @@ import java.util.List;
public interface NewsDao extends BaseDao<NewsEntity> {
int selectCountByCategoryId(String categoryId);
/***
* @Description 新闻列表api
* @Author qushutong
* @Date 2019/9/7 12:13
* @Param [formDto]
* @Return java.util.List<com.elink.esua.epdc.dto.epdc.result.EpdcNewsListResultDTO>
* @Description 新闻列表api
* @Author qushutong
* @Date 2019/9/7 12:13
* @Param [formDto]
* @Return java.util.List<com.elink.esua.epdc.dto.epdc.result.EpdcNewsListResultDTO>
* @Exception
*
*/
List<EpdcNewsListResultDTO> selectListAppNews(EpdcNewsListFromDTO formDto);
/***
* @Description 获取新闻详情
* @Author qushutong
* @Date 2019/9/7 14:25
* @Param [id]
* @Return com.elink.esua.epdc.dto.epdc.result.EpdcNewsDetailResultDTO
* @Exception
/**
* 移动端获取新闻详情
*
* @param formDto
* @return com.elink.esua.epdc.dto.epdc.result.EpdcNewsDetailResultDTO
* @author yujintao
* @date 2019/9/12 10:41
*/
EpdcNewsDetailResultDTO selectOneAppNewsDetailById(String id);
EpdcNewsDetailResultDTO selectOneAppNewsDetail(EpdcNewsDetailFormDTO formDto);
}

5
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/entity/BannerEntity.java

@ -113,4 +113,9 @@ public class BannerEntity extends BaseEpdcEntity {
*/
private String creatorName;
/***
* banner位置
*/
private String position;
}

5
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/BannerService.java

@ -20,6 +20,7 @@ package com.elink.esua.epdc.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.dto.BannerDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcBannerListFromDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcBannerListResultDTO;
import com.elink.esua.epdc.entity.BannerEntity;
@ -95,10 +96,10 @@ public interface BannerService extends BaseService<BannerEntity> {
/***
* banner列表
* @param deptId
* @param fromDTO
* @return java.util.List<com.elink.esua.epdc.dto.BannerDTO>
* @author qushutong
* @date 2019/9/11 8:59
*/
List<EpdcBannerListResultDTO> listBanner(Long deptId);
List<EpdcBannerListResultDTO> listBanner(EpdcBannerListFromDTO fromDTO);
}

10
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/InformationService.java

@ -24,6 +24,7 @@ import com.elink.esua.epdc.dto.InformationDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcInformationListFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcInformationReadFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcIFristInfoResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcInformationListResultDTO;
import com.elink.esua.epdc.entity.InformationEntity;
@ -127,4 +128,13 @@ public interface InformationService extends BaseService<InformationEntity> {
* @date 2019/9/10 16:43
*/
Result<List<EpdcInformationListResultDTO>> listByUserId(EpdcInformationListFormDTO formDto);
/***
* S首页未读数和最新一条
* @param userId
* @return com.elink.esua.epdc.dto.epdc.result.EpdcIFristInfoResultDTO
* @author qushutong
* @date 2019/9/11 19:05
*/
Result<EpdcIFristInfoResultDTO> selectOneFristByUserId(String userId);
}

26
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NewsService.java

@ -22,6 +22,7 @@ import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.NewsDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcNewsBrowseFromDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcNewsDetailFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcNewsListFromDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcNewsStatementFromDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcNewsDetailResultDTO;
@ -136,16 +137,15 @@ public interface NewsService extends BaseService<NewsEntity> {
*/
Result<List<EpdcNewsListResultDTO>> listNews(EpdcNewsListFromDTO formDto);
/***
* @Description 获取新闻详情
* @Author qushutong
* @Date 2019/9/7 13:35
* @Param [newsId]
* @Return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcNewsDetailResultDTO>
* @Exception
/**
* 获取新闻详情
*
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcNewsDetailResultDTO>
* @author yujintao
* @date 2019/9/12 10:40
*/
Result<EpdcNewsDetailResultDTO> getNewsDetail(String newsId);
Result<EpdcNewsDetailResultDTO> getNewsDetail(EpdcNewsDetailFormDTO formDto);
/***
* @Description 新闻点赞或踩
@ -159,11 +159,11 @@ public interface NewsService extends BaseService<NewsEntity> {
Result modifyStatement(EpdcNewsStatementFromDTO newsStatementFromDTO);
/***
* @Description 新闻浏览
* @Author qushutong
* @Date 2019/9/7 14:44
* @Param [newsBrowseFromDTO]
* @Return com.elink.esua.epdc.commons.tools.utils.Result
* @Description 新闻浏览
* @Author qushutong
* @Date 2019/9/7 14:44
* @Param [newsBrowseFromDTO]
* @Return com.elink.esua.epdc.commons.tools.utils.Result
* @Exception
*
*/

8
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/BannerServiceImpl.java

@ -31,6 +31,7 @@ import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dao.BannerDao;
import com.elink.esua.epdc.dto.BannerDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcBannerListFromDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcBannerListResultDTO;
import com.elink.esua.epdc.entity.BannerEntity;
import com.elink.esua.epdc.feign.AdminFeignClient;
@ -78,9 +79,10 @@ public class BannerServiceImpl extends BaseServiceImpl<BannerDao, BannerEntity>
private QueryWrapper<BannerEntity> getWrapper(Map<String, Object> params) {
String id = (String) params.get(FieldConstant.ID_HUMP);
String title = (String) params.get("title");
QueryWrapper<BannerEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
wrapper.like(StringUtils.isNotBlank(title), "TITLE", title);
return wrapper;
}
@ -156,8 +158,8 @@ public class BannerServiceImpl extends BaseServiceImpl<BannerDao, BannerEntity>
}
@Override
public List<EpdcBannerListResultDTO> listBanner(Long deptId) {
return baseDao.selectListBanner(deptId);
public List<EpdcBannerListResultDTO> listBanner(EpdcBannerListFromDTO fromDTO) {
return baseDao.selectListBanner(fromDTO);
}
}

6
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/InformationServiceImpl.java

@ -31,6 +31,7 @@ import com.elink.esua.epdc.dto.InformationDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcInformationListFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcInformationReadFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcIFristInfoResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcInformationListResultDTO;
import com.elink.esua.epdc.entity.InformationEntity;
import com.elink.esua.epdc.service.InformationService;
@ -127,4 +128,9 @@ public class InformationServiceImpl extends BaseServiceImpl<InformationDao, Info
List<EpdcInformationListResultDTO> list = this.baseDao.selectListInfromation(formDto);
return new Result().ok(list);
}
@Override
public Result<EpdcIFristInfoResultDTO> selectOneFristByUserId(String userId) {
return new Result<EpdcIFristInfoResultDTO>().ok(baseDao.selectOneFristByUserId(userId));
}
}

17
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java

@ -33,6 +33,7 @@ import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dao.NewsDao;
import com.elink.esua.epdc.dto.NewsDTO;
import com.elink.esua.epdc.dto.NewsUserAttitudeDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcNewsDetailFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcNewsListResultDTO;
import com.elink.esua.epdc.entity.NewsUserAttitudeEntity;
import com.elink.esua.epdc.enums.AppNewsLikeEnum;
@ -170,8 +171,8 @@ public class NewsServiceImpl extends BaseServiceImpl<NewsDao, NewsEntity> implem
String onLineState = parmas.get("onLineState");
NewsDTO newsDTO = get(id);
//判断下是不是上线 是的话才执行
if (YesOrNoEnum.YES.value().equals(newsDTO.getNewsUpDownState())) {
newsDTO.setNewsUpDownState(onLineState);
if (YesOrNoEnum.NO.value().equals(newsDTO.getNewsUpDownState())) {
newsDTO.setNewsUpDownState(YesOrNoEnum.YES.value());
NewsEntity entity = ConvertUtils.sourceToTarget(newsDTO, NewsEntity.class);
updateById(entity);
return true;
@ -267,9 +268,9 @@ public class NewsServiceImpl extends BaseServiceImpl<NewsDao, NewsEntity> implem
}
@Override
public Result<EpdcNewsDetailResultDTO> getNewsDetail(String newsId) {
EpdcNewsDetailResultDTO epdcNewsDetailResultDTO = baseDao.selectOneAppNewsDetailById(newsId);
return new Result<EpdcNewsDetailResultDTO>().ok(epdcNewsDetailResultDTO);
public Result<EpdcNewsDetailResultDTO> getNewsDetail(EpdcNewsDetailFormDTO formDto) {
EpdcNewsDetailResultDTO epdcNewsDetailResultDTO = baseDao.selectOneAppNewsDetail(formDto);
return new Result().ok(epdcNewsDetailResultDTO);
}
@Override
@ -289,8 +290,10 @@ public class NewsServiceImpl extends BaseServiceImpl<NewsDao, NewsEntity> implem
}
// 新表态(本次提交)
String newAttitudeFlag = statementFromDto.getAttitude();
AppNewsLikeEnum newAttitude = AppNewsLikeEnum.valueOf(newAttitudeFlag);
AppNewsLikeEnum newAttitude = AppNewsLikeEnum.getEnumByValue(newAttitudeFlag);
if (null == newAttitude) {
return new Result().error("表态值非法");
}
NewsEntity newsEntity = new NewsEntity();
//表态 0赞;1踩;2取消赞;3取消踩
switch (newAttitude) {

2
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/BannerDao.xml

@ -26,6 +26,7 @@
<result property="communityId" column="COMMUNITY_ID"/>
<result property="grid" column="GRID"/>
<result property="creatorName" column="CREATOR_NAME"/>
<result property="position" column="POSITION"/>
</resultMap>
<select id="selectListBanner" resultType="com.elink.esua.epdc.dto.epdc.result.EpdcBannerListResultDTO">
SELECT
@ -37,6 +38,7 @@
LEFT JOIN epdc_banner_department ed ON ed.GRID_ID = #{deptId}
WHERE
eb.STATE = '1'
AND eb.POSITION = #{position}
AND eb.DEL_FLAG = '0'
AND ed.DEL_FLAG = '0'
</select>

16
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/InformationDao.xml

@ -25,4 +25,20 @@
im.READ_FLAG DESC, im.CREATED_TIME DESC
LIMIT #{pageIndex},#{pageSize}
</select>
<select id="selectOneFristByUserId" resultType="com.elink.esua.epdc.dto.epdc.result.EpdcIFristInfoResultDTO">
SELECT
im.ID AS id,
im.TITLE AS title,
im.CREATED_TIME AS time,
COUNT(im.ID) AS amount
FROM
epdc_information im
WHERE
im.USER_ID = #{userId}
AND im.READ_FLAG = '0'
ORDER BY
im.CREATED_TIME
LIMIT 0,1
</select>
</mapper>

48
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NewsDao.xml

@ -3,36 +3,6 @@
<mapper namespace="com.elink.esua.epdc.dao.NewsDao">
<resultMap type="com.elink.esua.epdc.entity.NewsEntity" id="newsMap">
<result property="id" column="ID"/>
<result property="newsTitle" column="NEWS_TITLE"/>
<result property="newsContent" column="NEWS_CONTENT"/>
<result property="newsCateroryId" column="NEWS_CATERORY_ID"/>
<result property="newsProperty" column="NEWS_PROPERTY"/>
<result property="newsImageUrl" column="NEWS_IMAGE_URL"/>
<result property="newsUpDownState" column="NEWS_UP_DOWN_STATE"/>
<result property="newsReleaseStartTime" column="NEWS_RELEASE_START_TIME"/>
<result property="newsReleaseEndTime" column="NEWS_RELEASE_END_TIME"/>
<result property="deptName" column="DEPT_NAME"/>
<result property="deptId" column="DEPT_ID"/>
<result property="readingAmount" column="READING_AMOUNT"/>
<result property="likeNumber" column="LIKE_NUMBER"/>
<result property="unLikeNumber" column="UN_LIKE_NUMBER"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
<result property="street" column="STREET"/>
<result property="streetId" column="STREET_ID"/>
<result property="community" column="COMMUNITY"/>
<result property="communityId" column="COMMUNITY_ID"/>
<result property="grid" column="GRID"/>
<result property="gridId" column="GRID_ID"/>
<result property="creatorName" column="CREATOR_NAME"/>
<result property="newsReleaseState" column="NEWS_RELEASE_STATE"/>
</resultMap>
<select id="selectCountByCategoryId" resultType="int">
SELECT
COUNT(*) AS count
@ -41,6 +11,7 @@
WHERE
NEWS_CATERORY_ID = #{categoryId}
</select>
<select id="selectListAppNews" resultType="com.elink.esua.epdc.dto.epdc.result.EpdcNewsListResultDTO">
SELECT
en.ID AS id,
@ -67,24 +38,27 @@
en.NEWS_RELEASE_START_TIME DESC
LIMIT #{pageIndex},#{pageSize}
</select>
<select id="selectOneAppNewsDetailById" resultType="com.elink.esua.epdc.dto.epdc.result.EpdcNewsDetailResultDTO">
<select id="selectOneAppNewsDetail"
resultType="com.elink.esua.epdc.dto.epdc.result.EpdcNewsDetailResultDTO">
SELECT
en.ID AS id,
en.NEWS_TITLE AS newsTitle,
en.NEWS_RELEASE_START_TIME AS newsStartTime,
IFNULL(
IFNULL(en.GRID, en.COMMUNITY),
en.STREET
) AS deptName,
IFNULL( IFNULL(en.GRID, en.COMMUNITY), en.STREET ) AS deptName,
en.NEWS_CONTENT AS newsContent,
en.READING_AMOUNT AS readingAmount,
en.UN_LIKE_NUMBER AS unlikeNumber,
en.LIKE_NUMBER AS likeNumber,
nc.CATEGORY_NAME AS categoryName
nc.CATEGORY_NAME AS categoryName,
CASE nu.ATTITUDE_FLAG WHEN '0' THEN '1' ELSE '0' END AS likeFlag,
CASE nu.ATTITUDE_FLAG WHEN '1' THEN '1' ELSE '0' END AS unLikeFlag
FROM
epdc_news en
LEFT JOIN epdc_news_category nc ON en.NEWS_CATERORY_ID = nc.ID
LEFT JOIN epdc_news_user_attitude nu on nu.EPDC_NEWS_ID = en.ID AND nu.USER_ID = #{userId} AND nu.DEL_FLAG = '0'
WHERE
en.ID = #{id}
en.ID = #{newsId}
</select>
</mapper>

16
esua-epdc/epdc-module/epdc-oss/epdc-oss-client/src/main/java/com/elink/esua/epdc/dto/UploadFormDTO.java

@ -0,0 +1,16 @@
package com.elink.esua.epdc.dto;
import lombok.Data;
import java.io.Serializable;
/**
* @Author LC
* @Date 2019/9/11 19:22
*/
@Data
public class UploadFormDTO implements Serializable {
private static final long serialVersionUID = -3595962954673866413L;
private String base64String;
}

19
esua-epdc/epdc-module/epdc-oss/epdc-oss-server/src/main/java/com/elink/esua/epdc/controller/OssController.java

@ -15,6 +15,7 @@ import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.commons.tools.validator.group.AliyunGroup;
import com.elink.esua.epdc.commons.tools.validator.group.QcloudGroup;
import com.elink.esua.epdc.commons.tools.validator.group.QiniuGroup;
import com.elink.esua.epdc.dto.UploadFormDTO;
import com.elink.esua.epdc.entity.OssEntity;
import com.elink.esua.epdc.exception.ModuleErrorCode;
import com.elink.esua.epdc.remote.ParamsRemoteService;
@ -40,10 +41,12 @@ import com.elink.esua.epdc.remote.ParamsRemoteService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import springfox.documentation.annotations.ApiIgnore;
import sun.misc.BASE64Decoder;
import java.util.Arrays;
import java.util.Date;
@ -138,4 +141,20 @@ public class OssController {
return new Result();
}
@PostMapping("uploadBase64")
@ApiOperation(value = "上传文件")
public Result<String> uploadFile(@RequestBody UploadFormDTO formDTO) throws Exception {
if (null == formDTO || StringUtils.isEmpty(formDTO.getBase64String())) {
return new Result<String>().error(ModuleErrorCode.UPLOAD_FILE_EMPTY);
}
String[] base64ImgArr = formDTO.getBase64String().split(",");
String suffixTmp = base64ImgArr[0];
String suffix = suffixTmp.substring(11, suffixTmp.indexOf(";"));
byte[] imgBytes = new BASE64Decoder().decodeBuffer(base64ImgArr[1]);
String url = OssFactory.build().uploadSuffix(imgBytes, suffix);
System.out.println("base64:"+formDTO.getBase64String());
System.out.println("url:"+url);
return new Result<String>().ok(url);
}
}

14
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/UserDTO.java

@ -151,19 +151,9 @@ public class UserDTO implements Serializable {
private String villageName;
/**
* 所在楼栋号
* 住处楼栋-单元-房间
*/
private String buildingCode;
/**
* 所在门牌号
*/
private String houseCode;
/**
* 所在单元号
*/
private String unitCode;
private String dwellingPlace;
/**
* 居民住址

12
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcUserRegistFormDTO.java

@ -55,17 +55,9 @@ public class EpdcUserRegistFormDTO implements Serializable {
*/
private String villageName;
/**
* 楼栋号
* 住处楼栋-单元-房间
*/
private String buildingCode;
/**
* 单元号
*/
private String unitCode;
/**
* 门牌号
*/
private String houseCode;
private String dwellingPlace;
/**
* 微信code
*/

19
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/EpdcUserInfoResultDTO.java

@ -6,22 +6,8 @@ import java.io.Serializable;
@Data
public class EpdcUserInfoResultDTO implements Serializable {
private static final long serialVersionUID = -6180752191444428845L;
/**
* id : 76285
* nickname : O6NgD993cl
* mobile : hXK5rtfPpz
* identityNo : OxwNGTzPQb
* deptName : S28bmHve2o
* realName : kGO1tskRFD
* road : bp1wmRHqbu
* villageName : ddev0Yeu9V
* buildingCode : eREM7kdwep
* unitCode : n36b2wWNzN
* headImg : l4pXJYvRwG
*/
private static final long serialVersionUID = -6180752191444428845L;
private String id;
private String nickname;
@ -31,8 +17,7 @@ public class EpdcUserInfoResultDTO implements Serializable {
private String realName;
private String road;
private String villageName;
private String buildingCode;
private String unitCode;
private String dwellingPlace;
private String faceImg;
}

12
esua-epdc/epdc-module/epdc-user/epdc-user-server/pom.xml

@ -45,18 +45,6 @@
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>${spring.boot.admin.version}</version>
</dependency>
<!--微信公众号-->
<dependency>
<groupId>com.github.binarywang</groupId>
<artifactId>weixin-java-mp</artifactId>
<version>3.4.0</version>
</dependency>
<!--token-->
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.9.0</version>
</dependency>
</dependencies>
<build>

45
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/config/WxMpConfig.java

@ -1,45 +0,0 @@
package com.elink.esua.epdc.config;
import com.elink.esua.epdc.config.property.WxMpProperties;
import me.chanjar.weixin.mp.api.WxMpConfigStorage;
import me.chanjar.weixin.mp.api.WxMpInMemoryConfigStorage;
import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* 微信公众号配置
*
* @author yujintao
* @date 2019/6/17 17:38
*/
@Configuration
@EnableConfigurationProperties(WxMpProperties.class)
public class WxMpConfig {
private WxMpProperties properties;
@Autowired
public WxMpConfig(WxMpProperties properties) {
this.properties = properties;
}
@Bean
public WxMpService wxMpService() {
WxMpService wxMpService = new WxMpServiceImpl();
wxMpService.setWxMpConfigStorage(wxMpConfigStorage());
return wxMpService;
}
@Bean
public WxMpConfigStorage wxMpConfigStorage() {
WxMpInMemoryConfigStorage wxMpConfigStorage = new WxMpInMemoryConfigStorage();
wxMpConfigStorage.setAppId(properties.getAppid());
wxMpConfigStorage.setSecret(properties.getSecret());
return wxMpConfigStorage;
}
}

26
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/config/property/WxMpProperties.java

@ -1,26 +0,0 @@
package com.elink.esua.epdc.config.property;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
/**
* 微信公众号框架配置类
*
* @author
* @Date
*/
@Data
@ConfigurationProperties(prefix = "wx.mp")
public class WxMpProperties {
/**
* 设置微信公众号的appid
*/
private String appid;
/**
* 设置微信公众号的Secret
*/
private String secret;
}

8
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserDao.java

@ -31,5 +31,13 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserDao extends BaseDao<UserEntity> {
/**
* 获取个人用户信息
*
* @param id
* @return com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO
* @author yujintao
* @date 2019/9/12 15:29
*/
EpdcUserInfoResultDTO selectOneInfoById(String id);
}

14
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/entity/UserEntity.java

@ -149,19 +149,9 @@ public class UserEntity extends BaseEpdcEntity {
private String villageName;
/**
* 所在楼栋号
* 住处楼栋-单元-房间
*/
private String buildingCode;
/**
* 所在单元号
*/
private String unitCode;
/**
* 所在门牌号
*/
private String houseCode;
private String dwellingPlace;
/**
* 居民住址

43
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/jwt/JwtProperties.java

@ -1,43 +0,0 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.elink.esua.epdc.jwt;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
/**
* Jwt
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Configuration
@ConfigurationProperties(prefix = "jwt")
public class JwtProperties {
private String secret;
private int expire;
public String getSecret() {
return secret;
}
public void setSecret(String secret) {
this.secret = secret;
}
public int getExpire() {
return expire;
}
public void setExpire(int expire) {
this.expire = expire;
}
}

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save