diff --git a/esua-epdc/db/mysql.sql b/esua-epdc/doc/db/mysql.sql similarity index 100% rename from esua-epdc/db/mysql.sql rename to esua-epdc/doc/db/mysql.sql diff --git a/esua-epdc/db/newupdate.sql b/esua-epdc/doc/db/newupdate.sql similarity index 100% rename from esua-epdc/db/newupdate.sql rename to esua-epdc/doc/db/newupdate.sql diff --git a/esua-epdc/db/oracle.sql b/esua-epdc/doc/db/oracle.sql similarity index 100% rename from esua-epdc/db/oracle.sql rename to esua-epdc/doc/db/oracle.sql diff --git a/esua-epdc/db/postgresql.sql b/esua-epdc/doc/db/postgresql.sql similarity index 100% rename from esua-epdc/db/postgresql.sql rename to esua-epdc/doc/db/postgresql.sql diff --git a/esua-epdc/db/sqlserver.sql b/esua-epdc/doc/db/sqlserver.sql similarity index 100% rename from esua-epdc/db/sqlserver.sql rename to esua-epdc/doc/db/sqlserver.sql diff --git a/esua-epdc/doc/开发规范/命名规范.txt b/esua-epdc/doc/开发规范/命名规范.txt new file mode 100644 index 000000000..684d4b35e --- /dev/null +++ b/esua-epdc/doc/开发规范/命名规范.txt @@ -0,0 +1,19 @@ +dao层: +1、结果集是集合用selectListXXX +2、结果集为一个实例用selectOneXXX +3、更新:updateXXX +4、插入:insertXXX +5、删除:deleteXXX +6、获取统计值的方法用 selectCount +service层: +1、结果集是集合:listXXX +2、结果集是一个实例:getXXX +3、插入:saveXXX +5、修改:modifyXXX +4、删除:removeXXX +5、获取统计值的方法用 countXXX + + +数据传输对象:xxxDTO,xxx 为业务领域相关的名称 + +controller层根据接口定义来取名,接口定的什么就取什么 diff --git a/esua-epdc/doc/开发规范/阿里巴巴java开发规范1.4.pdf b/esua-epdc/doc/开发规范/阿里巴巴java开发规范1.4.pdf new file mode 100755 index 000000000..35865f059 Binary files /dev/null and b/esua-epdc/doc/开发规范/阿里巴巴java开发规范1.4.pdf differ diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDeptController.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDeptController.java index b06fb2bf5..a44ec142c 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDeptController.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDeptController.java @@ -98,4 +98,10 @@ public class SysDeptController { return new Result(); } + + @GetMapping("listGridId/{pid}") + @ApiOperation("获取所有下属网格ID集合") + public Result> listGridIdByPid(@PathVariable("pid") Long pid){ + return sysDeptService.listGridIdByPid(pid); + } } diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysDeptDao.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysDeptDao.java index 17a0c6e8d..5233ed93a 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysDeptDao.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysDeptDao.java @@ -1,8 +1,8 @@ /** * Copyright (c) 2018 人人开源 All rights reserved. - * + *

* https://www.renren.io - * + *

* 版权所有,侵权必究! */ @@ -50,4 +50,13 @@ public interface SysDeptDao extends BaseDao { */ List listSimpleDeptInfo(Map params); + /** + * 获取所有下属网格ID集合 + * + * @param pid + * @return java.util.List + * @author yujintao + * @date 2019/9/5 13:46 + */ + List listGridIdByPid(Long pid); } diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java index b8827fbe4..2b8bb9ed5 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java @@ -8,6 +8,7 @@ package com.elink.esua.epdc.service; +import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.SysSimpleDeptDTO; import com.elink.esua.epdc.entity.SysDeptEntity; import com.elink.esua.epdc.commons.mybatis.service.BaseService; @@ -51,4 +52,14 @@ public interface SysDeptService extends BaseService { * @param id 部门ID */ List getSubDeptIdList(Long id); + + /** + * 获取所有下属网格ID集合 + * + * @param pid 部门ID + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @author yujintao + * @date 2019/9/5 13:45 + */ + Result> listGridIdByPid(Long pid); } diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java index f7d4f545e..a36d74e5a 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java @@ -18,6 +18,7 @@ import com.elink.esua.epdc.commons.tools.exception.RenException; import com.elink.esua.epdc.commons.tools.security.user.SecurityUser; import com.elink.esua.epdc.commons.tools.security.user.UserDetail; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; +import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.TreeUtils; import com.elink.esua.epdc.dao.SysDeptDao; import com.elink.esua.epdc.dto.SysDeptDTO; @@ -174,4 +175,10 @@ public class SysDeptServiceImpl extends BaseServiceImpl> listGridIdByPid(Long pid) { + List deptIdList = this.baseDao.listGridIdByPid(pid); + return new Result().ok(deptIdList); + } } diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysDeptDao.xml b/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysDeptDao.xml index 60b2345ec..35ad9f915 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysDeptDao.xml +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysDeptDao.xml @@ -35,4 +35,15 @@ ( SELECT * FROM sys_dept d WHERE d.pid = #{deptId} ) temp + + diff --git a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/enums/YesOrNoEnum.java b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/enums/YesOrNoEnum.java index 4135959dc..ca35dc490 100644 --- a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/enums/YesOrNoEnum.java +++ b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/enums/YesOrNoEnum.java @@ -18,19 +18,19 @@ public enum YesOrNoEnum { /** * 是 */ - YES(1), + YES("1"), /** * 否 */ - NO(0); + NO("0"); - private int value; + private String value; - YesOrNoEnum(int value) { + YesOrNoEnum(String value) { this.value = value; } - public int value() { + public String value() { return this.value; } } diff --git a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/ModuleUtils.java b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/ModuleUtils.java new file mode 100644 index 000000000..b47948dc7 --- /dev/null +++ b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/ModuleUtils.java @@ -0,0 +1,45 @@ +package com.elink.esua.epdc.commons.tools.utils; + +import com.alibaba.fastjson.JSONObject; +import lombok.extern.slf4j.Slf4j; + +import java.util.UUID; + +/** + * 工具类 + * + * @author yujintao + * @email yujintao@elink-cn.com + * @date 2019/9/5 14:44 + */ +@Slf4j +public class ModuleUtils { + + /** + * feignclient降级处理错误返回 + * + * @param errorMsg 保存信息 + * @param methodName 方法名,打印到日志文件 + * @param params 参数,打印的日志文件 + * @return com.elink.esua.commons.tools.utils.Result + * @author yujintao + * @date 2019/9/5 14:44 + */ + public static Result feignConError(String errorMsg, String methodName, Object... params) { + String msg = errorMsg + "调用方法->{},参数->{}"; + log.error(msg, methodName, JSONObject.toJSONString(params)); + return new Result().error(errorMsg); + } + + /** + * 生成uuid + * + * @return java.lang.String + * @author yujintao + * @date 2019/9/5 14:44 + */ + public static String generateUUID() { + return UUID.randomUUID().toString().replace("-", ""); + } + +} diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/NewsService.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/NewsService.java new file mode 100644 index 000000000..9a1aa7df1 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/NewsService.java @@ -0,0 +1,24 @@ +package com.elink.esua.epdc.service; + +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.NoticeDTO; + +/** + * 新闻通知模块 + * + * @author yujintao + * @email yujintao@elink-cn.com + * @date 2019/6/5 14:10 + */ +public interface NewsService { + + /** + * 通知保存 + * + * @param notice + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author yujintao + * @date 2019/9/5 14:17 + */ + Result saveNotice(NoticeDTO notice); +} diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java new file mode 100644 index 000000000..81223fb02 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java @@ -0,0 +1,23 @@ +package com.elink.esua.epdc.service.impl; + +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.NoticeDTO; +import com.elink.esua.epdc.service.NewsService; +import org.springframework.stereotype.Service; + +/** + * 新闻通知模块 + * + * @author yujintao + * @email yujintao@elink-cn.com + * @date 2019/9/5 14:10 + */ +@Service +public class NewsServiceImpl implements NewsService { + + + @Override + public Result saveNotice(NoticeDTO notice) { + return null; + } +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/controller/EventCategoryController.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/controller/EventCategoryController.java index 9e39e9b8b..6e0750ef9 100755 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/controller/EventCategoryController.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/controller/EventCategoryController.java @@ -62,6 +62,12 @@ public class EventCategoryController { return new Result().ok(data); } + @GetMapping("list") + public Result> list(@RequestParam Map params){ + List list = eventCategoryService.list(params); + return new Result>().ok(list); + } + @PostMapping public Result save(@RequestBody EventCategoryDTO dto){ //效验数据 diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/entity/EpdcEventsEntity.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/entity/EpdcEventsEntity.java index 5021fc817..10027204f 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/entity/EpdcEventsEntity.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/entity/EpdcEventsEntity.java @@ -42,10 +42,6 @@ import java.util.Date; public class EpdcEventsEntity extends BaseEpdcEntity { private static final long serialVersionUID = 1L; - /** - * ID - */ - private String id; /** * 用户ID */ @@ -138,28 +134,5 @@ public class EpdcEventsEntity extends BaseEpdcEntity { * 浏览数 */ private Integer browseNum; - /** - * 删除标识 0:未删除,1:已删除 - */ - private String delFlag; - /** - * 乐观锁 - */ - private Integer revision; - /** - * 创建人 - */ - private String createdBy; - /** - * 创建时间 - */ - private Date createdTime; - /** - * 更新人 - */ - private String updatedBy; - /** - * 更新时间 - */ - private Date updatedTime; + } diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/NewsDTO.java b/esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/NewsDTO.java new file mode 100644 index 000000000..37825350b --- /dev/null +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/NewsDTO.java @@ -0,0 +1,176 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

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

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

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.dto; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 新闻表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-09-05 + */ +@Data +public class NewsDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * ID + */ + private String id; + + /** + * 新闻标题 + */ + private String newsTitle; + + /** + * 新闻内容 + */ + private String newsContent; + + /** + * 新闻类别ID + */ + private String newsCateroryId; + + /** + * 新闻属性 + */ + private String newsProperty; + + /** + * 新闻位置ID + */ + private String newsPositionId; + + /** + * 新闻主图 + */ + private String newsImageUrl; + + /** + * 新闻上下线状态 0-下线,1-上线 + */ + private String newsUpDownState; + + /** + * 新闻发布开始时间 + */ + private Date newsReleaseStartTime; + + /** + * 新闻发布结束时间 + */ + private Date newsReleaseEndTime; + + /** + * 发布人部门 + */ + private String deptName; + + /** + * 发布人部门ID + */ + private String deptId; + + /** + * 阅读量 + */ + private Integer readingAmount; + + /** + * 点赞数 + */ + private Integer likeNumber; + + /** + * 点踩数 + */ + private Integer unLikeNumber; + + /** + * 删除标识 0:未删除,1:已删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + + /** + * 通知所属街道 + */ + private String street; + + /** + * 通知所属街道ID + */ + private Long streetId; + + /** + * 通知所属社区 + */ + private String community; + + /** + * 通知所属社区ID + */ + private Long communityId; + + /** + * 通知所属网格 + */ + private String grid; + + /** + * 通知所属网格ID + */ + private Long gridId; + + /** + * 创建人姓名 + */ + private String creatorName; + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/NoticeDTO.java b/esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/NoticeDTO.java index e3e21626a..2ef174998 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/NoticeDTO.java +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/NoticeDTO.java @@ -49,17 +49,17 @@ public class NoticeDTO implements Serializable { private String noticeContent; /** - * 发布通知者姓名 + * 发布人姓名 */ private String creatorName; /** - * 发布通知部门 + * 发布人部门 */ - private String dept; + private String deptName; /** - * 发布通知部门ID + * 发布人部门ID */ private Long deptId; @@ -98,4 +98,39 @@ public class NoticeDTO implements Serializable { */ private String delFlag; + /** + * 是否已发布0否;1是 + */ + private String isPublish; + + /** + * 通知所属街道 + */ + private String street; + + /** + * 通知所属街道ID + */ + private Long streetId; + + /** + * 通知所属社区 + */ + private String community; + + /** + * 通知所属社区ID + */ + private Long communityId; + + /** + * 通知所属网格 + */ + private String grid; + + /** + * 通知所属网格ID + */ + private Long gridId; + } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/NoticeDepartmentDTO.java b/esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/NoticeDepartmentDTO.java new file mode 100644 index 000000000..4475acffa --- /dev/null +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/NoticeDepartmentDTO.java @@ -0,0 +1,81 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

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

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

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.dto; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 通知部门关系表 + * + * @author yujintao yujintao@elink-cn.com + * @since v1.0.0 2019-09-05 + */ +@Data +public class NoticeDepartmentDTO implements Serializable { + + private static final long serialVersionUID = 3994084299547740579L; + + /** + * 主键 + */ + private String id; + + /** + * 通知ID + */ + private String noticeId; + + /** + * 部门ID + */ + private Long deptId; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + + /** + * 删除标记 + */ + private String delFlag; + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/NewsCategoryController.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/NewsCategoryController.java index e5c97696b..48014f406 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/NewsCategoryController.java +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/NewsCategoryController.java @@ -79,6 +79,9 @@ public class NewsCategoryController { public Result update(@RequestBody NewsCategoryDTO dto){ //效验数据 ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + if(newsCategoryService.checkIsExist(dto.getId())){ + return new Result().error("该类别下存在新闻不允许删除"); + } if(newsCategoryService.checkCodeCategory(dto.getCategoryCode(),dto.getId())>0){ return new Result().error("类别编码已存在"); } @@ -93,6 +96,9 @@ public class NewsCategoryController { public Result delete(@RequestBody String[] ids){ //效验数据 AssertUtils.isArrayEmpty(ids, "id"); + if(newsCategoryService.checkIsExist(ids[0])){ + return new Result().error("该类别下存在新闻不允许删除"); + } newsCategoryService.delete(ids); return new Result(); } diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/NewsController.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/NewsController.java new file mode 100644 index 000000000..3551e9a71 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/NewsController.java @@ -0,0 +1,94 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

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

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

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.controller; + +import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.commons.tools.utils.ExcelUtils; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.commons.tools.validator.AssertUtils; +import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; +import com.elink.esua.epdc.commons.tools.validator.group.AddGroup; +import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup; +import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; +import com.elink.esua.epdc.dto.NewsDTO; +import com.elink.esua.epdc.excel.NewsExcel; +import com.elink.esua.epdc.service.NewsService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + + +/** + * 新闻表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-09-05 + */ +@RestController +@RequestMapping("news") +public class NewsController { + + @Autowired + private NewsService newsService; + + @GetMapping("page") + public Result> page(@RequestParam Map params){ + PageData page = newsService.page(params); + return new Result>().ok(page); + } + + @GetMapping("{id}") + public Result get(@PathVariable("id") String id){ + NewsDTO data = newsService.get(id); + return new Result().ok(data); + } + + @PostMapping + public Result save(@RequestBody NewsDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + newsService.save(dto); + return new Result(); + } + + @PutMapping + public Result update(@RequestBody NewsDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + newsService.update(dto); + return new Result(); + } + + @DeleteMapping + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + newsService.delete(ids); + return new Result(); + } + + @GetMapping("export") + public void export(@RequestParam Map params, HttpServletResponse response) throws Exception { + List list = newsService.list(params); + ExcelUtils.exportExcelToTarget(response, null, list, NewsExcel.class); + } + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/NoticeController.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/NoticeController.java index e3c4f9955..d27d1aad9 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/NoticeController.java +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/NoticeController.java @@ -45,24 +45,24 @@ import java.util.Map; @RestController @RequestMapping("/notice") public class NoticeController { - + @Autowired private NoticeService noticeService; @GetMapping("page") - public Result> page(@RequestParam Map params){ + public Result> page(@RequestParam Map params) { PageData page = noticeService.page(params); return new Result>().ok(page); } @GetMapping("{id}") - public Result get(@PathVariable("id") String id){ + public Result get(@PathVariable("id") String id) { NoticeDTO data = noticeService.get(id); return new Result().ok(data); } @PostMapping - public Result save(@RequestBody NoticeDTO dto){ + public Result save(@RequestBody NoticeDTO dto) { //效验数据 ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); noticeService.save(dto); @@ -70,7 +70,7 @@ public class NoticeController { } @PutMapping - public Result update(@RequestBody NoticeDTO dto){ + public Result update(@RequestBody NoticeDTO dto) { //效验数据 ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); noticeService.update(dto); @@ -78,7 +78,7 @@ public class NoticeController { } @DeleteMapping - public Result delete(@RequestBody String[] ids){ + public Result delete(@RequestBody String[] ids) { //效验数据 AssertUtils.isArrayEmpty(ids, "id"); noticeService.delete(ids); @@ -91,4 +91,18 @@ public class NoticeController { ExcelUtils.exportExcelToTarget(response, null, list, NoticeExcel.class); } + /** + * 通知发布 + * + * @param noticeId + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author yujintao + * @date 2019/9/5 17:05 + */ + @PostMapping("publish/{noticeId}") + public Result publish(@PathVariable String noticeId) { + noticeService.updatePublish(noticeId); + return new Result(); + } + } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/NoticeDepartmentController.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/NoticeDepartmentController.java new file mode 100644 index 000000000..8269dea12 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/NoticeDepartmentController.java @@ -0,0 +1,94 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

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

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

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.controller; + +import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.commons.tools.utils.ExcelUtils; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.commons.tools.validator.AssertUtils; +import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; +import com.elink.esua.epdc.commons.tools.validator.group.AddGroup; +import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup; +import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; +import com.elink.esua.epdc.dto.NoticeDepartmentDTO; +import com.elink.esua.epdc.excel.NoticeDepartmentExcel; +import com.elink.esua.epdc.service.NoticeDepartmentService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + + +/** + * 通知部门关系表 + * + * @author yujintao yujintao@elink-cn.com + * @since v1.0.0 2019-09-05 + */ +@RestController +@RequestMapping("noticedepartment") +public class NoticeDepartmentController { + + @Autowired + private NoticeDepartmentService noticeDepartmentService; + + @GetMapping("page") + public Result> page(@RequestParam Map params){ + PageData page = noticeDepartmentService.page(params); + return new Result>().ok(page); + } + + @GetMapping("{id}") + public Result get(@PathVariable("id") String id){ + NoticeDepartmentDTO data = noticeDepartmentService.get(id); + return new Result().ok(data); + } + + @PostMapping + public Result save(@RequestBody NoticeDepartmentDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + noticeDepartmentService.save(dto); + return new Result(); + } + + @PutMapping + public Result update(@RequestBody NoticeDepartmentDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + noticeDepartmentService.update(dto); + return new Result(); + } + + @DeleteMapping + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + noticeDepartmentService.delete(ids); + return new Result(); + } + + @GetMapping("export") + public void export(@RequestParam Map params, HttpServletResponse response) throws Exception { + List list = noticeDepartmentService.list(params); + ExcelUtils.exportExcelToTarget(response, null, list, NoticeDepartmentExcel.class); + } + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/NewsDao.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/NewsDao.java new file mode 100644 index 000000000..a66e75c97 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/NewsDao.java @@ -0,0 +1,34 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

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

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

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

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

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

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.dao; + +import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; +import com.elink.esua.epdc.entity.NoticeDepartmentEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 通知部门关系表 + * + * @author yujintao yujintao@elink-cn.com + * @since v1.0.0 2019-09-05 + */ +@Mapper +public interface NoticeDepartmentDao extends BaseDao { + + /** + * 根据noticeId删除 + * + * @param noticeId + * @return int + * @author yujintao + * @date 2019/9/5 16:37 + */ + int deleteByNoticeId(String noticeId); +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/entity/NewsEntity.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/entity/NewsEntity.java new file mode 100644 index 000000000..9330e0416 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/entity/NewsEntity.java @@ -0,0 +1,146 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

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

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

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 新闻表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-09-05 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("epdc_news") +public class NewsEntity extends BaseEpdcEntity { + + private static final long serialVersionUID = 1L; + + /** + * 新闻标题 + */ + private String newsTitle; + + /** + * 新闻内容 + */ + private String newsContent; + + /** + * 新闻类别ID + */ + private String newsCateroryId; + + /** + * 新闻属性 + */ + private String newsProperty; + + /** + * 新闻位置ID + */ + private String newsPositionId; + + /** + * 新闻主图 + */ + private String newsImageUrl; + + /** + * 新闻上下线状态 0-下线,1-上线 + */ + private String newsUpDownState; + + /** + * 新闻发布开始时间 + */ + private Date newsReleaseStartTime; + + /** + * 新闻发布结束时间 + */ + private Date newsReleaseEndTime; + + /** + * 发布人部门 + */ + private String deptName; + + /** + * 发布人部门ID + */ + private String deptId; + + /** + * 阅读量 + */ + private Integer readingAmount; + + /** + * 点赞数 + */ + private Integer likeNumber; + + /** + * 点踩数 + */ + private Integer unLikeNumber; + + /** + * 通知所属街道 + */ + private String street; + + /** + * 通知所属街道ID + */ + private Long streetId; + + /** + * 通知所属社区 + */ + private String community; + + /** + * 通知所属社区ID + */ + private Long communityId; + + /** + * 通知所属网格 + */ + private String grid; + + /** + * 通知所属网格ID + */ + private Long gridId; + + /** + * 创建人姓名 + */ + private String creatorName; + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/entity/NoticeDepartmentEntity.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/entity/NoticeDepartmentEntity.java new file mode 100644 index 000000000..40509bf1d --- /dev/null +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/entity/NoticeDepartmentEntity.java @@ -0,0 +1,53 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

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

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

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.entity; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 通知部门关系表 + * + * @author yujintao yujintao@elink-cn.com + * @since v1.0.0 2019-09-05 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("epdc_notice_department") +public class NoticeDepartmentEntity extends BaseEpdcEntity { + + private static final long serialVersionUID = -5644283742322487661L; + + /** + * 通知ID + */ + private String noticeId; + + /** + * 部门ID + */ + @TableField(fill = FieldFill.DEFAULT) + private Long deptId; + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/entity/NoticeEntity.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/entity/NoticeEntity.java index f7c6ae639..699c18284 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/entity/NoticeEntity.java +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/entity/NoticeEntity.java @@ -55,12 +55,12 @@ public class NoticeEntity extends BaseEpdcEntity { private String creatorName; /** - * 发布通知部门 + * 发布人部门 */ - private String dept; + private String deptName; /** - * 发布通知部门ID + * 发布人部门ID */ @TableField(fill = FieldFill.DEFAULT) private Long deptId; @@ -70,4 +70,42 @@ public class NoticeEntity extends BaseEpdcEntity { */ private Integer readingAmount; + /** + * 是否已发布0否;1是 + */ + private String isPublish; + + /** + * 通知所属街道 + */ + private String street; + + /** + * 通知所属街道ID + */ + private Long streetId; + + /** + * 通知所属社区 + */ + private String community; + + /** + * 通知所属社区ID + */ + private Long communityId; + + /** + * 通知所属网格 + */ + private String grid; + + /** + * 通知所属网格ID + */ + private Long gridId; + + + + } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/excel/NewsExcel.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/excel/NewsExcel.java new file mode 100644 index 000000000..1f57f440c --- /dev/null +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/excel/NewsExcel.java @@ -0,0 +1,119 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

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

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

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.excel; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +import java.util.Date; + +/** + * 新闻表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-09-05 + */ +@Data +public class NewsExcel { + + @Excel(name = "ID") + private String id; + + @Excel(name = "新闻标题") + private String newsTitle; + + @Excel(name = "新闻内容") + private String newsContent; + + @Excel(name = "新闻类别ID") + private String newsCateroryId; + + @Excel(name = "新闻属性") + private String newsProperty; + + @Excel(name = "新闻位置ID") + private String newsPositionId; + + @Excel(name = "新闻主图") + private String newsImageUrl; + + @Excel(name = "新闻上下线状态 0-下线,1-上线") + private String newsUpDownState; + + @Excel(name = "新闻发布开始时间") + private Date newsReleaseStartTime; + + @Excel(name = "新闻发布结束时间") + private Date newsReleaseEndTime; + + @Excel(name = "发布人部门") + private String deptName; + + @Excel(name = "发布人部门ID") + private String deptId; + + @Excel(name = "阅读量") + private Integer readingAmount; + + @Excel(name = "点赞数") + private Integer likeNumber; + + @Excel(name = "点踩数") + private Integer unLikeNumber; + + @Excel(name = "删除标识 0:未删除,1:已删除") + private String delFlag; + + @Excel(name = "乐观锁") + private Integer revision; + + @Excel(name = "创建人") + private String createdBy; + + @Excel(name = "创建时间") + private Date createdTime; + + @Excel(name = "更新人") + private String updatedBy; + + @Excel(name = "更新时间") + private Date updatedTime; + + @Excel(name = "通知所属街道") + private String street; + + @Excel(name = "通知所属街道ID") + private Long streetId; + + @Excel(name = "通知所属社区") + private String community; + + @Excel(name = "通知所属社区ID") + private Long communityId; + + @Excel(name = "通知所属网格") + private String grid; + + @Excel(name = "通知所属网格ID") + private Long gridId; + + @Excel(name = "创建人姓名") + private String creatorName; + + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/excel/NoticeDepartmentExcel.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/excel/NoticeDepartmentExcel.java new file mode 100644 index 000000000..22ad1812b --- /dev/null +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/excel/NoticeDepartmentExcel.java @@ -0,0 +1,62 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

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

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

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.excel; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +import java.util.Date; + +/** + * 通知部门关系表 + * + * @author yujintao yujintao@elink-cn.com + * @since v1.0.0 2019-09-05 + */ +@Data +public class NoticeDepartmentExcel { + + @Excel(name = "主键") + private String id; + + @Excel(name = "通知ID") + private String noticeId; + + @Excel(name = "部门ID") + private String deptId; + + @Excel(name = "乐观锁") + private Integer revision; + + @Excel(name = "创建人") + private String createdBy; + + @Excel(name = "创建时间") + private Date createdTime; + + @Excel(name = "更新人") + private String updatedBy; + + @Excel(name = "更新时间") + private Date updatedTime; + + @Excel(name = "删除标记") + private String delFlag; + + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java new file mode 100644 index 000000000..6f24d0f5c --- /dev/null +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java @@ -0,0 +1,30 @@ +package com.elink.esua.epdc.feign; + +import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.feign.fallback.AdminFeignClientFallback; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; + +import java.util.List; + +/** + * @author yujintao + * @email yujintao@elink-cn.com + * @date 2019/9/5 14:44 + */ +@FeignClient(name = ServiceConstant.EPDC_ADMIN_SERVER, fallback = AdminFeignClientFallback.class) +public interface AdminFeignClient { + + /** + * 根据部门ID,获取下属所有网格ID + * + * @param pid + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @author yujintao + * @date 2019/9/5 14:49 + */ + @GetMapping("/sys/dept/listGridId/{pid}") + Result> listGridIdByDeptPid(@PathVariable("pid") Long pid); +} diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java new file mode 100644 index 000000000..b1bf54ece --- /dev/null +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java @@ -0,0 +1,24 @@ +package com.elink.esua.epdc.feign.fallback; + +import com.elink.esua.epdc.commons.tools.utils.ModuleUtils; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.feign.AdminFeignClient; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @author yujintao + * @email yujintao@elink-cn.com + * @date 2019/9/5 14:44 + */ +@Component +public class AdminFeignClientFallback implements AdminFeignClient { + + private final static String ERROR = "news调用admin失败"; + + @Override + public Result> listGridIdByDeptPid(Long pid) { + return ModuleUtils.feignConError(ERROR, "listGridIdByDeptPid", pid); + } +} diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/redis/NewsRedis.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/redis/NewsRedis.java new file mode 100644 index 000000000..ec5c43109 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/redis/NewsRedis.java @@ -0,0 +1,47 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

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

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

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

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

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

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.redis; + +import com.elink.esua.epdc.commons.tools.redis.RedisUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * 通知部门关系表 + * + * @author yujintao yujintao@elink-cn.com + * @since v1.0.0 2019-09-05 + */ +@Component +public class NoticeDepartmentRedis { + @Autowired + private RedisUtils redisUtils; + + public void delete(Object[] ids) { + + } + + public void set(){ + + } + + public String get(String id){ + return null; + } + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NewsCategoryService.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NewsCategoryService.java index f87b4ccbe..39a79c09d 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NewsCategoryService.java +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NewsCategoryService.java @@ -94,12 +94,17 @@ public interface NewsCategoryService extends BaseService { void delete(String[] ids); /** - * + *检查名字是否重复 */ int checkNameCategory(String categoryName,String id); /** - * + *检查标签编码是否重复 */ int checkCodeCategory(String categoryCode,String id); + + /** + * 检查标签下是否存在新闻 + */ + boolean checkIsExist(String id); } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NewsService.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NewsService.java new file mode 100644 index 000000000..d239e8905 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NewsService.java @@ -0,0 +1,102 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

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

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

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.service; + +import com.elink.esua.epdc.commons.mybatis.service.BaseService; +import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.dto.NewsDTO; +import com.elink.esua.epdc.entity.NewsEntity; + +import java.util.List; +import java.util.Map; + +/** + * 新闻表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-09-05 + */ +public interface NewsService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author + * @date + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author + * @date + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return NewsDTO + * @author + * @date + */ + NewsDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author + * @date + */ + void save(NewsDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author + * @date + */ + void update(NewsDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author + * @date + */ + void delete(String[] ids); + + + /** + * 查询标签id下有没有新闻 + */ + int checkCountByCategoryId(String categoryId); + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NoticeDepartmentService.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NoticeDepartmentService.java new file mode 100644 index 000000000..ad6a3cf13 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NoticeDepartmentService.java @@ -0,0 +1,116 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

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

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

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.service; + +import com.elink.esua.epdc.commons.mybatis.service.BaseService; +import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.dto.NoticeDepartmentDTO; +import com.elink.esua.epdc.entity.NoticeDepartmentEntity; + +import java.util.List; +import java.util.Map; + +/** + * 通知部门关系表 + * + * @author yujintao yujintao@elink-cn.com + * @since v1.0.0 2019-09-05 + */ +public interface NoticeDepartmentService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author + * @date + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author + * @date + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return NoticeDepartmentDTO + * @author + * @date + */ + NoticeDepartmentDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author + * @date + */ + void save(NoticeDepartmentDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author + * @date + */ + void update(NoticeDepartmentDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author + * @date + */ + void delete(String[] ids); + + /** + * 保存通知和网格关系 + * + * @param id + * @param noticeGridList + * @return void + * @author yujintao + * @date 2019/9/5 15:08 + */ + void save(String id, List noticeGridList); + + /** + * 根据通知ID删除条目 + * + * @param id + * @return void + * @author yujintao + * @date 2019/9/5 15:52 + */ + void deleteByNoticeId(String id); +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NoticeService.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NoticeService.java index decc5ed48..f3d8c804e 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NoticeService.java +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NoticeService.java @@ -92,4 +92,14 @@ public interface NoticeService extends BaseService { * @date */ void delete(String[] ids); + + /** + * 通知发布 + * + * @param noticeId + * @return void + * @author yujintao + * @date 2019/9/5 16:59 + */ + void updatePublish(String noticeId); } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsCategoryServiceImpl.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsCategoryServiceImpl.java index 076efd2dc..77af30885 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsCategoryServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsCategoryServiceImpl.java @@ -28,6 +28,7 @@ import com.elink.esua.epdc.dto.NewsCategoryDTO; import com.elink.esua.epdc.entity.NewsCategoryEntity; import com.elink.esua.epdc.news.redis.NewsCategoryRedis; import com.elink.esua.epdc.service.NewsCategoryService; +import com.elink.esua.epdc.service.NewsService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -49,6 +50,9 @@ public class NewsCategoryServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -92,6 +96,7 @@ public class NewsCategoryServiceImpl extends BaseServiceImpl0?true:false; + } + } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java new file mode 100644 index 000000000..037865242 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java @@ -0,0 +1,110 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

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

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

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; +import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; +import com.elink.esua.epdc.commons.tools.constant.FieldConstant; +import com.elink.esua.epdc.dao.NewsDao; +import com.elink.esua.epdc.dto.NewsDTO; +import com.elink.esua.epdc.entity.NewsEntity; +import com.elink.esua.epdc.redis.NewsRedis; +import com.elink.esua.epdc.service.NewsService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 新闻表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-09-05 + */ +@Service +public class NewsServiceImpl extends BaseServiceImpl implements NewsService { + + @Autowired + private NewsRedis newsRedis; + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, NewsDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, NewsDTO.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 NewsDTO get(String id) { + NewsEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, NewsDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(NewsDTO dto) { + NewsEntity entity = ConvertUtils.sourceToTarget(dto, NewsEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(NewsDTO dto) { + NewsEntity entity = ConvertUtils.sourceToTarget(dto, NewsEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + + @Override + public int checkCountByCategoryId(String categoryId){ + + return baseDao.selectCountByCategoryId(categoryId); + } + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NoticeDepartmentServiceImpl.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NoticeDepartmentServiceImpl.java new file mode 100644 index 000000000..9191614fc --- /dev/null +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NoticeDepartmentServiceImpl.java @@ -0,0 +1,128 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

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

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

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.service.impl; + +import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; +import com.elink.esua.epdc.commons.tools.constant.NumConstant; +import com.elink.esua.epdc.commons.tools.exception.RenException; +import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; +import com.elink.esua.epdc.commons.tools.constant.FieldConstant; +import com.elink.esua.epdc.dao.NoticeDepartmentDao; +import com.elink.esua.epdc.dto.NoticeDepartmentDTO; +import com.elink.esua.epdc.entity.NoticeDepartmentEntity; +import com.elink.esua.epdc.redis.NoticeDepartmentRedis; +import com.elink.esua.epdc.service.NoticeDepartmentService; +import com.google.common.collect.Lists; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 通知部门关系表 + * + * @author yujintao yujintao@elink-cn.com + * @since v1.0.0 2019-09-05 + */ +@Service +public class NoticeDepartmentServiceImpl extends BaseServiceImpl implements NoticeDepartmentService { + + @Autowired + private NoticeDepartmentRedis noticeDepartmentRedis; + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, NoticeDepartmentDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, NoticeDepartmentDTO.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 NoticeDepartmentDTO get(String id) { + NoticeDepartmentEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, NoticeDepartmentDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(NoticeDepartmentDTO dto) { + NoticeDepartmentEntity entity = ConvertUtils.sourceToTarget(dto, NoticeDepartmentEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(NoticeDepartmentDTO dto) { + NoticeDepartmentEntity entity = ConvertUtils.sourceToTarget(dto, NoticeDepartmentEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + + @Override + public void save(String id, List noticeGridList) { + if (StringUtils.isBlank(id) || CollUtil.isEmpty(noticeGridList)) { + throw new RenException("保存通知网格信息失败"); + } + List list = Lists.newArrayList(); + NoticeDepartmentEntity entity; + for (Long gridId : noticeGridList) { + entity = new NoticeDepartmentEntity(); + entity.setNoticeId(id); + entity.setDeptId(gridId); + list.add(entity); + } + this.insertBatch(list, NumConstant.TWENTY); + } + + @Override + public void deleteByNoticeId(String id) { + this.baseDao.deleteByNoticeId(id); + } +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NoticeServiceImpl.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NoticeServiceImpl.java index dbe840fc4..61fc6b774 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NoticeServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NoticeServiceImpl.java @@ -17,20 +17,26 @@ package com.elink.esua.epdc.service.impl; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; +import com.elink.esua.epdc.commons.tools.enums.YesOrNoEnum; import com.elink.esua.epdc.commons.tools.exception.RenException; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.security.user.SecurityUser; import com.elink.esua.epdc.commons.tools.security.user.UserDetail; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.constant.FieldConstant; +import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dao.NoticeDao; import com.elink.esua.epdc.dto.NoticeDTO; import com.elink.esua.epdc.entity.NoticeEntity; +import com.elink.esua.epdc.feign.AdminFeignClient; import com.elink.esua.epdc.redis.NoticeRedis; +import com.elink.esua.epdc.service.NoticeDepartmentService; import com.elink.esua.epdc.service.NoticeService; +import com.google.common.collect.Lists; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -52,6 +58,12 @@ public class NoticeServiceImpl extends BaseServiceImpl @Autowired private NoticeRedis noticeRedis; + @Autowired + private AdminFeignClient adminFeignClient; + + @Autowired + private NoticeDepartmentService noticeDepartmentService; + @Override public PageData page(Map params) { IPage page = baseDao.selectPage( @@ -70,9 +82,11 @@ public class NoticeServiceImpl extends BaseServiceImpl private QueryWrapper getWrapper(Map params) { String id = (String) params.get(FieldConstant.ID_HUMP); + String noticeTitle = (String) params.get("noticeTitle"); QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id) + .like(StringUtils.isNotBlank(noticeTitle), "NOTICE_TITLE", noticeTitle); return wrapper; } @@ -86,25 +100,65 @@ public class NoticeServiceImpl extends BaseServiceImpl @Override @Transactional(rollbackFor = Exception.class) public void save(NoticeDTO dto) { - - UserDetail user = SecurityUser.getUser(); - if (!user.getDeptIdList().contains(dto.getDeptId())) { - throw new RenException("您没有操作此部门的数据权限"); - } - dto.setCreatorName(user.getRealName()); - NoticeEntity entity = ConvertUtils.sourceToTarget(dto, NoticeEntity.class); - insert(entity); + this.saveOrUpdate(dto); } @Override @Transactional(rollbackFor = Exception.class) public void update(NoticeDTO dto) { + this.saveOrUpdate(dto); + } + + /** + * 通知保存或更新 + * + * @param dto + * @return void + * @author yujintao + * @date 2019/9/5 16:02 + */ + private void saveOrUpdate(NoticeDTO dto) { UserDetail user = SecurityUser.getUser(); - if (!user.getDeptIdList().contains(dto.getDeptId())) { + dto.setCreatorName(user.getRealName()); + dto.setDeptId(user.getDeptId()); + dto.setDeptName(user.getDeptName()); + NoticeEntity entity = ConvertUtils.sourceToTarget(dto, NoticeEntity.class); + + // 通知所属部门id + Long noticeDeptId = entity.getStreetId(); + // 能接收通知的所有网格的ID + List noticeGridList = Lists.newArrayList(); + if (null != entity.getCommunityId()) { + noticeDeptId = entity.getCommunityId(); + } + if (null != entity.getGridId()) { + noticeDeptId = entity.getGridId(); + noticeGridList.add(noticeDeptId); + } + + if (!user.getDeptIdList().contains(noticeDeptId)) { throw new RenException("您没有操作此部门的数据权限"); } - NoticeEntity entity = ConvertUtils.sourceToTarget(dto, NoticeEntity.class); - updateById(entity); + boolean isSave = true; + if (StringUtils.isNotBlank(dto.getId())) { + isSave = false; + } + + if (isSave) { + insert(entity); + } else { + updateById(entity); + noticeDepartmentService.deleteByNoticeId(entity.getId()); + } + + if (CollUtil.isEmpty(noticeGridList)) { + Result> adminResult = adminFeignClient.listGridIdByDeptPid(noticeDeptId); + if (!adminResult.success() || CollUtil.isEmpty(adminResult.getData())) { + throw new RenException("获取部门信息失败"); + } + noticeGridList = adminResult.getData(); + } + this.noticeDepartmentService.save(entity.getId(), noticeGridList); } @Override @@ -112,6 +166,16 @@ public class NoticeServiceImpl extends BaseServiceImpl public void delete(String[] ids) { //物理删除 baseDao.deleteBatchIds(Arrays.asList(ids)); + for (String noticeId : ids) { + this.noticeDepartmentService.deleteByNoticeId(noticeId); + } } + @Override + public void updatePublish(String noticeId) { + NoticeEntity entity = new NoticeEntity(); + entity.setId(noticeId); + entity.setIsPublish(YesOrNoEnum.YES.value()); + this.updateById(entity); + } } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NewsDao.xml b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NewsDao.xml new file mode 100644 index 000000000..bddbd02b6 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NewsDao.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NoticeDao.xml b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NoticeDao.xml new file mode 100644 index 000000000..b6c61a605 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NoticeDao.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NoticeDepartmentDao.xml b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NoticeDepartmentDao.xml new file mode 100644 index 000000000..9bb1b8985 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NoticeDepartmentDao.xml @@ -0,0 +1,10 @@ + + + + + + + + DELETE FROM epdc_notice_department WHERE NOTICE_ID = #{noticeId} + + \ No newline at end of file diff --git a/renren-cloud-generator/src/main/resources/generator.properties b/renren-cloud-generator/src/main/resources/generator.properties index 4bde9bd4d..7cdad8a6b 100644 --- a/renren-cloud-generator/src/main/resources/generator.properties +++ b/renren-cloud-generator/src/main/resources/generator.properties @@ -5,11 +5,11 @@ main= package=com.elink.esua.epdc moduleName=news #\u4F5C\u8005 -author=yujintao +author=qu #\u7248\u672C\u53F7 version=v1.0.0 #Email -email=yujintao@elink-cn.com +email=qu@elink-cn.com #\u8868\u524D\u7F00(\u7C7B\u540D\u4E0D\u4F1A\u5305\u542B\u8868\u524D\u7F00) tablePrefix=epdc_