diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java index 9321d14e60..5bf5f2404a 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java @@ -11,7 +11,13 @@ public enum EpmetErrorCode { GROUP_ALREADY_EXISTED(8003,"您的组名已存在,请重新修改"), ALREADY_APPLIED_GROUP(8004,"该群已申请过,请耐心等待审核"), ONLY_LEADER_CAN_INVITE(8005,"抱歉,只有群主才可以邀请新成员"), - LOSE_EFFICACY(8006,"链接已失效"); + LOSE_EFFICACY(8006,"链接已失效"), + + MOBILE_HAS_BEEN_USED(8101, "该手机已被使用,请更换手机或使用原绑定的微信用户登录"), + MOBILE_CODE_ERROR(8102, "手机验证码错误"), + AUTO_CONFIRM_FAILED(8103, "自动认证失败"); + + private int value; private String name; diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/SysSmsDao.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/SysSmsDao.java index c99b3cf3e4..f56eb832eb 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/SysSmsDao.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/SysSmsDao.java @@ -11,6 +11,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.entity.SysSmsEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 短信 @@ -20,4 +21,9 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface SysSmsDao extends BaseDao { + + int tempInsert(@Param("platform") Integer platform, @Param("mobile") String mobile, + @Param("params1") String params1, @Param("params2") String params2, + @Param("params3") String params3, @Param("params4") String params4, + @Param("status") Integer status); } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SysSmsServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SysSmsServiceImpl.java index 506d301f0f..0131b235c0 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SysSmsServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SysSmsServiceImpl.java @@ -26,6 +26,7 @@ import com.epmet.sms.SmsFactory; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; +import java.util.Date; import java.util.LinkedHashMap; import java.util.Map; @@ -95,7 +96,13 @@ public class SysSmsServiceImpl extends BaseServiceImpl } sms.setStatus(status); - - this.insert(sms); + sms.setCreateDate(new Date()); + baseDao.tempInsert(sms.getPlatform(), + sms.getMobile(), + sms.getParams1(), + sms.getParams2(), + sms.getParams3(), + sms.getParams4(), + sms.getStatus()); } } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/SysSmsDao.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/SysSmsDao.xml index 09959e9196..44524eceea 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/SysSmsDao.xml +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/SysSmsDao.xml @@ -3,5 +3,27 @@ + + INSERT INTO `sys_sms` ( + `platform`, + `mobile`, + `params_1`, + `params_2`, + `params_3`, + `params_4`, + `status`, + `creator`, + `create_date`) + VALUES + ( #{platform}, + #{mobile}, + #{params1}, + #{params2}, + #{params3}, + #{params4}, + #{status}, + "1", + now()) + diff --git a/epmet-module/epmet-oss/epmet-oss-server/pom.xml b/epmet-module/epmet-oss/epmet-oss-server/pom.xml index ea11cf21ef..2d154e0fe3 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/pom.xml +++ b/epmet-module/epmet-oss/epmet-oss-server/pom.xml @@ -131,7 +131,7 @@ - + epmet elink@833066 @@ -161,7 +161,7 @@ - + epmet elink@833066 diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java index 1630b63225..dd7256c27b 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java @@ -107,7 +107,7 @@ public class OssController { OssEntity ossEntity = new OssEntity(); ossEntity.setUrl(url); ossEntity.setCreateDate(new Date()); - ossService.insert(ossEntity); + ossService.insertOssEntity(ossEntity); //文件信息 UploadDTO dto = new UploadDTO(); diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/dao/OssDao.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/dao/OssDao.java index 79f8b14823..3d57a9424e 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/dao/OssDao.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/dao/OssDao.java @@ -20,4 +20,5 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface OssDao extends BaseDao { + int insertOssEntity(String url); } diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java index d1100a686b..b688001b02 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java @@ -22,4 +22,6 @@ import java.util.Map; public interface OssService extends BaseService { PageData page(Map params); + + int insertOssEntity(OssEntity ossEntity); } diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java index 60ad3a91fe..b235163e81 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java @@ -31,4 +31,9 @@ public class OssServiceImpl extends BaseServiceImpl implement ); return getPageData(page, OssEntity.class); } + + @Override + public int insertOssEntity(OssEntity ossEntity) { + return baseDao.insertOssEntity(ossEntity.getUrl()); + } } diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/resources/mapper/SysOssDao.xml b/epmet-module/epmet-oss/epmet-oss-server/src/main/resources/mapper/SysOssDao.xml index 4e15504edb..57994ca119 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/resources/mapper/SysOssDao.xml +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/resources/mapper/SysOssDao.xml @@ -3,5 +3,11 @@ - + + INSERT INTO `sys_oss` ( `url`, `creator`, `create_date` ) + VALUES + ( #{url}, + "1", + now( ) ) + diff --git a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java index 3fe7b82bca..c3f44bbc57 100644 --- a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java +++ b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java @@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.*; * @dscription * @date 2020/3/19 9:32 */ -@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, path="/epmetuser", fallback = EpmetUserFeignClientFallback.class,url = "http://localhost:8087") +@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, path="/epmetuser", fallback = EpmetUserFeignClientFallback.class) public interface EpmetUserFeignClient { /** diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicConstant.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicConstant.java new file mode 100644 index 0000000000..4910c2281b --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicConstant.java @@ -0,0 +1,65 @@ +package com.epmet.resi.group.constant; + +/** + * @Description + * @IntefaceName TopicConstant + * @Author wangc + * @date 2020.03.31 17:18 + */ +public interface TopicConstant { + + /** + * 话题最大字数 + * */ + int MAX_NUMBER_OF_CONTENT = 3000; + + /** + * 评论最大字数 + * */ + int MAX_NUMBER_OF_COMMENT = 300; + + /** + * 发布话题 + * */ + String PUBLISHMENT = "discussing"; + + /** + * 取消屏蔽 + * */ + String CANCEL_HIDDEN = "hidden_cancelled"; + + /** + * 关闭话题 + * */ + String CLOSED = "closed"; + + /** + * 屏蔽话题 + * */ + String HIDDEN = "hidden"; + + /** + * 本人发布 + * */ + String PUBLISHED_BY_MYSELF = "me"; + + /** + * 他人发布 + * */ + String PUBLISHED_BY_OTHER = "other"; + + /** + * 构造queryWrapper 话题Id列名 + * */ + String TOPIC_ID = "TOPIC_ID"; + + /** + * 构造queryWrapper 创建日期列名 + * */ + String CREATED_DATE = "CREATED_DATE"; + + /** + * 构造queryWrapper 逻辑删除标识列名 + * */ + String DEL_FLAG = "DEL_FLAG"; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/comment/form/ResiQueryCommentFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/comment/form/ResiQueryCommentFormDTO.java new file mode 100644 index 0000000000..bed1a75b87 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/comment/form/ResiQueryCommentFormDTO.java @@ -0,0 +1,36 @@ +package com.epmet.resi.group.dto.comment.form; + +import lombok.Data; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description + * @ClassName ResiQueryCommentFormDTO + * @Author wangc + * @date 2020.04.01 17:14 + */ +@Data +public class ResiQueryCommentFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 组Id + * */ + @NotBlank(message = "话题Id不能为空") + private String topicId; + + /** + * 请求页码 + * */ + @Min(1) + private int pageNo; + + /** + * 每页多少条数据 + * */ + private int pageSize = 20; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/comment/result/ResiCommentResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/comment/result/ResiCommentResultDTO.java new file mode 100644 index 0000000000..ce6ed8f1c2 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/comment/result/ResiCommentResultDTO.java @@ -0,0 +1,52 @@ +package com.epmet.resi.group.dto.comment.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description + * @ClassName ResiCommentResultDTO + * @Author wangc + * @date 2020.04.01 17:07 + */ +@Data +public class ResiCommentResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 评论Id + * */ + private String commentId; + + /** + * 评论内容 + * */ + private String commentContent; + + /** + * 评论者头像 + * */ + private String commentUserHeadPhoto; + + /** + * 评论者姓名 + * */ + private String commentUserName; + + /** + * 用户Id 评论者Id + * */ + private String userId; + + /** + * 评论时间 yyyy-MM-dd HH:mm:ss + * */ + private String commentTime; + + /** + * 评论状态 + * */ + private String commentStatus; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/ResiTopicAttachmentDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/ResiTopicAttachmentDTO.java new file mode 100644 index 0000000000..2a6afb9d90 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/ResiTopicAttachmentDTO.java @@ -0,0 +1,96 @@ +/** + * 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.epmet.resi.group.dto.topic; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 话题附件表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-03-31 + */ +@Data +public class ResiTopicAttachmentDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private String id; + + /** + * 话题Id,关联resi_topic的id + */ + private String topicId; + + /** + * 附件名(uuid随机生成) + */ + private String attachmentName; + + /** + * 文件格式(JPG、PNG、PDF、JPEG、BMP、MP4、WMA、M4A、MP3、DOC、DOCX、XLS) + */ + private String attachmentFormat; + + /** + * 附件类型((图片 - figure、 视频 - video、 语音 - voice、 文档 - doc)) + */ + private String attachmentType; + + /** + * 附件地址 + */ + private String attachmentUrl; + + /** + * 删除标记 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/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiPublishCommentFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiPublishCommentFormDTO.java new file mode 100644 index 0000000000..894364fe16 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiPublishCommentFormDTO.java @@ -0,0 +1,24 @@ +package com.epmet.resi.group.dto.topic.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description + * @ClassName ResiPublishCommentFormDTO + * @Author wangc + * @date 2020.03.31 17:32 + */ +@Data +public class ResiPublishCommentFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + @NotBlank(message = "话题Id不能为空") + private String topicId; + + @NotBlank(message = "评论内容不能为空") + private String commentContent; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiTopicOperationFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiTopicOperationFormDTO.java new file mode 100644 index 0000000000..58853940ce --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiTopicOperationFormDTO.java @@ -0,0 +1,30 @@ +package com.epmet.resi.group.dto.topic.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description + * @ClassName ResiTopicOperationFormDTO + * @Author wangc + * @date 2020.04.01 15:32 + */ +@Data +public class ResiTopicOperationFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 话题Id + */ + private String topicId; + + /** + * 屏蔽原因 + */ + private String operateReason; + + + +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiTopicPageFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiTopicPageFormDTO.java new file mode 100644 index 0000000000..13b1904122 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiTopicPageFormDTO.java @@ -0,0 +1,46 @@ +package com.epmet.resi.group.dto.topic.form; + +import lombok.Data; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description + * @ClassName ResiTopicPageFormDTO + * @Author wangc + * @date 2020.04.01 10:09 + */ +@Data +public class ResiTopicPageFormDTO implements Serializable{ + + private static final long serialVersionUID = 1L; + + /** + * 组Id + * */ + @NotBlank(message = "组Id不能为空") + private String groupId; + + /** + * 请求页码 + * */ + @Min(value = 1) + private int pageNo; + + /** + * 每页多少条数据 + * */ + private int pageSize = 20; + + /** + * 搜索时可以带状态的查询,也可以不带 + * */ + private String status; + + /** + * 用户Id + * */ + private String userId; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiTopicPublishFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiTopicPublishFormDTO.java index d6cfe4dd5d..f1a449462a 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiTopicPublishFormDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiTopicPublishFormDTO.java @@ -2,6 +2,7 @@ package com.epmet.resi.group.dto.topic.form; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.io.Serializable; import java.util.List; @@ -19,45 +20,50 @@ public class ResiTopicPublishFormDTO implements Serializable { /** * 小组Id * */ + @NotBlank(message = "小组Id不能为空") private String groupId; /** - * + * 话题内容 * */ + @NotBlank(message = "话题内容不能为空") private String topicContent; /** - * + * 经度 * */ + @NotBlank(message = "缺失经纬度信息") private String longitude; /** - * + * 纬度 * */ + @NotBlank(message = "缺失经纬度信息") private String dimension; /** - * + * 地址 * */ + @NotBlank(message = "地址信息不能为空") private String address; /** - * + * 省份 * */ private String province; /** - * + * 城市 * */ private String city; /** - * + * 地区 * */ private String area; /** - * + * 附件上传url列表 * */ private List attachmentList; diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicDetailResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicDetailResultDTO.java new file mode 100644 index 0000000000..6080016569 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicDetailResultDTO.java @@ -0,0 +1,49 @@ +package com.epmet.resi.group.dto.topic.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description + * @ClassName ResiTopicDetailResultDTO + * @Author wangc + * @date 2020.04.01 16:03 + */ +@Data +public class ResiTopicDetailResultDTO implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 话题Id + * */ + private String topicId; + + + /** + * 发布人名称 + * */ + private String releaseUserName; + + /** + * 发布人头像 + * */ + private String releaseUserHeadPhoto; + + /** + * 发布时间 yyyy-MM-dd HH:mm:ss + * */ + private String releaseTime; + + /** + * 话题内容 + * */ + private String topicContent; + + /** + * 图片访问地址 + * */ + private List topicImgs; + +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicInfoResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicInfoResultDTO.java new file mode 100644 index 0000000000..2f0eda3b7b --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicInfoResultDTO.java @@ -0,0 +1,67 @@ +package com.epmet.resi.group.dto.topic.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 查看历史话题返回对象 + * @ClassName ResiTopicInfoResultDTO + * @Author wangc + * @date 2020.04.01 08:46 + */ +@Data +public class ResiTopicInfoResultDTO implements Serializable{ + + private static final long serialVersionUID = 1L; + + /** + * 话题Id + * */ + private String topicId; + + /** + * 用户Id 话题发布人 + * */ + private String userId; + + /** + * 发布人名称 + * */ + private String releaseUserName; + + /** + * 发布人头像 + * */ + private String releaseUserHeadPhoto; + + /** + * 发布时间 yyyy-MM-dd HH:mm:ss + * */ + private String releaseTime; + + /** + * 话题内容 + * */ + private String topicContent; + + /** + * 话题状态 讨论中 已关闭 + * */ + private String status; + + /** + * 网格名称 + * */ + private String gridName; + + /** + * 是否本人 me other + * */ + private String releaseUserFlag; + + /** + * 第一张图片 + * */ + private String firstPhoto; +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/comment/controller/ResiCommentController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/comment/controller/ResiCommentController.java new file mode 100644 index 0000000000..ae4c96d67c --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/comment/controller/ResiCommentController.java @@ -0,0 +1,57 @@ +package com.epmet.modules.comment.controller; + +import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.modules.topic.service.ResiTopicCommentService; +import com.epmet.resi.group.dto.comment.form.ResiQueryCommentFormDTO; +import com.epmet.resi.group.dto.comment.result.ResiCommentResultDTO; +import com.epmet.resi.group.dto.topic.form.ResiPublishCommentFormDTO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @Description + * @ClassName ResiCommentController + * @Author wangc + * @date 2020.04.01 18:00 + */ +@RequestMapping("comment") +@RestController +public class ResiCommentController { + + @Autowired + private ResiTopicCommentService commentService; + + /** + * @Description 对话题发表评论 + * @Param tokenDto + * @Param ResiPublishCommentFormDTO + * @return Result + * @Author wangc + * @Date 2020.04.01 18:06 + **/ + @RequestMapping("commenttopic") + public Result commentTopic(@LoginUser TokenDto tokenDto, ResiPublishCommentFormDTO publishCommentFormDTO){ + ValidatorUtils.validateEntity(publishCommentFormDTO); + return commentService.commentTopic(tokenDto,publishCommentFormDTO); + } + + /** + * @Description 获取某个话题的评论列表 + * @Param tokenDto + * @Param ResiQueryCommentFormDTO + * @return Result> + * @Author wangc + * @Date 2020.04.01 23:49 + **/ + @RequestMapping("getcommentlistoftopic") + public Result> getCommentListOfTopic(@LoginUser TokenDto tokenDto, ResiQueryCommentFormDTO queryCommentFormDTO){ + ValidatorUtils.validateEntity(queryCommentFormDTO); + return commentService.getCommentList(tokenDto,queryCommentFormDTO); + } +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/ResiTopicCommentEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/comment/entity/ResiTopicCommentEntity.java similarity index 97% rename from epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/ResiTopicCommentEntity.java rename to epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/comment/entity/ResiTopicCommentEntity.java index f42668e9cb..040f966e2d 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/ResiTopicCommentEntity.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/comment/entity/ResiTopicCommentEntity.java @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -package com.epmet.modules.topic.entity; +package com.epmet.modules.comment.entity; import com.baomidou.mybatisplus.annotation.TableName; diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/exception/ModuleErrorCode.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/exception/ModuleErrorCode.java index 4daeeb6450..481935dd64 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/exception/ModuleErrorCode.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/exception/ModuleErrorCode.java @@ -22,4 +22,5 @@ import com.epmet.commons.tools.exception.ErrorCode; */ public interface ModuleErrorCode extends ErrorCode { + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/EpmetUserFeignClient.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/EpmetUserFeignClient.java index 56cd57c171..4ae87fce2f 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/EpmetUserFeignClient.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/EpmetUserFeignClient.java @@ -18,7 +18,7 @@ import java.util.List; * @Author yinzuomei * @Date 2020/3/16 14:48 */ -@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserFeignClientFallback.class ) +@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserFeignClientFallback.class) public interface EpmetUserFeignClient { /** diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index 0df010297f..e4fb6a8ade 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -38,6 +38,7 @@ import com.epmet.modules.group.dao.ResiGroupOperationDao; import com.epmet.modules.group.entity.ResiGroupEntity; import com.epmet.modules.group.service.ResiGroupOperationService; import com.epmet.modules.group.service.ResiGroupService; + import com.epmet.modules.group.service.ResiGroupStatisticalService; import com.epmet.modules.member.dao.GroupMemeberOperationDao; import com.epmet.modules.member.dao.ResiGroupMemberDao; @@ -52,6 +53,7 @@ import com.epmet.resi.group.constant.MemberStateConstant; import com.epmet.resi.group.dto.UserRoleDTO; import com.epmet.resi.group.dto.group.ResiGroupDTO; import com.epmet.resi.group.dto.group.ResiGroupOperationDTO; + import com.epmet.resi.group.dto.group.ResiGroupStatisticalDTO; import com.epmet.resi.group.dto.group.form.*; import com.epmet.resi.group.dto.group.result.CreatedResultDTO; diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java new file mode 100644 index 0000000000..e40cda746f --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java @@ -0,0 +1,144 @@ +package com.epmet.modules.topic.controller; + +import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.modules.topic.service.ResiTopicService; +import com.epmet.resi.group.dto.topic.form.ResiTopicOperationFormDTO; +import com.epmet.resi.group.dto.topic.form.ResiTopicPageFormDTO; +import com.epmet.resi.group.dto.topic.form.ResiTopicPublishFormDTO; +import com.epmet.resi.group.dto.topic.result.ResiTopicDetailResultDTO; +import com.epmet.resi.group.dto.topic.result.ResiTopicInfoResultDTO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @Description + * @ClassName ResiTopicController + * @Author wangc + * @date 2020.03.31 13:03 + */ + +@RestController +@RequestMapping("topic") +public class ResiTopicController { + + @Autowired + ResiTopicService topicService; + + /** + * @Description 组内成员创建话题(身份校验 + 创建话题 + 增加话题记录) + * @Param TokenDto.class + * @Param ResiTopicPublishFormDTO.class + * @return Result + * @Author wangc + * @Date 2020.03.31 13:15 + **/ + @RequestMapping("createtopic") + public Result createTopic(@LoginUser TokenDto tokenDto, @RequestBody ResiTopicPublishFormDTO topicPublishFormDTO){ + + ValidatorUtils.validateEntity(topicPublishFormDTO); + return topicService.createTopic(tokenDto,topicPublishFormDTO); + } + + /** + * @Description 获取话题详情 + * @Param tokenDto + * @Param String + * @return Result + * @Author wangc + * @Date 2020.04.01 23:48 + **/ + @RequestMapping("gettopicdetail") + public Result getTopicDetail(@LoginUser TokenDto tokenDto, @RequestParam("topicId")String topicId ){ + return topicService.getTopicDetail(tokenDto,topicId); + } + + /** + * @Description 查看历史话题(分页,允许状态筛选) + * @Param tokenDto + * @Param ResiTopicPageFormDTO.class + * @return Result> + * @Author wangc + * @Date 2020.04.01 10:36 + **/ + @RequestMapping("getpasttopiclist") + public Result> getPastTopicList(@LoginUser TokenDto tokenDto, @RequestBody ResiTopicPageFormDTO topicPageFormDTO){ + ValidatorUtils.validateEntity(topicPageFormDTO); + return topicService.getPastTopicList(tokenDto,topicPageFormDTO); + } + + /** + * @Description 查看组内最近十条话题 + * @Param tokenDto + * @Param groupId + * @return Result> + * @Author wangc + * @Date 2020.04.02 00:01 + **/ + @RequestMapping("getlatesttentopic") + Result> getLatestTenTopics(TokenDto tokenDto,String groupId){ + return topicService.getLatestTenTopics(tokenDto,groupId); + } + + /** + * @Description 屏蔽话题 + * @Param tokenDto + * @Param ResiTopicHiddenFormDTO.class + * @return Result + * @Author wangc + * @Date 2020.04.01 12:38 + **/ + @RequestMapping("hidetopic") + Result hideTopic(TokenDto tokenDto,ResiTopicOperationFormDTO hiddenFormDTO){ + ValidatorUtils.validateEntity(hiddenFormDTO); + return topicService.hideTopic(tokenDto,hiddenFormDTO); + } + + /** + * @Description 屏蔽话题列表查询 + * @Param tokenDto + * @Param ResiTopicPageFormDTO.class + * @return List + * @Author wangc + * @Date 2020.04.01 16:45 + **/ + @RequestMapping("gethiddentopic") + Result> getHiddenTopic(TokenDto tokenDto,ResiTopicPageFormDTO topicPageFormDTO){ + ValidatorUtils.validateEntity(topicPageFormDTO); + return topicService.getHiddenTopics(tokenDto,topicPageFormDTO); + } + + /** + * @Description 批量取消屏蔽 + * @Param tokenDto + * @Param topicIds + * @return Result + * @Author wangc + * @Date 2020.04.01 14:17 + **/ + @RequestMapping("cancelhiddentopics") + Result cancelHiddenTopics(TokenDto tokenDto,List topicIds){ + return topicService.cancelHiddenTopics(tokenDto,topicIds); + } + + /** + * @Description 关闭话题 + * @Param tokenDto + * @Param ResiTopicOperationFormDTO.class + * @return Result.class + * @Author wangc + * @Date 2020.04.01 15:37 + **/ + @RequestMapping("closetopic") + Result closeTopic(TokenDto tokenDto,ResiTopicOperationFormDTO closeFormDTO){ + ValidatorUtils.validateEntity(closeFormDTO); + return topicService.closeTopic(tokenDto,closeFormDTO); + } +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicAttachmentDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicAttachmentDao.java new file mode 100644 index 0000000000..c58c7e59db --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicAttachmentDao.java @@ -0,0 +1,54 @@ +/** + * 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.epmet.modules.topic.dao; + + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.modules.topic.entity.ResiTopicAttachmentEntity; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 话题附件表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-03-31 + */ +@Mapper +public interface ResiTopicAttachmentDao extends BaseDao { + + /** + * @Description 批量插入 + * @Param + * @return + * @Author wangc + * @Date 2020.04.01 13:39 + **/ + int insertBatch(List list); + + /** + * @Description 重写Insert方法,不需要传CreatedDate UpdatedBy UpdatedDate DelFlag Revision + * @Param attachmentEntity + * @return int 受影响的行数 + * @Author wangc + * @Date 2020.04.01 13:40 + **/ + + int insertOne(ResiTopicAttachmentEntity attachmentEntity); +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicCommentDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicCommentDao.java index 2d72e71723..76ecd5dafd 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicCommentDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicCommentDao.java @@ -19,9 +19,13 @@ package com.epmet.modules.topic.dao; import com.epmet.commons.mybatis.dao.BaseDao; -import com.epmet.modules.topic.entity.ResiTopicCommentEntity; +import com.epmet.modules.comment.entity.ResiTopicCommentEntity; +import com.epmet.resi.group.dto.comment.form.ResiQueryCommentFormDTO; +import com.epmet.resi.group.dto.comment.result.ResiCommentResultDTO; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 话题评论表 * @@ -30,5 +34,22 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface ResiTopicCommentDao extends BaseDao { - + + /** + * @Description 重写Insert方法,不需要传CreatedDate UpdatedBy UpdatedDate DelFlag Revision + * @Param commentEntity + * @return int + * @Author wangc + * @Date 2020.04.01 17:40 + **/ + int insertOne(ResiTopicCommentEntity commentEntity); + + /** + * @Description 得到某个话题的评论列表 分页 + * @Param ResiQueryCommentFormDTO + * @return Result> + * @Author wangc + * @Date 2020.04.01 17:15 + **/ + List getCommentList(ResiQueryCommentFormDTO queryCommentFormDTO); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java index a85c32adc6..bfb32a90ec 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java @@ -20,7 +20,12 @@ package com.epmet.modules.topic.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.modules.topic.entity.ResiTopicEntity; +import com.epmet.resi.group.dto.topic.form.ResiTopicPageFormDTO; +import com.epmet.resi.group.dto.topic.result.ResiTopicInfoResultDTO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 话题信息表 @@ -30,5 +35,59 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface ResiTopicDao extends BaseDao { - + + /** + * @Description 重写Insert方法,不需要传CreatedDate UpdatedBy UpdatedDate DelFlag Revision + * @Param ResiTopicEntity.class + * @return int + * @Author wangc + * @Date 2020.04.01 09:39 + **/ + int insertOne(ResiTopicEntity resiTopic); + + /** + * @Description 查询该组内最近十条话题信息 + * @Param groupId + * @return List + * @Author wangc + * @Date 2020.04.01 09:40 + **/ + List getLatestTenTopics(@Param("groupId")String groupId,@Param("userId")String userId); + + /** + * @Description 查看历史话题(分页,允许状态筛选) + * @Param topicPageFormDTO + * @return List + * @Author wangc + * @Date 2020.04.01 11:08 + **/ + List getPastTopics(ResiTopicPageFormDTO topicPageFormDTO); + + /** + * @Description 修改话题 + * @Param ResiTopicEntity.class + * @return Result.class + * @Author wangc + * @Date 2020.04.01 13:08 + **/ + int update(ResiTopicEntity topicEntity); + + /** + * @Description 批量取消屏蔽操作 + * @Param List + * @Param updatedBy + * @return int + * @Author wangc + * @Date 2020.04.01 15:20 + **/ + int cancelHiddenOrCloseBatch(@Param("list")List ids,@Param("updatedBy")String updatedBy,@Param("status")String status); + + /** + * @Description 批量更新 + * @Param List + * @return int + * @Author wangc + * @Date 2020.04.01 15:21 + **/ + int updateBatch(List list); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicOperationDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicOperationDao.java index 570f1c4b55..8c4b186b03 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicOperationDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicOperationDao.java @@ -30,5 +30,14 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface ResiTopicOperationDao extends BaseDao { - + + /** + * @Description 重写Insert方法,不需要传CreatedDate UpdatedBy UpdatedDate DelFlag Revision + * @Param topicOperationEntity + * @return int 受影响的行数 + * @Author wangc + * @Date 2020.04.01 13:45 + **/ + int insertOne(ResiTopicOperationEntity topicOperationEntity); + } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/ResiTopicAttachmentEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/ResiTopicAttachmentEntity.java new file mode 100644 index 0000000000..0585e594d6 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/ResiTopicAttachmentEntity.java @@ -0,0 +1,66 @@ +/** + * 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.epmet.modules.topic.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 话题附件表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-03-31 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("resi_topic_attachment") +public class ResiTopicAttachmentEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 话题Id,关联resi_topic的id + */ + private String topicId; + + /** + * 附件名(uuid随机生成) + */ + private String attachmentName; + + /** + * 文件格式(JPG、PNG、PDF、JPEG、BMP、MP4、WMA、M4A、MP3、DOC、DOCX、XLS) + */ + private String attachmentFormat; + + /** + * 附件类型((图片 - figure、 视频 - video、 语音 - voice、 文档 - doc)) + */ + private String attachmentType; + + /** + * 附件地址 + */ + private String attachmentUrl; + +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/ResiTopicOperationEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/ResiTopicOperationEntity.java index eac71fc663..8a9cb25de9 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/ResiTopicOperationEntity.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/ResiTopicOperationEntity.java @@ -48,4 +48,8 @@ public class ResiTopicOperationEntity extends BaseEpmetEntity { */ private String operationType; + /** + * 屏蔽理由(非必填) + * */ + private String operationReason; } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicAttachmentService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicAttachmentService.java new file mode 100644 index 0000000000..e8c06b0851 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicAttachmentService.java @@ -0,0 +1,96 @@ +/** + * 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.epmet.modules.topic.service; + + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.modules.topic.entity.ResiTopicAttachmentEntity; +import com.epmet.resi.group.dto.topic.ResiTopicAttachmentDTO; + +import java.util.List; +import java.util.Map; + +/** + * 话题附件表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-03-31 + */ +public interface ResiTopicAttachmentService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2020-03-31 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2020-03-31 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return ResiTopicAttachmentDTO + * @author generator + * @date 2020-03-31 + */ + ResiTopicAttachmentDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2020-03-31 + */ + void save(ResiTopicAttachmentDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2020-03-31 + */ + void update(ResiTopicAttachmentDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2020-03-31 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicCommentService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicCommentService.java index f9058408cd..f0656d3d93 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicCommentService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicCommentService.java @@ -19,8 +19,13 @@ package com.epmet.modules.topic.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; -import com.epmet.modules.topic.entity.ResiTopicCommentEntity; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.Result; +import com.epmet.modules.comment.entity.ResiTopicCommentEntity; +import com.epmet.resi.group.dto.comment.form.ResiQueryCommentFormDTO; +import com.epmet.resi.group.dto.comment.result.ResiCommentResultDTO; import com.epmet.resi.group.dto.topic.ResiTopicCommentDTO; +import com.epmet.resi.group.dto.topic.form.ResiPublishCommentFormDTO; import java.util.List; @@ -93,4 +98,25 @@ public interface ResiTopicCommentService extends BaseService> + * @Author wangc + * @Date 2020.04.01 17:15 + **/ + Result> getCommentList(TokenDto tokenDto,ResiQueryCommentFormDTO commentFormDTO); + } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java index d0407fa3ca..6784cab2e3 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java @@ -19,9 +19,17 @@ package com.epmet.modules.topic.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.Result; import com.epmet.modules.topic.entity.ResiTopicEntity; import com.epmet.resi.group.dto.topic.ResiTopicDTO; +import com.epmet.resi.group.dto.topic.form.ResiTopicOperationFormDTO; +import com.epmet.resi.group.dto.topic.form.ResiTopicPageFormDTO; +import com.epmet.resi.group.dto.topic.form.ResiTopicPublishFormDTO; +import com.epmet.resi.group.dto.topic.result.ResiTopicDetailResultDTO; +import com.epmet.resi.group.dto.topic.result.ResiTopicInfoResultDTO; + import java.util.List; import java.util.Map; @@ -93,4 +101,84 @@ public interface ResiTopicService extends BaseService { * @date 2020-03-31 */ void delete(String[] ids); + + /** + * @Description 创建话题接口,具体逻辑包括:1.身份校验 2.创建话题 3.话题操作记录 + * @Param tokenDto + * @Param resiTopicPublishFormDTO + * @return Result + * @Author wangc + * @Date 2020.03.31 13:19 + **/ + Result createTopic(TokenDto tokenDto, ResiTopicPublishFormDTO resiTopicPublishFormDTO); + + /** + * @Description 查看组内最近十条话题 + * @Param tokenDto + * @Param groupId + * @return Result> + * @Author wangc + * @Date 2020.04.01 08:59 + **/ + Result> getLatestTenTopics(TokenDto tokenDto,String groupId); + + /** + * @Description 查看历史话题(分页,允许状态筛选) + * @Param tokenDto + * @Param ResiTopicPageFormDTO.class + * @return Result> + * @Author wangc + * @Date 2020.04.01 10:36 + **/ + Result> getPastTopicList(TokenDto tokenDto, ResiTopicPageFormDTO topicPageFormDTO); + + /** + * @Description 屏蔽话题 + * @Param tokenDto + * @Param ResiTopicHiddenFormDTO.class + * @return Result + * @Author wangc + * @Date 2020.04.01 12:38 + **/ + Result hideTopic(TokenDto tokenDto,ResiTopicOperationFormDTO hiddenFormDTO); + + /** + * @Description 批量取消屏蔽 + * @Param tokenDto + * @Param topicIds + * @return Result + * @Author wangc + * @Date 2020.04.01 14:17 + **/ + Result cancelHiddenTopics(TokenDto tokenDto,List topicIds); + + /** + * @Description 关闭话题 + * @Param tokenDto + * @Param ResiTopicOperationFormDTO.class + * @return Result.class + * @Author wangc + * @Date 2020.04.01 15:37 + **/ + Result closeTopic(TokenDto tokenDto,ResiTopicOperationFormDTO closeFormDTO); + + /** + * @Description 查看话题详情 + * @Param tokenDto + * @Param topicId + * @return ResiTopicDetailResultDTO + * @Author wangc + * @Date 2020.04.01 15:56 + **/ + Result getTopicDetail(TokenDto tokenDto, String topicId); + + /** + * @Description 屏蔽话题列表查询 + * @Param tokenDto + * @Param ResiTopicPageFormDTO.class + * @return List + * @Author wangc + * @Date 2020.04.01 16:45 + **/ + Result> getHiddenTopics(TokenDto tokenDto,ResiTopicPageFormDTO topicPageFormDTO); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicAttachmentServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicAttachmentServiceImpl.java new file mode 100644 index 0000000000..238682e191 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicAttachmentServiceImpl.java @@ -0,0 +1,100 @@ +/** + * 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.epmet.modules.topic.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.modules.topic.dao.ResiTopicAttachmentDao; +import com.epmet.modules.topic.entity.ResiTopicAttachmentEntity; +import com.epmet.modules.topic.service.ResiTopicAttachmentService; +import com.epmet.resi.group.dto.topic.ResiTopicAttachmentDTO; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 话题附件表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-03-31 + */ +@Service +public class ResiTopicAttachmentServiceImpl extends BaseServiceImpl implements ResiTopicAttachmentService { + + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, ResiTopicAttachmentDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, ResiTopicAttachmentDTO.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 ResiTopicAttachmentDTO get(String id) { + ResiTopicAttachmentEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, ResiTopicAttachmentDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(ResiTopicAttachmentDTO dto) { + ResiTopicAttachmentEntity entity = ConvertUtils.sourceToTarget(dto, ResiTopicAttachmentEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(ResiTopicAttachmentDTO dto) { + ResiTopicAttachmentEntity entity = ConvertUtils.sourceToTarget(dto, ResiTopicAttachmentEntity.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/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java index aefdc798a0..1ec3799550 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java @@ -20,15 +20,28 @@ package com.epmet.modules.topic.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.modules.comment.entity.ResiTopicCommentEntity; +import com.epmet.modules.member.service.ResiGroupMemberService; import com.epmet.modules.topic.dao.ResiTopicCommentDao; -import com.epmet.modules.topic.entity.ResiTopicCommentEntity; import com.epmet.modules.topic.service.ResiTopicCommentService; +import com.epmet.modules.topic.service.ResiTopicService; +import com.epmet.resi.group.constant.MemberStateConstant; +import com.epmet.resi.group.constant.TopicConstant; +import com.epmet.resi.group.dto.comment.form.ResiQueryCommentFormDTO; +import com.epmet.resi.group.dto.comment.result.ResiCommentResultDTO; +import com.epmet.resi.group.dto.member.ResiGroupMemberDTO; import com.epmet.resi.group.dto.topic.ResiTopicCommentDTO; +import com.epmet.resi.group.dto.topic.ResiTopicDTO; +import com.epmet.resi.group.dto.topic.form.ResiPublishCommentFormDTO; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -45,7 +58,11 @@ import java.util.Map; @Service public class ResiTopicCommentServiceImpl extends BaseServiceImpl implements ResiTopicCommentService { + @Autowired + ResiTopicService resiTopicService; + @Autowired + ResiGroupMemberService resiGroupMemberService; @Override public PageData page(Map params) { @@ -99,4 +116,64 @@ public class ResiTopicCommentServiceImpl extends BaseServiceImpl TopicConstant.MAX_NUMBER_OF_COMMENT){ + + return new Result().error(); + } + ResiTopicCommentEntity comment = ConvertUtils.sourceToTarget(resiCommentFormDTO,ResiTopicCommentEntity.class); + comment.setStatus(TopicConstant.PUBLISHMENT); + baseDao.insertOne(comment); + + return new Result(); + } + + /** + * @Description 得到某个话题的评论列表 分页 + * @Param tokenDto + * @Param ResiQueryCommentFormDTO + * @return Result> + * @Author wangc + * @Date 2020.04.01 17:15 + **/ + @Override + public Result> getCommentList(TokenDto tokenDto, ResiQueryCommentFormDTO commentFormDTO) { + commentFormDTO.setPageNo((commentFormDTO.getPageNo() - NumConstant.ONE) * commentFormDTO.getPageSize()); + return new Result>().ok(baseDao.getCommentList(commentFormDTO)); + + } + + } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java index 43173e112a..516f722bb2 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java @@ -20,19 +20,45 @@ package com.epmet.modules.topic.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; - +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.UserResiInfoDTO; +import com.epmet.dto.form.UserResiInfoFormDTO; +import com.epmet.modules.feign.EpmetUserFeignClient; +import com.epmet.modules.group.dao.ResiGroupDao; +import com.epmet.modules.group.entity.ResiGroupEntity; +import com.epmet.modules.member.dao.ResiGroupMemberDao; +import com.epmet.modules.member.service.ResiGroupMemberService; +import com.epmet.modules.topic.dao.ResiTopicAttachmentDao; +import com.epmet.modules.topic.dao.ResiTopicCommentDao; import com.epmet.modules.topic.dao.ResiTopicDao; +import com.epmet.modules.topic.dao.ResiTopicOperationDao; +import com.epmet.modules.topic.entity.ResiTopicAttachmentEntity; import com.epmet.modules.topic.entity.ResiTopicEntity; +import com.epmet.modules.topic.entity.ResiTopicOperationEntity; import com.epmet.modules.topic.service.ResiTopicService; +import com.epmet.modules.utils.ModuleConstant; +import com.epmet.resi.group.constant.MemberStateConstant; +import com.epmet.resi.group.constant.TopicConstant; +import com.epmet.resi.group.dto.member.ResiGroupMemberDTO; import com.epmet.resi.group.dto.topic.ResiTopicDTO; +import com.epmet.resi.group.dto.topic.form.ResiTopicOperationFormDTO; +import com.epmet.resi.group.dto.topic.form.ResiTopicPageFormDTO; +import com.epmet.resi.group.dto.topic.form.ResiTopicPublishFormDTO; +import com.epmet.resi.group.dto.topic.result.ResiTopicDetailResultDTO; +import com.epmet.resi.group.dto.topic.result.ResiTopicInfoResultDTO; 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.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -46,7 +72,26 @@ import java.util.Map; @Service public class ResiTopicServiceImpl extends BaseServiceImpl implements ResiTopicService { + @Autowired + private ResiGroupMemberService resiGroupMemberService; + + @Autowired + private ResiTopicAttachmentDao resiTopicAttachmentDao; + + @Autowired + private ResiTopicOperationDao resiTopicOperationDao; + + @Autowired + private ResiTopicCommentDao resiTopicCommentDao; + + @Autowired + EpmetUserFeignClient epmetUserFeignClient; + + @Autowired + ResiGroupDao resiGroupDao; + @Autowired + ResiGroupMemberDao resiGroupMemberDao; @Override public PageData page(Map params) { @@ -100,4 +145,349 @@ public class ResiTopicServiceImpl extends BaseServiceImpl TopicConstant.MAX_NUMBER_OF_CONTENT){ + //内容超过最大限制 + return new Result().error(); + } + ResiTopicEntity topic = ConvertUtils.sourceToTarget(resiTopicPublishFormDTO,ResiTopicEntity.class); + topic.setCreatedBy(tokenDto.getUserId()); + baseDao.insertOne(topic); + if(StringUtils.isBlank(topic.getId())){ + //没有返回主键 + return new Result().error(); + } + if(null != resiTopicPublishFormDTO.getAttachmentList() && resiTopicPublishFormDTO.getAttachmentList().size() > 0){ + ResiTopicAttachmentEntity attachment = new ResiTopicAttachmentEntity(); + for(String url : resiTopicPublishFormDTO.getAttachmentList()){ + attachment.setAttachmentUrl(url); + attachment.setTopicId(topic.getId()); + attachment.setCreatedBy(tokenDto.getUnionId()); + resiTopicAttachmentDao.insertOne(attachment); + } + } + + //3.话题操作记录 + ResiTopicOperationEntity operation = new ResiTopicOperationEntity(); + operation.setTopicId(topic.getId()); + operation.setOperationType(TopicConstant.PUBLISHMENT); + resiTopicOperationDao.insertOne(operation); + + return new Result(); + } + + /** + * @Description 查看组内最近十条话题 + * @Param tokenDto + * @Param groupId + * @return Result> + * @Author wangc + * @Date 2020.04.01 08:59 + **/ + @Override + public Result> getLatestTenTopics(TokenDto tokenDto, String groupId) { + + if(StringUtils.isBlank(groupId)){ + return new Result>().error(); + } + + //1.查询话题列表 + List lastestTenTopics = + baseDao.getLatestTenTopics(groupId,tokenDto.getUserId()); + + //2.遍历存储用户信息 + ResiGroupEntity group = resiGroupDao.selectById(groupId); + if(null != group && ModuleConstant.DEL_FLAG.equals(group.getDelFlag())){ + + } + + + return new Result>().ok(lastestTenTopics); + } + + /** + * @Description 查看历史话题(分页,允许状态筛选) + * @Param tokenDto + * @Param ResiTopicPageFormDTO.class + * @return Result> + * @Author wangc + * @Date 2020.04.01 10:36 + **/ + @Override + public Result> getPastTopicList(TokenDto tokenDto, ResiTopicPageFormDTO topicPageFormDTO) { + + //1.查询历史话题列表 + + topicPageFormDTO.setUserId(tokenDto.getUserId()); + + topicPageFormDTO.setPageNo((topicPageFormDTO.getPageNo() - NumConstant.ONE) * topicPageFormDTO.getPageSize()); + + List pastTopics = + baseDao.getPastTopics(topicPageFormDTO); + + //2.遍历用户信息 + + + return new Result>().ok(pastTopics); + } + + /** + * @Description 屏蔽话题 + * @Param tokenDto + * @Param ResiTopicHiddenFormDTO.class + * @return Result + * @Author wangc + * @Date 2020.04.01 12:38 + **/ + @Override + public Result hideTopic(TokenDto tokenDto, ResiTopicOperationFormDTO hiddenFormDTO) { + + + //1.1拿到组Id + ResiTopicEntity topic = baseDao.selectById(hiddenFormDTO.getTopicId()); + //1.2校验身份,是否是该话题所属群组的组长 + Result verifyError = verifyLeader(topic,tokenDto.getUserId()); + if(!verifyError.success()) { + return verifyError; + } + + //2.屏蔽话题 + ResiTopicEntity topicForUpdate = new ResiTopicEntity(); + topicForUpdate.setId(hiddenFormDTO.getTopicId()); + topicForUpdate.setUpdatedBy(tokenDto.getUserId()); + topicForUpdate.setStatus(TopicConstant.HIDDEN); + baseDao.update(topicForUpdate); + //3.话题操作记录 + ResiTopicOperationEntity operationRecord = new ResiTopicOperationEntity(); + operationRecord.setTopicId(hiddenFormDTO.getTopicId()); + operationRecord.setOperationReason(hiddenFormDTO.getOperateReason()); + operationRecord.setOperationType(TopicConstant.HIDDEN); + operationRecord.setCreatedBy(tokenDto.getUserId()); + resiTopicOperationDao.insertOne(operationRecord); + + return new Result(); + } + + /** + * @Description 批量取消屏蔽 + * @Param tokenDto + * @Param topicIds + * @return Result + * @Author wangc + * @Date 2020.04.01 14:17 + **/ + @Override + public Result cancelHiddenTopics(TokenDto tokenDto, List topicIds) { + + + //1.1拿到组Id + ResiTopicEntity topic = baseDao.selectById(topicIds.get(0)); + + //1.2校验身份,是否是该话题所属群组的组长 + Result verifyError = verifyLeader(topic,tokenDto.getUserId()); + if(!verifyError.success()) { + return verifyError; + } + + //2.批量取消屏蔽 + baseDao.cancelHiddenOrCloseBatch(topicIds,tokenDto.getUserId(),TopicConstant.PUBLISHMENT); + + //3.记录话题操作日志 + for(String id : topicIds){ + ResiTopicOperationEntity operation = new ResiTopicOperationEntity(); + operation.setTopicId(id); + operation.setOperationType(TopicConstant.CANCEL_HIDDEN); + operation.setCreatedBy(tokenDto.getUserId()); + resiTopicOperationDao.insertOne(operation); + } + + return new Result(); + } + + /** + * @Description 关闭话题 + * @Param tokenDto + * @Param ResiTopicOperationFormDTO.class + * @return Result.class + * @Author wangc + * @Date 2020.04.01 15:37 + **/ + @Override + public Result closeTopic(TokenDto tokenDto, ResiTopicOperationFormDTO closeFormDTO) { + + //1.1拿到组Id + ResiTopicEntity topic = baseDao.selectById(tokenDto.getUserId()); + + //1.2校验身份,是否是该话题所属群组的组长 + Result verifyError = verifyLeader(topic,tokenDto.getUserId()); + if(!verifyError.success()) { + return verifyError; + } + + //2.关闭操作 + List id = new ArrayList<>(); + id.add(closeFormDTO.getTopicId()); + baseDao.cancelHiddenOrCloseBatch(id,tokenDto.getUserId(),TopicConstant.CLOSED); + + //3.记录话题操作日志 + ResiTopicOperationEntity operation = new ResiTopicOperationEntity(); + operation.setTopicId(id.get(0)); + operation.setOperationReason(closeFormDTO.getOperateReason()); + operation.setCreatedBy(tokenDto.getUserId()); + operation.setOperationType(TopicConstant.CLOSED); + resiTopicOperationDao.insertOne(operation); + + return new Result(); + } + + /** + * @Description 查看话题详情 + * @Param tokenDto + * @Param topicId + * @return ResiTopicDetailResultDTO + * @Author wangc + * @Date 2020.04.01 15:56 + **/ + @Override + public Result getTopicDetail(TokenDto tokenDto, String topicId) { + + if(StringUtils.isBlank(topicId)){ + return new Result().error(); + } + + //1.获取话题基本信息 + ResiTopicEntity topicDetail = baseDao.selectById(topicId); + ResiTopicDetailResultDTO resultDTO = new ResiTopicDetailResultDTO(); + + //2.查询话题附件 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(TopicConstant.TOPIC_ID,topicId); + wrapper.eq(TopicConstant.DEL_FLAG,NumConstant.ZERO_STR); + wrapper.orderByDesc(TopicConstant.CREATED_DATE); + List attachments = resiTopicAttachmentDao.selectList(wrapper); + List attachmentUrls = new ArrayList<>(); + for(ResiTopicAttachmentEntity attachment : attachments){ + attachmentUrls.add(attachment.getAttachmentUrl()); + } + + resultDTO.setTopicImgs(attachmentUrls); + resultDTO.setReleaseTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(topicDetail.getCreatedTime())); + resultDTO.setTopicContent(topicDetail.getTopicContent()); + + //3.拿取用户信息 + ResiTopicDTO topic = get(topicId); + ResiGroupEntity group = resiGroupDao.selectById(topic.getGroupId()); + UserResiInfoFormDTO userParam = new UserResiInfoFormDTO(); + userParam.setUserId(tokenDto.getUserId()); + userParam.setCustomerId(group.getCustomerId()); + Result userInfo = + epmetUserFeignClient.getUserResiInfoDTO(userParam); + if(userInfo.success()){ + resultDTO.setReleaseUserName(userInfo.getData().getSurname() + userInfo.getData().getName()); + + //TODO 调用EpmetUserFeign的查询用户微信信息的方法拉取头像信息 + resultDTO.setReleaseUserHeadPhoto(""); + } + + + + return new Result().ok(resultDTO); + } + + /** + * @Description 屏蔽话题列表查询 + * @Param tokenDto + * @Param ResiTopicPageFormDTO.class + * @return List + * @Author wangc + * @Date 2020.04.01 16:45 + **/ + @Override + public Result> getHiddenTopics(TokenDto tokenDto, ResiTopicPageFormDTO topicPageFormDTO) { + //1.查询屏蔽话题列表 + topicPageFormDTO.setUserId(tokenDto.getUserId()); + topicPageFormDTO.setPageNo((topicPageFormDTO.getPageNo() - NumConstant.ONE) * topicPageFormDTO.getPageSize()); + topicPageFormDTO.setStatus(TopicConstant.HIDDEN); + + List hiddenTopics = + baseDao.getPastTopics(topicPageFormDTO); + + //2.遍历用户信息 + + + return new Result>().ok(hiddenTopics); + } + + /** + * @Description 查询当前组员在组内是否被禁言或已被移除 + * @Param resiGroupMemberDTO + * @return Result.class + * @Author wangc + * @Date 2020.04.01 15:00 + **/ + private Result verifySilentOrRemoved(ResiGroupMemberDTO resiGroupMemberDTO){ + if(null != resiGroupMemberDTO){ + if(MemberStateConstant.SILENT.equals(resiGroupMemberDTO.getStatus())){ + //当前用户被禁言 + return new Result().error(); + }else if(MemberStateConstant.REMOVED.equals(resiGroupMemberDTO.getStatus())){ + //当前用户已被移出群 + return new Result().error(); + }else{ + return new Result(); + } + }else{ + //当前用户非组内成员 + return new Result().error(); + } + } + + /** + * @Description 校验当前用户是否是该小组组长 + * @Param + * @return + * @Author wangc + * @Date 2020.04.01 14:55 + **/ + private Result verifyLeader(ResiTopicEntity topic,String userId){ + if(null != topic){ + ResiGroupMemberDTO leaderVerify = resiGroupMemberDao.selectLeaderMember(topic.getGroupId()); + if(null != leaderVerify){ + //1.2判断是否是组长 + if(!StringUtils.equals(leaderVerify.getId(),userId)){ + //非组长,无权限进行操作 + return new Result().error(); + }else{ + return new Result(); + } + }else{ + return new Result().error(); + } + }else{ + return new Result().error(); + } + } + } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java index c843ba6118..575da97f9d 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java @@ -68,6 +68,16 @@ public interface ModuleConstant extends Constant { */ String CUSTOMERID_NOT_NULL="客户id不能为空"; + /** + * 当前用户并非改组组员 + * */ + String NOT_BELONG_TO_CURRENT_GROUP="当前用户并非改组组员"; + + /** + * 逻辑删除标识 未删除 + * */ + String DEL_FLAG = "0"; + /** * 组长审批时校验申请单是否存在 */ diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicAttachmentDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicAttachmentDao.xml new file mode 100644 index 0000000000..4f64d97e42 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicAttachmentDao.xml @@ -0,0 +1,102 @@ + + + + + + + + + select replace(uuid(),'-','') AS APPROVAL_ID + + + INSERT INTO resi_topic_attachment + + + topic_id, + + + attachment_name, + + + attachment_format, + + + attachment_type, + + + attachment_url, + + + created_by, + + del_flag, + revision, + created_time, + updated_by, + updated_time + + + + #{topicId}, + + + #{attachmentName}, + + + #{attachmentFormat}, + + + #{attachmentType}, + + + #{attachmentUrl}, + + + #{createdBy}, + + '0', + '0', + now(), + 'APP_USER', + now() + + + + + + + insert into user + ( + id, + topic_id, + attachment_name, + attachment_format, + attachment_type, + attachment_url, + del_flag, + revision, + created_by, + created_time, + updated_by, + updated_time + ) values + + ( + (SELECT REPLACE(UUID(), '-', '') AS id), + #{item.topicId}, + #{item.attachmentName}, + #{item.attachmentFormat}, + #{item.attachmentType}, + #{item.attachmentUrl}, + #{item.delFlag}, + #{item.revision}, + #{item.createdBy}, + #{item.createdTime}, + #{item.updatedBy}, + #{item.updatedTime} + ) + + + + + \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicCommentDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicCommentDao.xml index 920bdef5fe..a7bd739c48 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicCommentDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicCommentDao.xml @@ -3,6 +3,67 @@ + + + + select replace(uuid(),'-','') AS APPROVAL_ID + + INSERT INTO resi_topic_operation + + + topic_id, + + + comment_content, + + + status, + + + created_by, + + del_flag, + revision, + created_time, + updated_by, + updated_time + + + + #{topicId}, + + + #{commentContent}, + + + #{status}, + + + #{createdBy}, + + '0', + '0', + now(), + 'APP_USER', + now() + + + + diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml index 02a033f947..9ced62fb55 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml @@ -3,6 +3,216 @@ + + + + select replace(uuid(),'-','') AS APPROVAL_ID + + + INSERT INTO resi_topic + + + group_id, + + + topic_content, + + + status, + + + province, + + + city, + + + area, + + + address, + + + longitude, + + + dimension, + + + created_by, + + updated_by, + delFlag, + revision, + created_time, + updated_time + + + + + #{groupId}, + + + #{topicContent}, + + + #{status}, + + + #{province}, + + + #{city}, + + + #{area}, + + + #{address}, + + + #{longitude}, + + + #{dimension}, + + + #{createdBy}, + + 'APP_USER', + '0', + '0', + now(), + now() + + + + + + + + + + + + + UPDATE + RESI_TOPIC + + + STATUS = #{status} , + + + DEL_FLAG = #{delFlag} , + + + UPDATED_BY = #{updatedBy} , + + + TOPIC_CONTENT = #{topicContent} , + + UPDATED_DATE = NOW() + + WHERE + ID = #{id} + AND DEL_FLAG = '0' + + + + + UPDATE + RESI_TOPIC + SET + STATUS = #{status}, + UPDATED_DATE = NOW(), + UPDATED_BY = #{updatedBy} + WHERE + ID + + ${item} + + AND + DEL_FLAG = '0' + AND + STATUS = 'hidden' + + + + + update RESI_TOPIC + + + + + when id=#{i.id} then #{i.topicContent} + + + + + + + when id=#{i.id} then #{i.status} + + + + + + + + when id=#{i.id} then #{i.updatedBy} + + + + + updated_date = now() + where + + id=#{i.id} + + diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicOperationDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicOperationDao.xml index 7262beca3a..6254bb021a 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicOperationDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicOperationDao.xml @@ -3,6 +3,53 @@ + + + + + select replace(uuid(),'-','') AS APPROVAL_ID + + + INSERT INTO resi_topic_operation + + + topic_id, + + + operation_type, + + + operation_reason, + + + created_by, + + del_flag, + revision, + created_time, + updated_by, + updated_time + + + + #{topicId}, + + + #{operationType}, + + + #{operationReason}, + + + #{createdBy}, + + '0', + '0', + now(), + 'APP_USER', + now() + + diff --git a/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/impl/UserAccessServiceImpl.java b/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/impl/UserAccessServiceImpl.java index e2e629e79e..25a13a456b 100644 --- a/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/impl/UserAccessServiceImpl.java +++ b/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/impl/UserAccessServiceImpl.java @@ -1,5 +1,6 @@ package com.epmet.service.impl; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.StrangerResiGuideConstant; @@ -44,6 +45,11 @@ public class UserAccessServiceImpl implements UserAccessService { visitedFormDTO.setGridId(userInfoParams.getGridId()); visitedFormDTO.setCustomerId(userInfoParams.getCustomerId()); visitedFormDTO.setUserId(userInfoParams.getUserId()); + if(null != userInfoResult.getData().getUserRoleList() && userInfoResult.getData().getUserRoleList().size() > 0){ + visitedFormDTO.setIsReg(NumConstant.ONE_STR); + }else{ + visitedFormDTO.setIsReg(NumConstant.ZERO_STR); + } Result re = epmetUserFeignClient.saveVisitedRecord(visitedFormDTO); if (!re.success()) { log.warn(StrangerResiGuideConstant.EPMET_USER_EXCEPTION); diff --git a/epmet-module/resi-partymember/resi-partymember-server/pom.xml b/epmet-module/resi-partymember/resi-partymember-server/pom.xml index 460f436997..c86652bf6b 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/pom.xml +++ b/epmet-module/resi-partymember/resi-partymember-server/pom.xml @@ -81,6 +81,12 @@ RELEASE compile + + com.epmet + epmet-user-server + 2.0.0 + compile + diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/EpmetUserFeignClient.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/EpmetUserFeignClient.java index 167118e581..69c93422a7 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/EpmetUserFeignClient.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/EpmetUserFeignClient.java @@ -3,6 +3,7 @@ package com.epmet.modules.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.UserResiInfoDTO; +import com.epmet.dto.UserRoleDTO; import com.epmet.dto.form.UserResiInfoFormDTO; import com.epmet.modules.feign.fallback.EpmetUserFeignClientFallBack; import org.springframework.cloud.openfeign.FeignClient; @@ -33,4 +34,13 @@ public interface EpmetUserFeignClient { @PostMapping("/epmetuser/userresiinfo/saveResiInfo") Result saveResiInfo (@RequestBody UserResiInfoDTO userResiInfoDTO); + /** + * 添加用户角色关系 + * + * @param userRoleDTO 参数 + * @return Result + */ + @PostMapping("/epmetuser/userrole/saveUserRole") + Result saveUserRole(@RequestBody UserRoleDTO userRoleDTO); + } diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/fallback/EpmetUserFeignClientFallBack.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/fallback/EpmetUserFeignClientFallBack.java index 77735f4aad..257bbb295e 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/fallback/EpmetUserFeignClientFallBack.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/fallback/EpmetUserFeignClientFallBack.java @@ -4,6 +4,7 @@ import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.UserResiInfoDTO; +import com.epmet.dto.UserRoleDTO; import com.epmet.dto.form.UserResiInfoFormDTO; import com.epmet.modules.feign.EpmetUserFeignClient; import org.springframework.stereotype.Component; @@ -24,4 +25,9 @@ public class EpmetUserFeignClientFallBack implements EpmetUserFeignClient { public Result saveResiInfo(UserResiInfoDTO userResiInfoDTO) { return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "saveResiInfo", userResiInfoDTO); } + + @Override + public Result saveUserRole(UserRoleDTO userRoleDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "saveUserRole", userRoleDTO); + } } diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java index 85b2c67d3b..ab94cf8369 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java @@ -1,9 +1,12 @@ package com.epmet.modules.partymember.service.impl; +import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.PartyMemberConstant; +import com.epmet.constant.UserConstant; import com.epmet.dto.UserResiInfoDTO; +import com.epmet.dto.UserRoleDTO; import com.epmet.dto.form.UserResiInfoFormDTO; import com.epmet.modules.feign.EpmetUserFeignClient; import com.epmet.modules.partymember.entity.*; @@ -93,8 +96,8 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService PartymemberInfoDTO partyMemberInfoResult = partymemberInfoService.getPartyMemberInfoByMobile(partyMemberInfoParam); if (null != partyMemberInfoResult) { //TODO code待定 - result.setCode(0); - result.setMsg("该手机已被使用,请更换手机或使用原绑定的微信用户登录"); + result.setCode(EpmetErrorCode.MOBILE_HAS_BEEN_USED.getValue()); + result.setMsg(EpmetErrorCode.MOBILE_HAS_BEEN_USED.getName()); return result; } @@ -123,8 +126,9 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService saveOrUpdateVisit(partyMemberInfoDTO.getPartymemberVisitId(), null, PartyMemberConstant.OPERATE_AUTO_FAILED); //TODO code待定 - result.setCode(0); - result.setMsg("验证码错误"); + result.setCode(EpmetErrorCode.MOBILE_CODE_ERROR.getValue()); + result.setMsg(EpmetErrorCode.MOBILE_CODE_ERROR.getName()); + return result; } //获取党员基本信息 @@ -142,18 +146,22 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService //将访问记录更新到热心居民申请行为记录表 saveOrUpdateVisit(partyMemberInfoDTO.getPartymemberVisitId(), null, PartyMemberConstant.OPERATE_AUTO_FAILED); //TODO code待定 - result.setCode(0); - result.setMsg("认证失败"); + result.setCode(EpmetErrorCode.AUTO_CONFIRM_FAILED.getValue()); + result.setMsg(EpmetErrorCode.AUTO_CONFIRM_FAILED.getName()); } else { //自动认证成功 partyMemberInfoEntity.setConfirmResult("0"); partymemberInfoService.insert(partyMemberInfoEntity); //将访问记录更新到热心居民申请行为记录表 saveOrUpdateVisit(partyMemberInfoDTO.getPartymemberVisitId(), null, PartyMemberConstant.OPERATE_AUTO_SUCCESS); + //添加用户党员角色关系 + UserRoleDTO userRole = new UserRoleDTO(); + userRole.setUserId(partyMemberInfoDTO.getUserId()); + userRole.setRoleKey(UserConstant.ROLE_PARTYMEMBER); + epmetUserFeignClient.saveUserRole(userRole); //存入党员注册关系表 用于统计客户网格的认证党员数 saveRegisterRelation(partyMemberInfoDTO); } - ; //将自动认证结果存入党员认证自动审核表 if (confirmAutoDTO != null) { @@ -162,7 +170,7 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService PartymemberConfirmAutoEntity.class)); } - //TODO 判断是否已注册居民,如果没有则注册居民 + //判断是否已注册居民,如果没有则注册居民 isResiRegister(partyMemberInfoDTO); return result; @@ -201,11 +209,10 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService userResiInfoFormDTO.setUserId(partyMemberInfoDTO.getUserId()); Result userResiInfoResult = epmetUserFeignClient.getUserResiInfoDTO(userResiInfoFormDTO); if (null == userResiInfoResult.getData()) { - //TODO 判断手机号是否可用 UserResiInfoDTO userResiInfoDTO = ConvertUtils.sourceToTarget(partyMemberInfoDTO, UserResiInfoDTO.class); userResiInfoDTO.setRegMobile(partyMemberInfoDTO.getMobile()); + userResiInfoDTO.setResiVisitId(partyMemberInfoDTO.getPartymemberVisitId()); epmetUserFeignClient.saveResiInfo(userResiInfoDTO); - //TODO 注册居民 } } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/UserRoleDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/UserRoleDTO.java index 12c4579ecb..f25d0ec9f6 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/UserRoleDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/UserRoleDTO.java @@ -17,9 +17,10 @@ package com.epmet.dto; +import lombok.Data; + import java.io.Serializable; import java.util.Date; -import lombok.Data; /** @@ -53,6 +54,11 @@ public class UserRoleDTO implements Serializable { */ private String roleId; + /** + * 角色Key值 + */ + private String roleKey; + /** * 删除标识:0.未删除 1.已删除 */ diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VisitedFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VisitedFormDTO.java index c8bacca5f9..8accba700c 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VisitedFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VisitedFormDTO.java @@ -48,5 +48,10 @@ public class VisitedFormDTO implements Serializable { @NotBlank(message = "用户ID不能为空") private String userId; + /** + * 是否注册居民 1:是 0:否 + * */ + private String isReg; + } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/UserConstant.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/UserConstant.java index 8e1f9e5389..7c6d91c882 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/UserConstant.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/UserConstant.java @@ -8,29 +8,43 @@ package com.epmet.constant; */ public interface UserConstant { - /** - * 政府端 - * */ - String APP_GOV = "gov"; - - /** - * 居民端 - * */ - String APP_RESI = "resi"; - - /** - * 运营端 - * */ - String APP_OPER = "oper"; - - /** - * PC端 - * */ - String CLIENT_WEB = "web"; - - /** - * 微信端 - * */ - String CLIENT_WX = "wxmp"; + /** + * 政府端 + */ + String APP_GOV = "gov"; + /** + * 居民端 + */ + String APP_RESI = "resi"; + + /** + * 运营端 + */ + String APP_OPER = "oper"; + + /** + * PC端 + */ + String CLIENT_WEB = "web"; + + /** + * 微信端 + */ + String CLIENT_WX = "wxmp"; + + /** + * 居民角色 + */ + String ROLE_RESI = "registered_resi"; + + /** + * 热心居民角色 + */ + String ROLE_WARMHEARTED = "warmhearted"; + + /** + * 党员角色 + */ + String ROLE_PARTYMEMBER = "partymember"; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserRoleController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserRoleController.java index 9ad160716a..f442da6e7f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserRoleController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserRoleController.java @@ -39,7 +39,7 @@ import java.util.Map; /** - * 用户角色关系表 + * 用户角色关系表 * * @author generator generator@elink-cn.com * @since v1.0.0 2020-03-30 @@ -47,65 +47,77 @@ import java.util.Map; @RestController @RequestMapping("userrole") public class UserRoleController { - - @Autowired - private UserRoleService userRoleService; - - @GetMapping("page") - public Result> page(@RequestParam Map params){ - PageData page = userRoleService.page(params); - return new Result>().ok(page); - } - - @GetMapping("{id}") - public Result get(@PathVariable("id") String id){ - UserRoleDTO data = userRoleService.get(id); - return new Result().ok(data); - } - - @PostMapping - public Result save(@RequestBody UserRoleDTO dto){ - //效验数据 - ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); - userRoleService.save(dto); - return new Result(); - } - - @PutMapping - public Result update(@RequestBody UserRoleDTO dto){ - //效验数据 - ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); - userRoleService.update(dto); - return new Result(); - } - - @DeleteMapping - public Result delete(@RequestBody String[] ids){ - //效验数据 - AssertUtils.isArrayEmpty(ids, "id"); - userRoleService.delete(ids); - return new Result(); - } - - @GetMapping("export") - public void export(@RequestParam Map params, HttpServletResponse response) throws Exception { - List list = userRoleService.list(params); - ExcelUtils.exportExcelToTarget(response, null, list, UserRoleExcel.class); - } - - /** - * @Description 根据用户Id、来源app、客户Id查询用户角色 - * @Param userRoleFormDTO - * @return UserRoleResultDTO - * @Author wangc - * @Date 2020.03.30 15:35 - **/ - @PostMapping("getuserroleinfo") - public Result> getUserRoleInfo(@RequestBody UserRoleFormDTO userRoleFormDTO){ - - ValidatorUtils.validateEntity(userRoleFormDTO); - - return userRoleService.getUserRoleInfo(userRoleFormDTO); - } + + @Autowired + private UserRoleService userRoleService; + + @GetMapping("page") + public Result> page(@RequestParam Map params) { + PageData page = userRoleService.page(params); + return new Result>().ok(page); + } + + @GetMapping("{id}") + public Result get(@PathVariable("id") String id) { + UserRoleDTO data = userRoleService.get(id); + return new Result().ok(data); + } + + @PostMapping + public Result save(@RequestBody UserRoleDTO dto) { + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + userRoleService.save(dto); + return new Result(); + } + + @PutMapping + public Result update(@RequestBody UserRoleDTO dto) { + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + userRoleService.update(dto); + return new Result(); + } + + @DeleteMapping + public Result delete(@RequestBody String[] ids) { + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + userRoleService.delete(ids); + return new Result(); + } + + @GetMapping("export") + public void export(@RequestParam Map params, HttpServletResponse response) throws Exception { + List list = userRoleService.list(params); + ExcelUtils.exportExcelToTarget(response, null, list, UserRoleExcel.class); + } + + /** + * @return UserRoleResultDTO + * @Description 根据用户Id、来源app、客户Id查询用户角色 + * @Param userRoleFormDTO + * @Author wangc + * @Date 2020.03.30 15:35 + **/ + @PostMapping("getuserroleinfo") + public Result> getUserRoleInfo(@RequestBody UserRoleFormDTO userRoleFormDTO) { + + ValidatorUtils.validateEntity(userRoleFormDTO); + + return userRoleService.getUserRoleInfo(userRoleFormDTO); + } + + /** + * 添加用户角色关系 + * + * @param userRoleDTO 参数 + * @return Result + */ + @PostMapping("saveUserRole") + public Result saveUserRole(@RequestBody UserRoleDTO userRoleDTO) { + return userRoleService.saveUserRole(userRoleDTO); + } + } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/RoleDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/RoleDao.java index 3cd8be4b76..9acbe1fd88 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/RoleDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/RoleDao.java @@ -18,12 +18,11 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; -import com.epmet.dto.RoleDTO; import com.epmet.entity.RoleEntity; import org.apache.ibatis.annotations.Mapper; /** - * 角色表 + * 角色表 * * @author generator generator@elink-cn.com * @since v1.0.0 2020-03-30 @@ -31,5 +30,12 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface RoleDao extends BaseDao { - RoleDTO selectRoleByKey(RoleDTO roleDTO); + /** + * 根据key值获取权限信息 + * + * @param param 参数 + * @return RoleEntity + */ + RoleEntity selectRoleByKey(RoleEntity param); + } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java index 8f39fc6cc5..acbb5833f7 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java @@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.PostMapping; * @Author sun * @Date 2020/3/16 */ -@FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallback = GovOrgFeignClientFallBack.class ) +@FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallback = GovOrgFeignClientFallBack.class) public interface GovOrgFeignClient { /** diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/RoleService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/RoleService.java index 16a9bc1bc0..72e055c4b1 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/RoleService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/RoleService.java @@ -19,7 +19,6 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; -import com.epmet.commons.tools.utils.Result; import com.epmet.dto.RoleDTO; import com.epmet.entity.RoleEntity; @@ -94,5 +93,10 @@ public interface RoleService extends BaseService { */ void delete(String[] ids); - Result getRoleByKey(RoleDTO roleDTO); + /** + * 根据key获取role信息 + * @param role + * @return RoleDTO + */ + RoleDTO getRoleByKey(RoleDTO role); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserRoleService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserRoleService.java index db55bb52ed..a22191edb0 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserRoleService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserRoleService.java @@ -20,7 +20,6 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.Result; -import com.epmet.dto.UserResiInfoDTO; import com.epmet.dto.UserRoleDTO; import com.epmet.dto.form.UserRoleFormDTO; import com.epmet.dto.result.UserRoleResultDTO; @@ -37,79 +36,81 @@ import java.util.Map; */ public interface UserRoleService extends BaseService { - /** - * 默认分页 - * - * @param params - * @return PageData - * @author generator - * @date 2020-03-30 - */ - PageData page(Map params); + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2020-03-30 + */ + PageData page(Map params); - /** - * 默认查询 - * - * @param params - * @return java.util.List - * @author generator - * @date 2020-03-30 - */ - List list(Map params); + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2020-03-30 + */ + List list(Map params); - /** - * 单条查询 - * - * @param id - * @return UserRoleDTO - * @author generator - * @date 2020-03-30 - */ - UserRoleDTO get(String id); + /** + * 单条查询 + * + * @param id + * @return UserRoleDTO + * @author generator + * @date 2020-03-30 + */ + UserRoleDTO get(String id); - /** - * 默认保存 - * - * @param dto - * @return void - * @author generator - * @date 2020-03-30 - */ - void save(UserRoleDTO dto); + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2020-03-30 + */ + void save(UserRoleDTO dto); - /** - * 默认更新 - * - * @param dto - * @return void - * @author generator - * @date 2020-03-30 - */ - void update(UserRoleDTO dto); + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2020-03-30 + */ + void update(UserRoleDTO dto); - /** - * 批量删除 - * - * @param ids - * @return void - * @author generator - * @date 2020-03-30 - */ - void delete(String[] ids); + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2020-03-30 + */ + void delete(String[] ids); - /** - * @return UserRoleResultDTO - * @Description 根据用户Id、来源app、客户Id查询用户角色 - * @Param userRoleFormDTO - * @Author wangc - * @Date 2020.03.30 15:35 - **/ - Result> getUserRoleInfo(UserRoleFormDTO userRoleFormDTO); + /** + * @return UserRoleResultDTO + * @Description 根据用户Id、来源app、客户Id查询用户角色 + * @Param userRoleFormDTO + * @Author wangc + * @Date 2020.03.30 15:35 + **/ + Result> getUserRoleInfo(UserRoleFormDTO userRoleFormDTO); - /** - * @Description 居民注册成功添加居民角色 - * @Author sun - **/ - Result saveResiRole(UserResiInfoDTO userResiInfoDTO); + /** + * 添加用户角色关系 + * + * @param userRoleDTO 参数 + * @return Result + */ + Result saveUserRole(UserRoleDTO userRoleDTO); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GridVisitedServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GridVisitedServiceImpl.java index 58aeea85cf..dcb4d7d174 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GridVisitedServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GridVisitedServiceImpl.java @@ -158,7 +158,7 @@ public class GridVisitedServiceImpl extends BaseServiceImpl UserResiRegisterVisitRecord = userResiRegisterVisitDao.selectUserResiRegisterVisit(userResiRegisterVisitDTO); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RoleServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RoleServiceImpl.java index f70677447d..24914ad22e 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RoleServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RoleServiceImpl.java @@ -23,7 +23,6 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; -import com.epmet.commons.tools.utils.Result; import com.epmet.dao.RoleDao; import com.epmet.dto.RoleDTO; import com.epmet.entity.RoleEntity; @@ -49,8 +48,6 @@ public class RoleServiceImpl extends BaseServiceImpl implem @Autowired private RoleRedis roleRedis; - @Autowired - private RoleDao roleDao; @Override public PageData page(Map params) { @@ -105,8 +102,9 @@ public class RoleServiceImpl extends BaseServiceImpl implem } @Override - public Result getRoleByKey(RoleDTO roleDTO) { - return new Result().ok(roleDao.selectRoleByKey(roleDTO)); + public RoleDTO getRoleByKey(RoleDTO role) { + RoleEntity entity = baseDao.selectRoleByKey(ConvertUtils.sourceToTarget(role, RoleEntity.class)); + return ConvertUtils.sourceToTarget(entity, RoleDTO.class); } } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiInfoServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiInfoServiceImpl.java index f37ff1ffd6..715dd1a58d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiInfoServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiInfoServiceImpl.java @@ -26,13 +26,14 @@ import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.constant.UserConstant; import com.epmet.constant.UserResiRegisterConstant; import com.epmet.dao.UserResiInfoDao; import com.epmet.dto.UserResiInfoDTO; +import com.epmet.dto.UserRoleDTO; import com.epmet.dto.form.UserResiInfoFormDTO; import com.epmet.dto.form.VerificationCodeFormDTO; import com.epmet.entity.UserResiInfoEntity; -import com.epmet.entity.UserResiRegisterVisitEntity; import com.epmet.redis.UserResiInfoRedis; import com.epmet.service.RegisterRelationService; import com.epmet.service.UserResiInfoService; @@ -59,195 +60,184 @@ import java.util.Map; @Service public class UserResiInfoServiceImpl extends BaseServiceImpl implements UserResiInfoService { - private static final Logger log = LoggerFactory.getLogger(UserResiInfoServiceImpl.class); - @Autowired - private UserResiInfoRedis userResiInfoRedis; - @Autowired - private UserResiRegisterVisitService userResiRegisterVisitService; - @Autowired - private UserResiInfoDao userResiInfoDao; - @Autowired - private RegisterRelationService registerRelationService; - @Autowired - private UserRoleService userRoleService; - - @Override - public PageData page(Map params) { - IPage page = baseDao.selectPage( - getPage(params, FieldConstant.CREATED_TIME, false), - getWrapper(params) - ); - return getPageData(page, UserResiInfoDTO.class); - } - - @Override - public List list(Map params) { - List entityList = baseDao.selectList(getWrapper(params)); - - return ConvertUtils.sourceToTarget(entityList, UserResiInfoDTO.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 UserResiInfoDTO get(String id) { - UserResiInfoEntity entity = baseDao.selectById(id); - return ConvertUtils.sourceToTarget(entity, UserResiInfoDTO.class); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void save(UserResiInfoDTO dto) { - UserResiInfoEntity entity = ConvertUtils.sourceToTarget(dto, UserResiInfoEntity.class); - insert(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(UserResiInfoDTO dto) { - UserResiInfoEntity entity = ConvertUtils.sourceToTarget(dto, UserResiInfoEntity.class); - updateById(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void delete(String[] ids) { - // 逻辑删除(@TableLogic 注解) - baseDao.deleteBatchIds(Arrays.asList(ids)); - } - - /** - * @param userResiInfoFormDTO - * @return com.epmet.commons.tools.utils.Result - * @Author yinzuomei - * @Description 查询用户注册信息 - * @Date 2020/3/30 11:07 - **/ - @Override - public Result getUserResiInfoDTO(UserResiInfoFormDTO userResiInfoFormDTO) { - UserResiInfoDTO userResiInfoDTO = baseDao.selectUserResiInfoDTO(userResiInfoFormDTO); - if (null != userResiInfoDTO) { - String showName = userResiInfoDTO.getStreet() + "-" + userResiInfoDTO.getSurname() + userResiInfoDTO.getName(); - userResiInfoDTO.setShowName(showName); - } - return new Result().ok(userResiInfoDTO); - } - - @Override - public Result submit(UserResiInfoDTO userResiInfoDTO) { - Result result = new Result(); - //1:手机验证码数据校验//TODO - - //2:验证码校验失败则更新行为记录表数据 返回前台结果 - if (false) { - userResiRegisterVisitService.updateResiRegisterVisit(false, userResiInfoDTO); - result.error(UserResiRegisterConstant.PARAMETER_ERROR); - result.setMsg(UserResiRegisterConstant.MOBILECODE_EXCEPTION); - return result; - } - //3:校验成功 数据存入居民注册表 新增角色 更新行为记录表数据 - saveUserResiInfo(userResiInfoDTO); - userResiRegisterVisitService.updateResiRegisterVisit(true, userResiInfoDTO); - //4:居民注册关系表新增数据 首次注册数加一 注册数加一 参与数加一 - registerRelationService.saveRegisterRelation(userResiInfoDTO); - return result; - } - - /** - * 居民注册信息表新增数据,角色表新增角色 - * - * @param userResiInfoDTO - * @Author sun - */ - @Transactional(rollbackFor = Exception.class) - public Result saveUserResiInfo(UserResiInfoDTO userResiInfoDTO) { - //1:注册信息表新增数据 - Date date = new Date(); - userResiInfoDTO.setId(IdWorker.get32UUID()); - userResiInfoDTO.setDelFlag(NumConstant.ZERO); - userResiInfoDTO.setRevision(NumConstant.ZERO); - userResiInfoDTO.setCreatedBy(userResiInfoDTO.getUserId()); - userResiInfoDTO.setCreatedTime(date); - userResiInfoDTO.setUpdatedBy(userResiInfoDTO.getUserId()); - userResiInfoDTO.setUpdatedTime(date); - userResiInfoDao.saveUserResiInfo(userResiInfoDTO); - //2:角色表新增角色数据 - userRoleService.saveResiRole(userResiInfoDTO); - return new Result(); - } - - /** - * @param verificationCodeFormDTO - * @Author sun - * @Description 居民端-居民注册根据手机号获取验证码 - **/ - @Override - public Result getVerificationCode(VerificationCodeFormDTO verificationCodeFormDTO) { - Result result = new Result(); - //1:更新居民注册访问记录表数据 - userResiRegisterVisitService.updateResiVisitOperate(verificationCodeFormDTO); - //2:判断手机号是否可用 - if (!getResiInfoByMobile(verificationCodeFormDTO.getMobile())) { - result.error(UserResiRegisterConstant.PARAMETER_ERROR); - result.setMsg(UserResiRegisterConstant.MOBILE_EXIST); - return result; - } - //3:调用短信服务 生成验证码发送短信 TODO - String verificationCode = "TODO"; - - //4:将验证码存入redis TODO - userResiInfoRedis.setUserResiMobileCode(verificationCodeFormDTO.getUserId(), verificationCodeFormDTO.getMobile(), verificationCode); - - return result; - } - - @Override - public Result saveResiInfo(UserResiInfoDTO userResiInfoDTO) { - Result result = new Result(); - - //判断手机号是否可用 - if (getResiInfoByMobile(userResiInfoDTO.getRegMobile())) { - UserResiRegisterVisitEntity visitEntity = new UserResiRegisterVisitEntity(); - visitEntity.setCustomerId(userResiInfoDTO.getCustomerId()); - visitEntity.setGridId(userResiInfoDTO.getGridId()); - visitEntity.setUserId(userResiInfoDTO.getUserId()); - visitEntity.setLastOperateVisit(UserResiRegisterConstant.SUCCESS); - //TODO - visitEntity.setVisitFrom("党员认证"); - visitEntity.setVisitTime(new Date()); - userResiRegisterVisitService.insert(visitEntity); - //数据存入居民注册表 - userResiInfoDTO.setResiVisitId(visitEntity.getId()); - saveUserResiInfo(userResiInfoDTO); - //4:居民注册关系表新增数据 首次注册数加一 注册数加一 参与数加一 - registerRelationService.saveRegisterRelation(userResiInfoDTO); - } - - return result; - } - - /** - * 判断手机号是否可用-根据手机号查询居民注册信息(user_resi_info)表数据 - * - * @param mobile - * @return - * @Author sun - */ - private Boolean getResiInfoByMobile(String mobile) { - Boolean bl = true; - - List list = userResiInfoDao.selectResiInfoByMobile(mobile); - if (list.size() > 0) { - bl = false; - } - return bl; - } + private static final Logger log = LoggerFactory.getLogger(UserResiInfoServiceImpl.class); + @Autowired + private UserResiInfoRedis userResiInfoRedis; + @Autowired + private UserResiRegisterVisitService userResiRegisterVisitService; + @Autowired + private UserResiInfoDao userResiInfoDao; + @Autowired + private RegisterRelationService registerRelationService; + @Autowired + private UserRoleService userRoleService; + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, UserResiInfoDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, UserResiInfoDTO.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 UserResiInfoDTO get(String id) { + UserResiInfoEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, UserResiInfoDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(UserResiInfoDTO dto) { + UserResiInfoEntity entity = ConvertUtils.sourceToTarget(dto, UserResiInfoEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(UserResiInfoDTO dto) { + UserResiInfoEntity entity = ConvertUtils.sourceToTarget(dto, UserResiInfoEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + + /** + * @param userResiInfoFormDTO + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 查询用户注册信息 + * @Date 2020/3/30 11:07 + **/ + @Override + public Result getUserResiInfoDTO(UserResiInfoFormDTO userResiInfoFormDTO) { + UserResiInfoDTO userResiInfoDTO = baseDao.selectUserResiInfoDTO(userResiInfoFormDTO); + if (null != userResiInfoDTO) { + String showName = userResiInfoDTO.getStreet() + "-" + userResiInfoDTO.getSurname() + userResiInfoDTO.getName(); + userResiInfoDTO.setShowName(showName); + } + return new Result().ok(userResiInfoDTO); + } + + @Override + public Result submit(UserResiInfoDTO userResiInfoDTO) { + Result result = new Result(); + //1:手机验证码数据校验//TODO + + //2:验证码校验失败则更新行为记录表数据 返回前台结果 + if (false) { + userResiRegisterVisitService.updateResiRegisterVisit(false, userResiInfoDTO); + result.error(UserResiRegisterConstant.PARAMETER_ERROR); + result.setMsg(UserResiRegisterConstant.MOBILECODE_EXCEPTION); + return result; + } + //3:校验成功 数据存入居民注册表 更新行为记录表数据 + saveUserResiInfo(userResiInfoDTO); + userResiRegisterVisitService.updateResiRegisterVisit(true, userResiInfoDTO); + //4:居民注册关系表新增数据 首次注册数加一 注册数加一 参与数加一 + registerRelationService.saveRegisterRelation(userResiInfoDTO); + return result; + } + + /** + * 居民注册信息表新增数据 + * + * @param userResiInfoDTO + * @Author sun + */ + @Transactional(rollbackFor = Exception.class) + public void saveUserResiInfo(UserResiInfoDTO userResiInfoDTO) { + Date date = new Date(); + userResiInfoDTO.setId(IdWorker.get32UUID()); + userResiInfoDTO.setDelFlag(NumConstant.ZERO); + userResiInfoDTO.setRevision(NumConstant.ZERO); + userResiInfoDTO.setCreatedBy(userResiInfoDTO.getUserId()); + userResiInfoDTO.setCreatedTime(date); + userResiInfoDTO.setUpdatedBy(userResiInfoDTO.getUserId()); + userResiInfoDTO.setUpdatedTime(date); + userResiInfoDao.saveUserResiInfo(userResiInfoDTO); + } + + /** + * @param verificationCodeFormDTO + * @Author sun + * @Description 居民端-居民注册根据手机号获取验证码 + **/ + @Override + public Result getVerificationCode(VerificationCodeFormDTO verificationCodeFormDTO) { + Result result = new Result(); + //1:更新居民注册访问记录表数据 + userResiRegisterVisitService.updateResiVisitOperate(verificationCodeFormDTO); + //2:判断手机号是否可用 + if (!getResiInfoByMobile(verificationCodeFormDTO.getMobile())) { + result.error(UserResiRegisterConstant.PARAMETER_ERROR); + result.setMsg(UserResiRegisterConstant.MOBILE_EXIST); + return result; + } + //3:调用短信服务 生成验证码发送短信 TODO + + //4:将验证码存入redis TODO + + return result; + } + + @Override + public Result saveResiInfo(UserResiInfoDTO userResiInfoDTO) { + Result result = new Result(); + + //判断手机号是否可用 + if (getResiInfoByMobile(userResiInfoDTO.getRegMobile())) { + //数据存入居民注册表 + saveUserResiInfo(userResiInfoDTO); + //居民注册关系表新增数据 首次注册数加一 注册数加一 参与数加一 + registerRelationService.saveRegisterRelation(userResiInfoDTO); + //将用户于居民角色关联 + UserRoleDTO userRole = new UserRoleDTO(); + userRole.setUserId(userResiInfoDTO.getUserId()); + userRole.setRoleKey(UserConstant.ROLE_RESI); + userRoleService.saveUserRole(userRole); + } + + return result; + } + + /** + * 判断手机号是否可用-根据手机号查询居民注册信息(user_resi_info)表数据 + * + * @param mobile + * @return + * @Author sun + */ + private Boolean getResiInfoByMobile(String mobile) { + Boolean bl = true; + + List list = userResiInfoDao.selectResiInfoByMobile(mobile); + if (list.size() > 0) { + bl = false; + } + return bl; + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserRoleServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserRoleServiceImpl.java index 066962ff65..87b5613a91 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserRoleServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserRoleServiceImpl.java @@ -19,17 +19,14 @@ package com.epmet.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; -import com.epmet.commons.tools.constant.EpmetRoleKeyConstant; -import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.utils.Result; +import com.epmet.constant.UserConstant; import com.epmet.dao.UserRoleDao; import com.epmet.dto.RoleDTO; -import com.epmet.dto.UserResiInfoDTO; import com.epmet.dto.UserRoleDTO; import com.epmet.dto.form.UserRoleFormDTO; import com.epmet.dto.result.UserRoleResultDTO; @@ -38,14 +35,11 @@ import com.epmet.redis.UserRoleRedis; import com.epmet.service.RoleService; import com.epmet.service.UserRoleService; import org.apache.commons.lang3.StringUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; 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; @@ -58,105 +52,85 @@ import java.util.Map; @Service public class UserRoleServiceImpl extends BaseServiceImpl implements UserRoleService { - private static final Logger log = LoggerFactory.getLogger(UserRoleServiceImpl.class); - @Autowired - private UserRoleRedis userRoleRedis; - @Autowired - private RoleService roleService; - @Autowired - private UserRoleDao userRoleDao; - - @Override - public PageData page(Map params) { - IPage page = baseDao.selectPage( - getPage(params, FieldConstant.CREATED_TIME, false), - getWrapper(params) - ); - return getPageData(page, UserRoleDTO.class); - } - - @Override - public List list(Map params) { - List entityList = baseDao.selectList(getWrapper(params)); - - return ConvertUtils.sourceToTarget(entityList, UserRoleDTO.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 UserRoleDTO get(String id) { - UserRoleEntity entity = baseDao.selectById(id); - return ConvertUtils.sourceToTarget(entity, UserRoleDTO.class); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void save(UserRoleDTO dto) { - UserRoleEntity entity = ConvertUtils.sourceToTarget(dto, UserRoleEntity.class); - insert(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(UserRoleDTO dto) { - UserRoleEntity entity = ConvertUtils.sourceToTarget(dto, UserRoleEntity.class); - updateById(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void delete(String[] ids) { - // 逻辑删除(@TableLogic 注解) - baseDao.deleteBatchIds(Arrays.asList(ids)); - } - - /** - * @return UserRoleResultDTO - * @Description 根据用户Id、来源app、客户Id查询用户角色 - * @Param userRoleFormDTO - * @Author wangc - * @Date 2020.03.30 15:35 - **/ - @Override - public Result> getUserRoleInfo(UserRoleFormDTO userRoleFormDTO) { - return new Result>().ok(baseDao.getUserRoleInfo(userRoleFormDTO)); - } - - /** - * @Description 居民注册成功添加居民角色 - * @Author sun - **/ - @Override - public Result saveResiRole(UserResiInfoDTO userResiInfoDTO) { - //1:查询角色Id - RoleDTO roleDTO = new RoleDTO(); - roleDTO.setApp(userResiInfoDTO.getApp()); - roleDTO.setRoleKey(EpmetRoleKeyConstant.REGISTERED_RESI); - Result result = roleService.getRoleByKey(roleDTO); - RoleDTO role = result.getData(); - //2:新增角色数据 - UserRoleDTO userRoleDTO = new UserRoleDTO(); - userRoleDTO.setCustomerId(userResiInfoDTO.getCustomerId()); - userRoleDTO.setUserId(userResiInfoDTO.getUserId()); - userRoleDTO.setRoleId(role.getId()); - Date date = new Date(); - userRoleDTO.setId(IdWorker.get32UUID()); - userRoleDTO.setDelFlag(NumConstant.ZERO); - userRoleDTO.setRevision(NumConstant.ZERO); - userRoleDTO.setCreatedBy(userResiInfoDTO.getUserId()); - userRoleDTO.setCreatedTime(date); - userRoleDTO.setUpdatedBy(userResiInfoDTO.getUserId()); - userRoleDTO.setUpdatedTime(date); - userRoleDao.saveResiRole(userRoleDTO); - return new Result(); - } + @Autowired + private UserRoleRedis userRoleRedis; + @Autowired + private RoleService roleService; + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, UserRoleDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, UserRoleDTO.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 UserRoleDTO get(String id) { + UserRoleEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, UserRoleDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(UserRoleDTO dto) { + UserRoleEntity entity = ConvertUtils.sourceToTarget(dto, UserRoleEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(UserRoleDTO dto) { + UserRoleEntity entity = ConvertUtils.sourceToTarget(dto, UserRoleEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + + /** + * @return UserRoleResultDTO + * @Description 根据用户Id、来源app、客户Id查询用户角色 + * @Param userRoleFormDTO + * @Author wangc + * @Date 2020.03.30 15:35 + **/ + @Override + public Result> getUserRoleInfo(UserRoleFormDTO userRoleFormDTO) { + return new Result>().ok(baseDao.getUserRoleInfo(userRoleFormDTO)); + } + + @Override + public Result saveUserRole(UserRoleDTO userRoleDTO) { + //获取角色ID + RoleDTO roleDTO = new RoleDTO(); + roleDTO.setApp(UserConstant.APP_RESI); + roleDTO.setRoleKey(userRoleDTO.getRoleKey()); + RoleDTO role = roleService.getRoleByKey(roleDTO); + userRoleDTO.setRoleId(role.getId()); + baseDao.insert(ConvertUtils.sourceToTarget(userRoleDTO, UserRoleEntity.class)); + return new Result(); + } } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/RoleDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/RoleDao.xml index 5249bfce41..0c7760ef61 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/RoleDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/RoleDao.xml @@ -15,6 +15,18 @@ + er.id AS "id",