diff --git a/esua-epdc/epdc-commons/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/util/CpUserDetailRedis.java b/esua-epdc/epdc-commons/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/util/CpUserDetailRedis.java index 6101c8f1f..791e89b9c 100644 --- a/esua-epdc/epdc-commons/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/util/CpUserDetailRedis.java +++ b/esua-epdc/epdc-commons/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/util/CpUserDetailRedis.java @@ -79,4 +79,16 @@ public class CpUserDetailRedis { public boolean expire(String userId, long expire) { return redisUtils.expire(RedisKeys.getCpUserKey(userId), expire); } + + /** + * 查询token剩余时间 + * + * @param userId + * @return long + * @author yujintao + * @date 2019/9/9 14:18 + */ + public long getExpire(String userId) { + return redisUtils.getExpire(RedisKeys.getCpUserKey(userId)); + } } diff --git a/esua-epdc/epdc-commons/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/util/TokenUtil.java b/esua-epdc/epdc-commons/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/util/TokenUtil.java index ba8a32beb..eebd4f708 100644 --- a/esua-epdc/epdc-commons/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/util/TokenUtil.java +++ b/esua-epdc/epdc-commons/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/util/TokenUtil.java @@ -33,7 +33,19 @@ public class TokenUtil { redisUtils.logout(userId); } - public boolean delayToken(String token) { - return redisUtils.expire(token, tokenPropertise.getExpire()); + public boolean delayToken(String userId) { + return redisUtils.expire(userId, tokenPropertise.getExpire()); + } + + /** + * 获取token过期时间 + * + * @param userId + * @return long + * @author yujintao + * @date 2019/9/9 14:19 + */ + public long getExpire(String userId) { + return redisUtils.getExpire(userId); } } diff --git a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/Constant.java b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/Constant.java index 98b0a7465..e9993322b 100644 --- a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/Constant.java +++ b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/Constant.java @@ -60,11 +60,6 @@ public interface Constant { */ String CREATE_DATE = "create_date"; - /** - * 创建时间字段名 - */ - String CREATED_TIME = "created_time"; - /** * 数据权限过滤 */ diff --git a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/FieldConstant.java b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/FieldConstant.java index 6b686071a..f31cc19d1 100644 --- a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/FieldConstant.java +++ b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/FieldConstant.java @@ -33,4 +33,22 @@ public interface FieldConstant { String NAME = "NAME"; String NAME_HUMP = "name"; + + String MOBILE = "MOBILE"; + String MOBILE_HUMP = "mobile"; + + String STATE = "STATE"; + String STATE_HUMP = "state"; + + String STREET_ID = "STREET_ID"; + String STREET_ID_HUMP = "streetId"; + + String COMMUNITY_ID = "COMMUNITY_ID"; + String COMMUNITY_ID_HUMP = "communityId"; + + String GRID_ID = "GRID_ID"; + String GRID_ID_HUMP = "gridId"; + + + } diff --git a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisUtils.java b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisUtils.java index f9fd94eea..66577cee4 100644 --- a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisUtils.java +++ b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisUtils.java @@ -134,6 +134,10 @@ public class RedisUtils { return redisTemplate.expire(key, expire, TimeUnit.SECONDS); } + public long getExpire(String key) { + return redisTemplate.getExpire(key, TimeUnit.SECONDS); + } + public void hDel(String key, Object... fields) { redisTemplate.opsForHash().delete(key, fields); } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/form/EpdcAppUserTokenFormDTO.java b/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/form/EpdcAppUserTokenFormDTO.java new file mode 100644 index 000000000..a486ccb04 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/form/EpdcAppUserTokenFormDTO.java @@ -0,0 +1,25 @@ +package com.elink.esua.epdc.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 用户登录,获取token + * + * @author yujintao + * @email yujintao@elink-cn.com + * @date 2019/9/9 10:48 + */ +@Data +public class EpdcAppUserTokenFormDTO implements Serializable { + + private static final long serialVersionUID = 5143037207300507252L; + + /** + * 微信code + */ + @NotBlank(message = "微信code不能为空") + private String wxCode; +} diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcAppAuthorizationDTO.java b/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcAppAuthorizationDTO.java new file mode 100644 index 000000000..4526d09b7 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcAppAuthorizationDTO.java @@ -0,0 +1,43 @@ +/** + * Copyright (c) 2018 人人开源 All rights reserved. + * + * https://www.renren.io + * + * 版权所有,侵权必究! + */ + +package com.elink.esua.epdc.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 授权信息 + * + * @author Mark sunlightcs@gmail.com + * @since 1.0.0 + */ +@Data +public class EpdcAppAuthorizationDTO implements Serializable { + + private static final long serialVersionUID = 3908231797102233188L; + + /** + * 令牌 + */ + private String token; + /** + * token超时时间,秒 + */ + private Long expire; + /** + * 用户ID + */ + private String userId; + /** + * 用户状态[AppUserStateEnum] + */ + private String userState; + +} diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppUserController.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppUserController.java index 16a715bed..9b31f3995 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppUserController.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppUserController.java @@ -3,12 +3,11 @@ 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.epdc.form.EpdcUserRegistFormDTO; +import com.elink.esua.epdc.dto.form.EpdcAppUserTokenFormDTO; +import com.elink.esua.epdc.dto.result.EpdcAppAuthorizationDTO; import com.elink.esua.epdc.service.AppUserService; 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 org.springframework.web.bind.annotation.*; /** * 用户模块 @@ -24,9 +23,31 @@ public class ApiAppUserController { @Autowired private AppUserService appUserService; + /** + * 用户注册 + * + * @param formDto + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author yujintao + * @date 2019/9/9 10:41 + */ @PostMapping("user/regist") - public Result userRegist(@RequestBody EpdcUserRegistFormDTO formDto){ + public Result userRegist(@RequestBody EpdcUserRegistFormDTO formDto) { ValidatorUtils.validateEntity(formDto); return appUserService.userRegist(formDto); } + + /** + * 用户登录,获取token + * + * @param formDto + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author yujintao + * @date 2019/9/9 10:52 + */ + @GetMapping("user/getToken") + public Result getToken(@RequestBody EpdcAppUserTokenFormDTO formDto) { + ValidatorUtils.validateEntity(formDto); + return appUserService.getToken(formDto); + } } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiIssueController.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiIssueController.java index 95039aaf0..cb12f1de6 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiIssueController.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiIssueController.java @@ -7,6 +7,9 @@ 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; +import com.elink.esua.epdc.dto.issue.result.IssueCategoryStatisticsResultDTO; +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.springframework.beans.factory.annotation.Autowired; @@ -69,4 +72,40 @@ public class ApiIssueController { formDto.setUserId(userDetail.getUserId()); return issueService.statement(formDto); } + /** + * 议题详情 + * @Params: [userDetail, issueId] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result + * @Author: liuchuang + * @Date: 2019/9/9 11:16 + */ + @GetMapping("detail/{issueId}") + public Result issueDetail(@LoginUser TokenDto userDetail, @PathVariable String issueId) { + return issueService.getIssueDetail(userDetail, issueId); + } + + /** + * 议题分类统计 + * @Params: [userDetail, categoryId] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result + * @Author: liuchuang + * @Date: 2019/9/9 12:26 + */ + @GetMapping("statistics/{categoryId}") + public Result issueCategoryStatistics(@LoginUser TokenDto userDetail, @PathVariable String categoryId) { + return issueService.getIssueCategoryStatistics(userDetail, categoryId); + } + + /** + * 议题处理进度 + * @Params: [issueId] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result> + * @Author: liuchuang + * @Date: 2019/9/9 13:14 + */ + @GetMapping("progress/{issueId}") + public Result> issueHandleProgress(@PathVariable String issueId) { + return issueService.getIssueHandleProgress(issueId); + } + } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiNewsController.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiNewsController.java index 510fbc885..847e95297 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiNewsController.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiNewsController.java @@ -94,7 +94,7 @@ public class ApiNewsController { * */ @GetMapping("news/detail/{newsId}") - public Result getNewsDetail(@PathVariable("id") String id){ + public Result getNewsDetail(@PathVariable("newsId") String id){ Result newsDetail = newsService.getNewsDetail(id); return newsDetail; } @@ -107,7 +107,7 @@ public class ApiNewsController { * @Exception * */ - @PostMapping("statement") + @PostMapping("news/statement") public Result upDateStatement(@LoginUser TokenDto userDetail, EpdcNewsStatementFromDTO newsStatementFromDTO){ ValidatorUtils.validateEntity(newsStatementFromDTO); return newsService.upDateStatement(userDetail,newsStatementFromDTO); @@ -122,7 +122,7 @@ public class ApiNewsController { * @Exception * */ - @PostMapping("browse") + @PostMapping("news/browse") public Result modifyNewsBrowse(@RequestBody EpdcNewsBrowseFromDTO newsBrowseFromDTO){ ValidatorUtils.validateEntity(newsBrowseFromDTO); return newsService.modifyNewsBrowse(newsBrowseFromDTO); diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/IssueFeignClient.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/IssueFeignClient.java index 4090be860..2856b5d80 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/IssueFeignClient.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/IssueFeignClient.java @@ -3,13 +3,19 @@ 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.events.form.EpdcEventSubmitFormDTO; +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.StatementFormDTO; +import com.elink.esua.epdc.dto.issue.result.IssueCategoryStatisticsResultDTO; +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.feign.fallback.IssueFeignClientFallback; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import java.util.List; @@ -42,7 +48,35 @@ public interface IssueFeignClient { @GetMapping(value = "events/epdc-app/issue/list", consumes = MediaType.APPLICATION_JSON_VALUE) Result> listIssues(IssueFormDTO formDto); - @PostMapping(value = "events/epdc-app/issue/statement", consumes = MediaType.APPLICATION_JSON_VALUE) Result statement(StatementFormDTO formDto); + /** + * 议题详情 + * @Params: [formDto] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result + * @Author: liuchuang + * @Date: 2019/9/9 12:33 + */ + @GetMapping(value = "events/epdc-app/issue/detail", consumes = MediaType.APPLICATION_JSON_VALUE) + Result getIssueDetail(IssueDetailFormDTO formDto); + + /** + * 议题分类统计 + * @Params: [formDto] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result + * @Author: liuchuang + * @Date: 2019/9/9 12:34 + */ + @GetMapping(value = "events/epdc-app/issue/statistics", consumes = MediaType.APPLICATION_JSON_VALUE) + Result issueCategoryStatistics(IssueCategoryStatisticsFormDTO formDto); + + /** + * 议题处理进度 + * @Params: [issueId] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result> + * @Author: liuchuang + * @Date: 2019/9/9 13:31 + */ + @GetMapping(value = "events/epdc-app/issue/progress/{issueId}", consumes = MediaType.APPLICATION_JSON_VALUE) + Result> issueHandleProgress(@PathVariable String issueId); } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/NewsFeignClient.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/NewsFeignClient.java index 6d8722db8..8ea391dec 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/NewsFeignClient.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/NewsFeignClient.java @@ -81,7 +81,7 @@ public interface NewsFeignClient { * */ @GetMapping("news/epdc-app/news/detail/{newsId}") - Result getNewsDetail(@PathVariable("id") String id); + Result getNewsDetail(@PathVariable("newsId") String id); /*** * @Description 点赞和踩 diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/SysDeptFeignClient.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/SysDeptFeignClient.java deleted file mode 100644 index e46555fea..000000000 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/SysDeptFeignClient.java +++ /dev/null @@ -1,28 +0,0 @@ -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.CompleteDeptDTO; -import com.elink.esua.epdc.feign.fallback.SysDeptFeignClientFallback; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; - -/** - * 系统服务模块 - * @Author LC - * @Date 2019/9/8 16:00 - */ -@FeignClient(name = ServiceConstant.EPDC_ADMIN_SERVER, fallback = SysDeptFeignClientFallback.class) -public interface SysDeptFeignClient { - - /** - * 通过网格ID获取该网格所有上级机构 - * @Params: [gridId] - * @Return: com.elink.esua.epdc.commons.tools.utils.Result - * @Author: liuchuang - * @Date: 2019/9/8 16:11 - */ - @GetMapping(value = "sys/dept/getCompleteDept/{gridId}") - Result getCompleteDept(@PathVariable("gridId") Long gridId); -} diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/IssueFeignClientFallback.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/IssueFeignClientFallback.java index 21e4708cf..d4837fa14 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/IssueFeignClientFallback.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/IssueFeignClientFallback.java @@ -4,11 +4,17 @@ 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.events.form.EpdcEventSubmitFormDTO; +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.StatementFormDTO; +import com.elink.esua.epdc.dto.issue.result.IssueCategoryStatisticsResultDTO; +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.feign.IssueFeignClient; import org.springframework.stereotype.Component; +import org.springframework.web.bind.annotation.PathVariable; import java.util.List; @@ -33,4 +39,18 @@ public class IssueFeignClientFallback implements IssueFeignClient { public Result statement(StatementFormDTO formDto) { return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "statement", formDto); } + + public Result getIssueDetail(IssueDetailFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "getIssueDetail", formDto); + } + + @Override + public Result issueCategoryStatistics(IssueCategoryStatisticsFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "issueCategoryStatistics", formDto); + } + + @Override + public Result> issueHandleProgress(String issueId) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "issueHandleProgress", issueId); + } } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/SysDeptFeignClientFallback.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/SysDeptFeignClientFallback.java deleted file mode 100644 index a584b1a6e..000000000 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/SysDeptFeignClientFallback.java +++ /dev/null @@ -1,22 +0,0 @@ -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.CompleteDeptDTO; -import com.elink.esua.epdc.feign.SysDeptFeignClient; -import org.springframework.stereotype.Component; -import org.springframework.web.bind.annotation.PathVariable; - -/** - * @Author LC - * @Date 2019/9/8 16:00 - */ -@Component -public class SysDeptFeignClientFallback implements SysDeptFeignClient { - - @Override - public Result getCompleteDept(@PathVariable("gridId") Long gridId) { - return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getCompleteDept", gridId); - } -} diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AppUserService.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AppUserService.java index ea5dbb069..65b551af1 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AppUserService.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AppUserService.java @@ -2,6 +2,8 @@ package com.elink.esua.epdc.service; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.epdc.form.EpdcUserRegistFormDTO; +import com.elink.esua.epdc.dto.form.EpdcAppUserTokenFormDTO; +import com.elink.esua.epdc.dto.result.EpdcAppAuthorizationDTO; /** * @author yujintao @@ -19,4 +21,14 @@ public interface AppUserService { * @date 2019/9/7 09:54 */ Result userRegist(EpdcUserRegistFormDTO formDto); + + /** + * 用户登录,获取token + * + * @param formDto + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author yujintao + * @date 2019/9/9 10:52 + */ + Result getToken(EpdcAppUserTokenFormDTO formDto); } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/IssueService.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/IssueService.java index 651f9fe77..7c9bb814b 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/IssueService.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/IssueService.java @@ -6,6 +6,9 @@ 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; +import com.elink.esua.epdc.dto.issue.result.IssueCategoryStatisticsResultDTO; +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 org.springframework.web.multipart.MultipartFile; @@ -47,4 +50,30 @@ public interface IssueService { Result statement(StatementFormDTO formDto); + /** + * 议题详情 + * @Params: [userDetail, issueId] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result + * @Author: liuchuang + * @Date: 2019/9/9 11:16 + */ + Result getIssueDetail(TokenDto userDetail, String issueId); + + /** + * 议题分类统计 + * @Params: [userDetail, categoryId] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result + * @Author: liuchuang + * @Date: 2019/9/9 12:27 + */ + Result getIssueCategoryStatistics(TokenDto userDetail, String categoryId); + + /** + * 议题处理进度 + * @Params: [issueId] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result> + * @Author: liuchuang + * @Date: 2019/9/9 13:28 + */ + Result> getIssueHandleProgress(String issueId); } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java index c82113bbf..7858ce5e0 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java @@ -1,5 +1,9 @@ package com.elink.esua.epdc.service.impl; +import com.elink.esua.epdc.common.token.dto.TokenDto; +import com.elink.esua.epdc.common.token.property.TokenPropertise; +import com.elink.esua.epdc.common.token.util.CpUserDetailRedis; +import com.elink.esua.epdc.common.token.util.TokenUtil; import com.elink.esua.epdc.commons.tools.constant.NumConstant; import com.elink.esua.epdc.commons.tools.enums.YesOrNoEnum; import com.elink.esua.epdc.commons.tools.exception.RenException; @@ -7,11 +11,16 @@ import com.elink.esua.epdc.commons.tools.utils.*; import com.elink.esua.epdc.dto.CompleteDeptDTO; import com.elink.esua.epdc.dto.UserDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcUserRegistFormDTO; +import com.elink.esua.epdc.dto.form.EpdcAppUserTokenFormDTO; +import com.elink.esua.epdc.dto.result.EpdcAppAuthorizationDTO; import com.elink.esua.epdc.enums.AppUserAuditStateEnum; import com.elink.esua.epdc.enums.AppUserRegisterSourceEnum; import com.elink.esua.epdc.enums.AppUserRegisterWayEnum; +import com.elink.esua.epdc.enums.AppUserStateEnum; import com.elink.esua.epdc.feign.AdminFeignClient; import com.elink.esua.epdc.feign.UserFeignClient; +import com.elink.esua.epdc.jwt.JwtTokenProperties; +import com.elink.esua.epdc.jwt.JwtTokenUtils; import com.elink.esua.epdc.redis.AppUserRedis; import com.elink.esua.epdc.service.AppUserService; import lombok.extern.slf4j.Slf4j; @@ -39,6 +48,9 @@ public class AppUserServiceImpl implements AppUserService { @Autowired private AppUserRedis appUserRedis; + @Autowired + private CpUserDetailRedis cpUserDetailRedis; + @Autowired private WxMpService wxMpService; @@ -48,6 +60,75 @@ public class AppUserServiceImpl implements AppUserService { @Autowired private UserFeignClient userFeignClient; + @Autowired + private TokenUtil tokenUtil; + + @Autowired + private JwtTokenProperties jwtTokenProperties; + + @Autowired + private JwtTokenUtils jwtTokenUtils; + + + @Override + public Result getToken(EpdcAppUserTokenFormDTO formDto) { + + WxMpOAuth2AccessToken wxMpOAuth2AccessToken; + try { + wxMpOAuth2AccessToken = wxMpService.oauth2getAccessToken(formDto.getWxCode()); + } catch (WxErrorException e) { + log.error("->[getToken]::error[{}]", "解析微信code失败"); + return new Result().error("解析微信code失败"); + } + // 查询当前微信是否已注册用户 + Result userInfoResult = userFeignClient.getUserInfoByOpenId(wxMpOAuth2AccessToken.getOpenId()); + if (!userInfoResult.success()) { + return new Result().error("查询用户信息失败"); + } + + UserDTO userDto = userInfoResult.getData(); + EpdcAppAuthorizationDTO authorization = new EpdcAppAuthorizationDTO(); + // 用户未注册 + if (null == userDto) { + authorization.setUserState(AppUserStateEnum.UNREGISTERED.value()); + return new Result().ok(authorization); + } + String state = userDto.getState(); + String userId = userDto.getId(); + TokenDto tokenInfo = tokenUtil.getTokenInfo(userId); + + // 用户已注册且审核通过,可以正常登录系统 + if (AppUserAuditStateEnum.AUDIT_SUCCESS.value().equals(state)) { + // 生成token + String token = jwtTokenUtils.generateToken(userId); + Long expire; + // 用户已登录过,且用户缓存信息未超时 + if (null != tokenInfo) { + tokenUtil.delayToken(userId); + expire = tokenUtil.getExpire(userId); + } else { + expire = (long) jwtTokenProperties.getExpire(); + } + + TokenDto tokenDto = ConvertUtils.sourceToTarget(userDto, TokenDto.class); + tokenDto.setUserId(userId); + cpUserDetailRedis.set(tokenDto, expire); + + authorization.setUserState(AppUserStateEnum.REGISTERED.value()); + authorization.setToken(token); + authorization.setUserId(userId); + authorization.setExpire(expire); + return new Result().ok(authorization); + } + + // 用户提交注册、正在等待审核或审核失败 + if (AppUserAuditStateEnum.UNDER_AUDIT.value().equals(state)) { + authorization.setUserState(AppUserStateEnum.UNDER_AUDIT.value()); + } else if (AppUserAuditStateEnum.AUDIT_FAILURE.value().equals(state)) { + authorization.setUserState(AppUserStateEnum.AUDIT_FAILURE.value()); + } + return new Result().ok(authorization); + } @Override public Result userRegist(EpdcUserRegistFormDTO formDto) { @@ -116,6 +197,8 @@ public class AppUserServiceImpl implements AppUserService { .concat(NumConstant.ZERO_STR.equals(user.getSex()) ? "女士" : "先生") ); + user.setDistrict(completeDept.getDistrict()); + user.setDistrictId(completeDept.getDistrictId()); user.setStreet(completeDept.getStreet()); user.setStreetId(completeDept.getStreetId()); user.setCommunity(completeDept.getCommunity()); @@ -126,11 +209,13 @@ 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.getUnitCode()) ? formDto.getUnitCode().concat("单元") : "") + .concat(StringUtils.isNotBlank(formDto.getHouseCode()) ? formDto.getHouseCode() : ""); user.setAddress(address); + user.setWxOpenId(wxMpUser.getOpenId()); user.setFaceImg(wxMpUser.getHeadImgUrl()); + user.setRegisterTime(new Date()); user.setState(AppUserAuditStateEnum.UNDER_AUDIT.value()); user.setPartyFlag(YesOrNoEnum.NO.value()); diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/IssueServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/IssueServiceImpl.java index 134056fad..f4466f68c 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/IssueServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/IssueServiceImpl.java @@ -5,12 +5,17 @@ import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.CompleteDeptDTO; import com.elink.esua.epdc.dto.UploadDTO; import com.elink.esua.epdc.dto.events.form.EpdcEventSubmitFormDTO; +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.StatementFormDTO; +import com.elink.esua.epdc.dto.issue.result.IssueCategoryStatisticsResultDTO; +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.feign.AdminFeignClient; import com.elink.esua.epdc.feign.IssueFeignClient; import com.elink.esua.epdc.feign.OssFeignClient; -import com.elink.esua.epdc.feign.SysDeptFeignClient; import com.elink.esua.epdc.service.IssueService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -30,7 +35,7 @@ public class IssueServiceImpl implements IssueService { private IssueFeignClient issueFeignClient; @Autowired - private SysDeptFeignClient sysDeptFeignClient; + private AdminFeignClient adminFeignClient; @Autowired private OssFeignClient ossFeignClient; @@ -38,7 +43,7 @@ public class IssueServiceImpl implements IssueService { @Override public Result saveEvent(TokenDto userDetail, EpdcEventSubmitFormDTO formDto) { // 获取该网格所有上级机构 - Result deptDTOResult = sysDeptFeignClient.getCompleteDept(Long.valueOf(userDetail.getGridId())); + Result deptDTOResult = adminFeignClient.getCompleteDept(userDetail.getGridId()); CompleteDeptDTO deptDTO = deptDTOResult.getData(); formDto.setArea(deptDTO.getDistrict()); formDto.setAreaId(deptDTO.getDistrictId()); @@ -72,4 +77,24 @@ public class IssueServiceImpl implements IssueService { public Result statement(StatementFormDTO formDto) { return issueFeignClient.statement(formDto); } + + public Result getIssueDetail(TokenDto userDetail, String issueId) { + IssueDetailFormDTO formDto = new IssueDetailFormDTO(); + formDto.setUserId(userDetail.getUserId()); + formDto.setIssueId(issueId); + return issueFeignClient.getIssueDetail(formDto); + } + + @Override + public Result getIssueCategoryStatistics(TokenDto userDetail, String categoryId) { + IssueCategoryStatisticsFormDTO formDto = new IssueCategoryStatisticsFormDTO(); + formDto.setCategoryId(categoryId); + formDto.setGridId(userDetail.getGridId()); + return issueFeignClient.issueCategoryStatistics(formDto); + } + + @Override + public Result> getIssueHandleProgress(String issueId) { + return issueFeignClient.issueHandleProgress(issueId); + } } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/application.yml b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/application.yml index 7c92a6814..76ddd4a6e 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/application.yml +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/application.yml @@ -96,3 +96,9 @@ wx: token: expire: 21600 + +jwt: + #秘钥 + secret: 7016867071f0ebf1c46f123eaaf4b9d6[elink.epdc] + #token有效时长,默认7天,单位秒 + expire: 604800 diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/form/IssueCategoryStatisticsFormDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/form/IssueCategoryStatisticsFormDTO.java new file mode 100644 index 000000000..df8f6d386 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/form/IssueCategoryStatisticsFormDTO.java @@ -0,0 +1,26 @@ +package com.elink.esua.epdc.dto.issue.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 议题分类统计表单DTO + * @Author LC + * @Date 2019/9/9 12:28 + */ +@Data +public class IssueCategoryStatisticsFormDTO implements Serializable { + private static final long serialVersionUID = -6382725012003300283L; + /** + * 网格ID + */ + @NotBlank(message = "网格ID不能为空") + private Long gridId; + /** + * 议题类别ID + */ + @NotBlank(message = "议题类别ID不能为空") + private String categoryId; +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/form/IssueDetailFormDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/form/IssueDetailFormDTO.java new file mode 100644 index 000000000..7241faf00 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/form/IssueDetailFormDTO.java @@ -0,0 +1,26 @@ +package com.elink.esua.epdc.dto.issue.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 议题详情DTO + * @Author LC + * @Date 2019/9/9 11:11 + */ +@Data +public class IssueDetailFormDTO implements Serializable { + private static final long serialVersionUID = -3193376894926069344L; + /** + * 议题ID + */ + @NotBlank(message = "议题ID不能为空") + private String issueId; + /** + * 用户ID + */ + @NotBlank(message = "用户ID不能为空") + private String userId; +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/IssueCategoryStatisticsResultDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/IssueCategoryStatisticsResultDTO.java new file mode 100644 index 000000000..88daf180e --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/IssueCategoryStatisticsResultDTO.java @@ -0,0 +1,32 @@ +package com.elink.esua.epdc.dto.issue.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 议题分类统计DTO + * @Author LC + * @Date 2019/9/9 12:22 + */ +@Data +public class IssueCategoryStatisticsResultDTO implements Serializable { + private static final long serialVersionUID = 4793536739383889544L; + + /** + * 类别ID + */ + private String categoryId; + /** + * 类别名称 + */ + private String categoryName; + /** + * 议题个数 + */ + private String caseNum; + /** + * 态度总数 + */ + private String attitudeNum; +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/IssueDetailResultDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/IssueDetailResultDTO.java index bd14c2607..2b4acee91 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/IssueDetailResultDTO.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/IssueDetailResultDTO.java @@ -19,6 +19,10 @@ public class IssueDetailResultDTO implements Serializable { * 议题ID */ private String id; + /** + * 事件ID + */ + private String eventId; /** * 议题内容 */ diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/IssueHandleProgressResultDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/IssueHandleProgressResultDTO.java new file mode 100644 index 000000000..27bcbaca1 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/IssueHandleProgressResultDTO.java @@ -0,0 +1,28 @@ +package com.elink.esua.epdc.dto.issue.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 议题处理进度DTO + * @Author LC + * @Date 2019/9/9 13:11 + */ +@Data +public class IssueHandleProgressResultDTO implements Serializable { + private static final long serialVersionUID = 2179111743827985376L; + + /** + * 处理状态 + */ + private String stateName; + /** + * 创建时间 + */ + private String createdTime; + /** + * 处理描述 + */ + private String advice; +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/dao/EpdcEventsDao.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/dao/EpdcEventsDao.java index 7a73c8510..64cdcb54b 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/dao/EpdcEventsDao.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/dao/EpdcEventsDao.java @@ -19,6 +19,8 @@ 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; @@ -83,14 +85,19 @@ public interface EpdcEventsDao extends BaseDao { * @Date: 2019/9/7 10:07 */ long selectCountOfComments(@Param("eventId") String eventId); - - /** * 修改评论数+1 */ void updateCommentNum(String id); - //修改赞数或者踩数 void updateApproveNumOrOpposeNum(String eventId, String attitudeFlag); + /** + * 移动端-事件分类统计 + * @Params: [formDTO] + * @Return: com.elink.esua.epdc.dto.issue.result.IssueCategoryStatisticsResultDTO + * @Author: liuchuang + * @Date: 2019/9/9 12:59 + */ + IssueCategoryStatisticsResultDTO selectOneIssueCategoryStatistics(IssueCategoryStatisticsFormDTO formDTO); } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/EpdcEventsService.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/EpdcEventsService.java index 5bf66e7f7..4056d2c64 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/EpdcEventsService.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/EpdcEventsService.java @@ -23,6 +23,8 @@ 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; @@ -116,4 +118,22 @@ public interface EpdcEventsService extends BaseService { * 修改+1 */ void updateApproveNumOrOpposeNum(String eventId, String attitudeFlag); + + /** + * 更新浏览数 + * @Params: [eventId] + * @Return: boolean + * @Author: liuchuang + * @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); } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java index c93d40d49..22116d242 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java @@ -30,6 +30,8 @@ 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; @@ -184,6 +186,23 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl(list, total); } + @Override + public boolean modifyBrowseNumById(String eventId) { + EpdcEventsEntity entity = this.selectById(eventId); + if (null == entity) { + return false; + } + EpdcEventsEntity epdcEventsEntity = new EpdcEventsEntity(); + epdcEventsEntity.setId(entity.getId()); + epdcEventsEntity.setBrowseNum(entity.getBrowseNum()+1); + return this.updateById(epdcEventsEntity); + } + + @Override + public IssueCategoryStatisticsResultDTO getEventsCategoryStatistics(IssueCategoryStatisticsFormDTO formDTO) { + return baseDao.selectOneIssueCategoryStatistics(formDTO); + } + /** * 初始化议题 * @Params: [entity] diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/controller/EpdcAppIssueController.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/controller/EpdcAppIssueController.java index 1f7d71ba0..8fa6ce27d 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/controller/EpdcAppIssueController.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/controller/EpdcAppIssueController.java @@ -6,6 +6,12 @@ import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; import com.elink.esua.epdc.dto.issue.EventUserAttitudeDTO; 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.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.result.IssueCategoryStatisticsResultDTO; +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.modules.issue.service.EventUserAttitudeService; import com.elink.esua.epdc.modules.issue.service.IssueService; @@ -43,11 +49,48 @@ public class EpdcAppIssueController { return this.issueService.listIssues(formDto); } - @PostMapping("statement") public Result statement(@RequestBody StatementFormDTO formDto) { this.eventUserAttitudeService.statement(formDto); return new Result(); } + /** + * 议题详情 + * @Params: [formDto] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result + * @Author: liuchuang + * @Date: 2019/9/9 11:23 + */ + + @GetMapping("detail") + public Result getIssueDetail(@RequestBody IssueDetailFormDTO formDto) { + ValidatorUtils.validateEntity(formDto); + return this.issueService.getIssueDetail(formDto); + } + + /** + * 议题分类统计 + * @Params: [formDto] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result + * @Author: liuchuang + * @Date: 2019/9/9 12:37 + */ + @GetMapping("statistics") + public Result issueCategoryStatistics(@RequestBody IssueCategoryStatisticsFormDTO formDto) { + ValidatorUtils.validateEntity(formDto); + return this.issueService.getIssueCategoryStatistics(formDto); + } + + /** + * 议题处理进度 + * @Params: [issueId] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result> + * @Author: liuchuang + * @Date: 2019/9/9 13:33 + */ + @GetMapping("progress/{issueId}") + public Result> issueHandleProgress(@PathVariable String issueId) { + return issueService.getIssueHandleProgress(issueId); + } } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueDao.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueDao.java index fe50cb013..4b83a4cf3 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueDao.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueDao.java @@ -18,12 +18,18 @@ package com.elink.esua.epdc.modules.issue.dao; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; +import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.issue.IssueContentDetailDTO; import com.elink.esua.epdc.dto.issue.IssueJobFeedbackDTO; import com.elink.esua.epdc.dto.issue.IssueWaitHandleDetailDTO; import com.elink.esua.epdc.dto.issue.IssueWaitHandleOrClosedDTO; +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.StatementFormDTO; +import com.elink.esua.epdc.dto.issue.result.IssueCategoryStatisticsResultDTO; +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.modules.issue.entity.IssueEntity; import org.apache.ibatis.annotations.Mapper; @@ -87,7 +93,7 @@ public interface IssueDao extends BaseDao { void updateCommentDelFlag(@Param("commentIds") String[] commentIds); /** - * 议题最新最热列表 + * 移动端-议题最新最热列表 * @Params: [formDto] * @Return: java.util.List * @Author: liuchuang @@ -95,4 +101,22 @@ public interface IssueDao extends BaseDao { */ List selectListOfNewOrHotIssues(IssueFormDTO formDto); + /** + * 移动端-议题详情 + * @Params: [userId, issueId] + * @Return: com.elink.esua.epdc.dto.issue.result.IssueDetailResultDTO + * @Author: liuchuang + * @Date: 2019/9/9 11:04 + */ + IssueDetailResultDTO selectOneIssueDetail(IssueDetailFormDTO formDto); + + /** + * 移动端-议题处理进度 + * @Params: [issueId] + * @Return: java.util.List + * @Author: liuchuang + * @Date: 2019/9/9 14:18 + */ + List selectListOfHandleProgress(String issueId); + } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java index 3233e64b5..8d399a2c3 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java @@ -25,6 +25,17 @@ import com.elink.esua.epdc.dto.issue.*; 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.IssueContentDetailDTO; +import com.elink.esua.epdc.dto.issue.IssueDTO; +import com.elink.esua.epdc.dto.issue.IssueWaitHandleDetailDTO; +import com.elink.esua.epdc.dto.issue.IssueWaitHandleOrClosedDTO; +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.result.IssueCategoryStatisticsResultDTO; +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.modules.issue.entity.IssueEntity; @@ -153,4 +164,30 @@ public interface IssueService extends BaseService { */ Result> listIssues(IssueFormDTO formDto); + /** + * 移动端-议题详情 + * @Params: [userId, issueId] + * @Return: com.elink.esua.epdc.dto.issue.result.IssueDetailResultDTO + * @Author: liuchuang + * @Date: 2019/9/9 11:04 + */ + Result getIssueDetail(IssueDetailFormDTO formDto); + + /** + * 议题分类统计 + * @Params: [formDto] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result + * @Author: liuchuang + * @Date: 2019/9/9 12:37 + */ + Result getIssueCategoryStatistics(IssueCategoryStatisticsFormDTO formDto); + + /** + * 议题处理进度 + * @Params: [issueId] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result> + * @Author: liuchuang + * @Date: 2019/9/9 13:34 + */ + Result> getIssueHandleProgress(String issueId); } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java index ff2e17b1f..08f4874fa 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java @@ -30,9 +30,14 @@ import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.constant.EventIssueItemState; import com.elink.esua.epdc.dto.events.EpdcEventsCommentsDTO; import com.elink.esua.epdc.dto.issue.*; +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.IssueCategoryStatisticsResultDTO; +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.modules.events.service.EpdcEventsService; import com.elink.esua.epdc.modules.issue.dao.IssueDao; @@ -197,6 +202,7 @@ public class IssueServiceImpl extends BaseServiceImpl imp } @Override + @Transactional(rollbackFor = Exception.class) public Result modifyCommentById(String[] commentIds) { baseDao.updateCommentDelFlag(commentIds); return new Result(); @@ -212,6 +218,26 @@ public class IssueServiceImpl extends BaseServiceImpl imp return new Result().ok(data); } + @Override + public Result getIssueDetail(IssueDetailFormDTO formDto) { + IssueDetailResultDTO resultDTO = baseDao.selectOneIssueDetail(formDto); + // 更新浏览数 + epdcEventsService.modifyBrowseNumById(resultDTO.getEventId()); + return new Result().ok(resultDTO); + } + + @Override + public Result getIssueCategoryStatistics(IssueCategoryStatisticsFormDTO formDto) { + IssueCategoryStatisticsResultDTO resultDTO = epdcEventsService.getEventsCategoryStatistics(formDto); + return new Result().ok(resultDTO); + } + + @Override + public Result> getIssueHandleProgress(String issueId) { + List progressResultDTOS = baseDao.selectListOfHandleProgress(issueId); + return new Result>().ok(progressResultDTOS); + } + /** * 初始化项目 * @Params: [issueEntity] diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/events/EpdcEventsDao.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/events/EpdcEventsDao.xml index 082552aa6..92a2acc6b 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/events/EpdcEventsDao.xml +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/events/EpdcEventsDao.xml @@ -175,4 +175,21 @@ WHERE ID = #{eventId} + + diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml index aa6ba393b..972dfa2bf 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml @@ -228,6 +228,7 @@ + @@ -243,13 +244,14 @@ - SELECT (ua.attitude_flag = 0) userLike, (ua.attitude_flag = 1) userDislike, issue.ID, + issue.EVENT_ID, issue.ISSUE_CONTENT, issue.CREATED_TIME, issue.IS_PARTY_MEMBER, @@ -288,6 +290,18 @@ - + diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/NewsUserAttitudeDTO.java b/esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/NewsUserAttitudeDTO.java new file mode 100644 index 000000000..92b9d34dd --- /dev/null +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/NewsUserAttitudeDTO.java @@ -0,0 +1,86 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.dto; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 新闻点赞点踩表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-09-09 + */ +@Data +public class NewsUserAttitudeDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * ID + */ + private String id; + + /** + * 新闻ID + */ + private String epdcNewsId; + + /** + * 用户ID + */ + private String userId; + + /** + * 用户点赞点踩标识 0:点赞,1:踩 + */ + private String attitudeFlag; + + /** + * 删除标识 0:未删除,1:删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/enums/AppNewsLikeEnum.java b/esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/enums/AppNewsLikeEnum.java new file mode 100644 index 000000000..9c575baa2 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/enums/AppNewsLikeEnum.java @@ -0,0 +1,31 @@ +package com.elink.esua.epdc.dto.enums; + +/** + * 用户审核状态枚举 + * + * @author yujintao + * @email yujintao@elink-cn.com + * @date 2019/9/7 10:50 + */ +public enum AppNewsLikeEnum { + + /** + * 0-点赞 + */ + LIKE("0"), + /** + * 1-踩 + */ + UNLIKE("1"); + + private String value; + + AppNewsLikeEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } + +} diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcNewsFromDTO.java b/esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcNewsFromDTO.java index bf8b0e50a..b590f77b2 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcNewsFromDTO.java +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcNewsFromDTO.java @@ -15,7 +15,7 @@ public class EpdcNewsFromDTO implements Serializable { * 用户所属网格ID */ @NotBlank(message = "用户网格ID不能为空") - private String deptId; + private Long deptId; /** * 页码 diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppNewsController.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppNewsController.java index eb3d563b5..365354872 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppNewsController.java +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppNewsController.java @@ -80,7 +80,7 @@ public class EpdcAppNewsController { * */ @GetMapping("detail/{newsId}") - public Result getNewsDetail(@PathVariable("id") String id){ + public Result getNewsDetail(@PathVariable("newsId") String id){ Result newsDetail = newsService.getNewsDetail(id); return newsDetail; } diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/NewsUserAttitudeController.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/NewsUserAttitudeController.java new file mode 100644 index 000000000..f1e20a383 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/NewsUserAttitudeController.java @@ -0,0 +1,94 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.controller; + +import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.commons.tools.utils.ExcelUtils; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.commons.tools.validator.AssertUtils; +import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; +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.NewsUserAttitudeDTO; +import com.elink.esua.epdc.excel.NewsUserAttitudeExcel; +import com.elink.esua.epdc.service.NewsUserAttitudeService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + + +/** + * 新闻点赞点踩表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-09-09 + */ +@RestController +@RequestMapping("newsuserattitude") +public class NewsUserAttitudeController { + + @Autowired + private NewsUserAttitudeService newsUserAttitudeService; + + @GetMapping("page") + public Result> page(@RequestParam Map params){ + PageData page = newsUserAttitudeService.page(params); + return new Result>().ok(page); + } + + @GetMapping("{id}") + public Result get(@PathVariable("id") String id){ + NewsUserAttitudeDTO data = newsUserAttitudeService.get(id); + return new Result().ok(data); + } + + @PostMapping + public Result save(@RequestBody NewsUserAttitudeDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + newsUserAttitudeService.save(dto); + return new Result(); + } + + @PutMapping + public Result update(@RequestBody NewsUserAttitudeDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + newsUserAttitudeService.update(dto); + return new Result(); + } + + @DeleteMapping + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + newsUserAttitudeService.delete(ids); + return new Result(); + } + + @GetMapping("export") + public void export(@RequestParam Map params, HttpServletResponse response) throws Exception { + List list = newsUserAttitudeService.list(params); + ExcelUtils.exportExcelToTarget(response, null, list, NewsUserAttitudeExcel.class); + } + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/NewsUserAttitudeDao.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/NewsUserAttitudeDao.java new file mode 100644 index 000000000..9f136fa02 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/NewsUserAttitudeDao.java @@ -0,0 +1,33 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.dao; + +import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; +import com.elink.esua.epdc.entity.NewsUserAttitudeEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 新闻点赞点踩表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-09-09 + */ +@Mapper +public interface NewsUserAttitudeDao extends BaseDao { + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/entity/NewsUserAttitudeEntity.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/entity/NewsUserAttitudeEntity.java new file mode 100644 index 000000000..c505ce369 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/entity/NewsUserAttitudeEntity.java @@ -0,0 +1,56 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 新闻点赞点踩表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-09-09 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("epdc_news_user_attitude") +public class NewsUserAttitudeEntity extends BaseEpdcEntity { + + private static final long serialVersionUID = 1L; + + /** + * 新闻ID + */ + private String epdcNewsId; + + /** + * 用户ID + */ + private String userId; + + /** + * 用户点赞点踩标识 0:点赞,1:踩 + */ + private String attitudeFlag; + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/excel/NewsUserAttitudeExcel.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/excel/NewsUserAttitudeExcel.java new file mode 100644 index 000000000..b7e41aa22 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/excel/NewsUserAttitudeExcel.java @@ -0,0 +1,65 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.excel; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +import java.util.Date; + +/** + * 新闻点赞点踩表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-09-09 + */ +@Data +public class NewsUserAttitudeExcel { + + @Excel(name = "ID") + private String id; + + @Excel(name = "新闻ID") + private String epdcNewsId; + + @Excel(name = "用户ID") + private String userId; + + @Excel(name = "用户点赞点踩标识 0:点赞,1:踩") + private String attitudeFlag; + + @Excel(name = "删除标识 0:未删除,1:删除") + private String delFlag; + + @Excel(name = "乐观锁") + private Integer revision; + + @Excel(name = "创建人") + private String createdBy; + + @Excel(name = "创建时间") + private Date createdTime; + + @Excel(name = "更新人") + private String updatedBy; + + @Excel(name = "更新时间") + private Date updatedTime; + + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/redis/NewsUserAttitudeRedis.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/redis/NewsUserAttitudeRedis.java new file mode 100644 index 000000000..9907e5d2b --- /dev/null +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/redis/NewsUserAttitudeRedis.java @@ -0,0 +1,47 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.redis; + +import com.elink.esua.epdc.commons.tools.redis.RedisUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * 新闻点赞点踩表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-09-09 + */ +@Component +public class NewsUserAttitudeRedis { + @Autowired + private RedisUtils redisUtils; + + public void delete(Object[] ids) { + + } + + public void set(){ + + } + + public String get(String id){ + return null; + } + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NewsUserAttitudeService.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NewsUserAttitudeService.java new file mode 100644 index 000000000..6a23fb571 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NewsUserAttitudeService.java @@ -0,0 +1,95 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +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.NewsUserAttitudeDTO; +import com.elink.esua.epdc.entity.NewsUserAttitudeEntity; + +import java.util.List; +import java.util.Map; + +/** + * 新闻点赞点踩表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-09-09 + */ +public interface NewsUserAttitudeService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author + * @date + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author + * @date + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return NewsUserAttitudeDTO + * @author + * @date + */ + NewsUserAttitudeDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author + * @date + */ + void save(NewsUserAttitudeDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author + * @date + */ + void update(NewsUserAttitudeDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author + * @date + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java index a38bd37be..893ad5465 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java @@ -30,9 +30,10 @@ 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.constant.FieldConstant; import com.elink.esua.epdc.commons.tools.utils.Result; -import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; 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.enums.AppNewsLikeEnum; import com.elink.esua.epdc.dto.epdc.form.EpdcNewsBrowseFromDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcNewsFromDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcNewsStatementFromDTO; @@ -43,15 +44,14 @@ import com.elink.esua.epdc.feign.AdminFeignClient; import com.elink.esua.epdc.redis.NewsRedis; import com.elink.esua.epdc.service.NewsDepartmentService; import com.elink.esua.epdc.service.NewsService; +import com.elink.esua.epdc.service.NewsUserAttitudeService; import com.google.common.collect.Lists; import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Arrays; -import java.util.Date; import java.util.List; import java.util.Map; @@ -75,6 +75,9 @@ public class NewsServiceImpl extends BaseServiceImpl implem @Autowired private AdminFeignClient adminFeignClient; + @Autowired + private NewsUserAttitudeService newsUserAttitudeService; + @Override public PageData page(Map params) { IPage page = baseDao.selectPage( @@ -134,6 +137,9 @@ public class NewsServiceImpl extends BaseServiceImpl implem entity.setCreatorName(user.getRealName()); entity.setDeptId(user.getDeptId()); entity.setDeptName(user.getDeptName()); + entity.setLikeNumber(0); + entity.setUnLikeNumber(0); + entity.setReadingAmount(0); //存草稿 entity.setNewsReleaseState("1"); insert(entity); @@ -192,9 +198,26 @@ public class NewsServiceImpl extends BaseServiceImpl implem entity.setCreatorName(user.getRealName()); entity.setDeptId(user.getDeptId()); entity.setDeptName(user.getDeptName()); - //不是草稿箱 - entity.setNewsReleaseState("0"); + entity.setLikeNumber(0); + entity.setUnLikeNumber(0); + entity.setReadingAmount(0); + //是不是草稿箱 + entity.setNewsReleaseState(newsReleaseState); + boolean isSave = true; + if (StringUtils.isNotBlank(newsDTO.getId())) { + isSave = false; + } + if (isSave) { + insert(entity); + } else { + updateById(entity); + newsDepartmentService.deleteByNewsId(entity.getId()); + } + //判断是否是草稿箱 是的话 不执行下面操作 + if(YesOrNoEnum.YES.value().equals(newsReleaseState)){ + return; + } // 通知所属部门id Long newsDeptId = entity.getStreetId(); // 能接收通知的所有网格的ID @@ -210,17 +233,7 @@ public class NewsServiceImpl extends BaseServiceImpl implem if (!user.getDeptIdList().contains(newsDeptId)) { throw new RenException("您没有操作此部门的数据权限"); } - boolean isSave = true; - if (StringUtils.isNotBlank(newsDTO.getId())) { - isSave = false; - } - if (isSave) { - insert(entity); - } else { - updateById(entity); - newsDepartmentService.deleteByNewsId(entity.getId()); - } if (CollUtil.isEmpty(newsGridList)) { Result> adminResult = adminFeignClient.listGridIdByDeptPid(newsDeptId); @@ -259,16 +272,22 @@ public class NewsServiceImpl extends BaseServiceImpl implem @Override public Result modifyStatement(EpdcNewsStatementFromDTO newsStatementFromDTO) { NewsDTO newsDTO = get(newsStatementFromDTO.getNewsId()); + NewsUserAttitudeDTO newsUserAttitudeDTO=new NewsUserAttitudeDTO(); + //表态 0赞;1踩 NewsEntity newsEntity= ConvertUtils.sourceToTarget(newsDTO, NewsEntity.class); if(YesOrNoEnum.YES.value().equals(newsStatementFromDTO.getAttitude())){ newsEntity.setUnLikeNumber(newsDTO.getUnLikeNumber()+1); + newsUserAttitudeDTO.setAttitudeFlag(AppNewsLikeEnum.LIKE.value()); }else { newsEntity.setLikeNumber(newsDTO.getLikeNumber()+1); + newsUserAttitudeDTO.setAttitudeFlag(AppNewsLikeEnum.UNLIKE.value()); } baseDao.insert(newsEntity); //插入新闻点赞点踩表 - + newsUserAttitudeDTO.setUserId(newsStatementFromDTO.getUserId()); + newsUserAttitudeDTO.setEpdcNewsId(newsStatementFromDTO.getNewsId()); + newsUserAttitudeService.save(newsUserAttitudeDTO); return new Result(); } @@ -277,7 +296,7 @@ public class NewsServiceImpl extends BaseServiceImpl implem NewsDTO newsDTO = get(newsBrowseFromDTO.getNewsId()); NewsEntity newsEntity= ConvertUtils.sourceToTarget(newsDTO, NewsEntity.class); newsEntity.setReadingAmount(newsDTO.getReadingAmount()+1); - baseDao.insert(newsEntity); + baseDao.updateById(newsEntity); return new Result(); } diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsUserAttitudeServiceImpl.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsUserAttitudeServiceImpl.java new file mode 100644 index 000000000..d027fada6 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsUserAttitudeServiceImpl.java @@ -0,0 +1,104 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; +import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; +import com.elink.esua.epdc.commons.tools.constant.FieldConstant; +import com.elink.esua.epdc.dao.NewsUserAttitudeDao; +import com.elink.esua.epdc.dto.NewsUserAttitudeDTO; +import com.elink.esua.epdc.entity.NewsUserAttitudeEntity; +import com.elink.esua.epdc.redis.NewsUserAttitudeRedis; +import com.elink.esua.epdc.service.NewsUserAttitudeService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 新闻点赞点踩表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-09-09 + */ +@Service +public class NewsUserAttitudeServiceImpl extends BaseServiceImpl implements NewsUserAttitudeService { + + @Autowired + private NewsUserAttitudeRedis newsUserAttitudeRedis; + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, NewsUserAttitudeDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, NewsUserAttitudeDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public NewsUserAttitudeDTO get(String id) { + NewsUserAttitudeEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, NewsUserAttitudeDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(NewsUserAttitudeDTO dto) { + NewsUserAttitudeEntity entity = ConvertUtils.sourceToTarget(dto, NewsUserAttitudeEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(NewsUserAttitudeDTO dto) { + NewsUserAttitudeEntity entity = ConvertUtils.sourceToTarget(dto, NewsUserAttitudeEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NewsDao.xml b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NewsDao.xml index be59a0bbe..5d1eaf960 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NewsDao.xml +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NewsDao.xml @@ -80,12 +80,11 @@ en.READING_AMOUNT AS readingAmount, en.UN_LIKE_NUMBER AS unlikeNumber, en.LIKE_NUMBER AS likeNumber, - nc.CATEGORY_NAME AS newsCategoryName + nc.CATEGORY_NAME AS categoryName FROM epdc_news en LEFT JOIN epdc_news_category nc ON en.NEWS_CATERORY_ID = nc.ID WHERE en.ID = #{id} - \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NewsUserAttitudeDao.xml b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NewsUserAttitudeDao.xml new file mode 100644 index 000000000..1793b5186 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NewsUserAttitudeDao.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/UserDTO.java b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/UserDTO.java index 835e85e18..38c6e5066 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/UserDTO.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/UserDTO.java @@ -155,6 +155,11 @@ public class UserDTO implements Serializable { */ private String buildingCode; + /** + * 所在门牌号 + */ + private String houseCode; + /** * 所在单元号 */ @@ -215,6 +220,16 @@ public class UserDTO implements Serializable { */ private String state; + /** + * 区县 + */ + private String district; + + /** + * 区县ID + */ + private Long districtId; + /** * 街道 */ diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcUserRegistFormDTO.java b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcUserRegistFormDTO.java index 917d1e0b3..1b8df027d 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcUserRegistFormDTO.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcUserRegistFormDTO.java @@ -50,18 +50,19 @@ public class EpdcUserRegistFormDTO implements Serializable { /** * 小区名 */ - @NotBlank(message = "小区名不能为空") private String villageName; /** * 楼栋号 */ - @NotBlank(message = "楼栋号不能为空") private String buildingCode; /** * 单元号 */ - @NotBlank(message = "单元号不能为空") private String unitCode; + /** + * 门牌号 + */ + private String houseCode; /** * 微信code */ diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/entity/UserEntity.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/entity/UserEntity.java index 9441e1656..8d6ab04e4 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/entity/UserEntity.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/entity/UserEntity.java @@ -158,6 +158,11 @@ public class UserEntity extends BaseEpdcEntity { */ private String unitCode; + /** + * 所在门牌号 + */ + private String houseCode; + /** * 居民住址 */ @@ -213,6 +218,16 @@ public class UserEntity extends BaseEpdcEntity { */ private String state; + /** + * 区县 + */ + private String district; + + /** + * 区县ID + */ + private Long districtId; + /** * 街道 */ diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyMembersServiceImpl.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyMembersServiceImpl.java index 2108f5cad..e835a8c62 100755 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyMembersServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyMembersServiceImpl.java @@ -19,13 +19,11 @@ package com.elink.esua.epdc.service.impl; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.elink.esua.epdc.commons.mybatis.enums.DelFlagEnum; import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; import com.elink.esua.epdc.commons.tools.constant.Constant; -import com.elink.esua.epdc.commons.tools.exception.RenException; +import com.elink.esua.epdc.commons.tools.constant.FieldConstant; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.utils.Result; @@ -62,7 +60,7 @@ public class PartyMembersServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( - getPage(params, Constant.CREATED_TIME, false), + getPage(params, FieldConstant.CREATED_TIME, false), getWrapper(params) ); @@ -88,7 +86,6 @@ public class PartyMembersServiceImpl extends BaseServiceImpl wrapper = new QueryWrapper<>(); wrapper.eq(StringUtils.isNotBlank(id), "id", id); - //wrapper.eq(Constant.DEL_FLAG, DelFlagEnum.NORMAL.value()); return wrapper; } diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyTagRelationServiceImpl.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyTagRelationServiceImpl.java index e23082f28..7f1847362 100755 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyTagRelationServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyTagRelationServiceImpl.java @@ -19,10 +19,8 @@ package com.elink.esua.epdc.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.elink.esua.epdc.commons.mybatis.enums.DelFlagEnum; import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; -import com.elink.esua.epdc.commons.tools.constant.Constant; -import com.elink.esua.epdc.commons.tools.exception.RenException; +import com.elink.esua.epdc.commons.tools.constant.FieldConstant; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.dao.PartyTagRelationDao; @@ -53,7 +51,7 @@ public class PartyTagRelationServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( - getPage(params, Constant.CREATED_TIME, false), + getPage(params, FieldConstant.CREATED_TIME, false), getWrapper(params) ); @@ -72,7 +70,6 @@ public class PartyTagRelationServiceImpl extends BaseServiceImpl wrapper = new QueryWrapper<>(); wrapper.eq(StringUtils.isNotBlank(id), "id", id); - //wrapper.eq(Constant.DEL_FLAG, DelFlagEnum.NORMAL.value()); return wrapper; } @@ -104,9 +101,6 @@ public class PartyTagRelationServiceImpl extends BaseServiceImpl implem private QueryWrapper getWrapper(Map params) { String auditState = (String) params.get("auditState"); - String id = (String) params.get("id"); - String streetId = (String) params.get("streetId"); - String communityId = (String) params.get("communityId"); - String gridId = (String) params.get("gridId"); + String id = (String) params.get(FieldConstant.ID_HUMP); + String streetId = (String) params.get(FieldConstant.STREET_ID_HUMP); + String communityId = (String) params.get(FieldConstant.COMMUNITY_ID_HUMP); + String gridId = (String) params.get(FieldConstant.GRID_ID_HUMP); String realName = (String) params.get("realName"); - String mobile = (String) params.get("mobile"); + String mobile = (String) params.get(FieldConstant.MOBILE_HUMP); String identityNo = (String) params.get("identityNo"); String startTime = (String) params.get("startTime"); String endTime = (String) params.get("endTime"); QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq(StringUtils.isNotBlank(id), "ID", id); - wrapper.eq(StringUtils.isNotBlank(streetId), "STREET_ID", streetId); - wrapper.eq(StringUtils.isNotBlank(communityId), "COMMUNITY_ID", communityId); - wrapper.eq(StringUtils.isNotBlank(gridId), "GRID_ID", gridId); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + wrapper.eq(StringUtils.isNotBlank(streetId), FieldConstant.STREET_ID, streetId); + wrapper.eq(StringUtils.isNotBlank(communityId), FieldConstant.COMMUNITY_ID, communityId); + wrapper.eq(StringUtils.isNotBlank(gridId), FieldConstant.GRID_ID, gridId); wrapper.eq(StringUtils.isNotBlank(realName), "REAL_NAME", realName); - wrapper.eq(StringUtils.isNotBlank(mobile), "MOBILE", mobile); + wrapper.eq(StringUtils.isNotBlank(mobile), FieldConstant.MOBILE, mobile); wrapper.eq(StringUtils.isNotBlank(identityNo), "IDENTITY_NO", identityNo); wrapper.ge(StringUtils.isNotBlank(startTime), "REGISTER_TIME", startTime); wrapper.lt(StringUtils.isNotBlank(endTime), "REGISTER_TIME", endTime); - wrapper.eq(StringUtils.isNotBlank(auditState), "STATE", auditState); -// wrapper.eq(Constant.DEL_FLAG, DelFlagEnum.NORMAL.value()); + wrapper.eq(StringUtils.isNotBlank(auditState), FieldConstant.STATE, auditState); return wrapper; } @@ -133,14 +132,14 @@ public class UserServiceImpl extends BaseServiceImpl implem public void audit(UserDTO dto) { UserEntity entity = ConvertUtils.sourceToTarget(dto, UserEntity.class); //是否通过审核 - if(YesOrNoEnum.YES.value().equals(dto.getPass())){ + if (YesOrNoEnum.YES.value().equals(dto.getPass())) { entity.setState(AppUserAuditStateEnum.AUDIT_SUCCESS.value()); - }else if (YesOrNoEnum.NO.value().equals(dto.getPass())){ + } else if (YesOrNoEnum.NO.value().equals(dto.getPass())) { entity.setState(AppUserAuditStateEnum.AUDIT_FAILURE.value()); } updateById(entity); //判断是否是党员 - if (YesOrNoEnum.YES.value().equals(dto.getPartyFlag())&&YesOrNoEnum.YES.value().equals(dto.getPass())) { + if (YesOrNoEnum.YES.value().equals(dto.getPartyFlag()) && YesOrNoEnum.YES.value().equals(dto.getPass())) { PartyMembersDTO partyMembersDTO = ConvertUtils.sourceToTarget(dto, PartyMembersDTO.class); partyMembersDTO.setStreetName(dto.getStreet()); partyMembersDTO.setCommunityName(dto.getCommunity()); @@ -154,7 +153,9 @@ public class UserServiceImpl extends BaseServiceImpl implem public Result getUserInfoByOpenId(String openId) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("WX_OPEN_ID", openId) - .ne("STATE", AppUserAuditStateEnum.AUDIT_FAILURE.value()); + .ne(FieldConstant.STATE, AppUserAuditStateEnum.AUDIT_FAILURE.value()) + .select(FieldConstant.ID, "NICKNAME", "FACE_IMG", FieldConstant.MOBILE, "REAL_NAME", + FieldConstant.STATE, FieldConstant.GRID_ID, "PARTY_FLAG"); UserEntity userEntity = this.baseDao.selectOne(wrapper); if (null != userEntity) { UserDTO dto = ConvertUtils.sourceToTarget(userEntity, UserDTO.class);