Browse Source

通知模块字段修改;feignclient配置;移动端新闻列表接口

dev
yujintao 6 years ago
parent
commit
cc10f3d6e2
  1. 3
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysDeptDao.java
  2. 13
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/ModuleUtils.java
  3. 7
      esua-epdc/epdc-module/epdc-api/epdc-api-server/pom.xml
  4. 41
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiNewsController.java
  5. 34
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/NewsFeignClient.java
  6. 25
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/NewsFeignClientFallback.java
  7. 17
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/NewsService.java
  8. 15
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java
  9. 20
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/application.yml
  10. 77
      esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/NoticeDTO.java
  11. 41
      esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcNoticeFormDTO.java
  12. 38
      esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/EpdcNoticeResultDTO.java
  13. 1
      esua-epdc/epdc-module/epdc-news/epdc-news-server/pom.xml
  14. 17
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/NoticeController.java
  15. 15
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/NoticeDao.java
  16. 40
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/entity/NoticeEntity.java
  17. 5
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java
  18. 13
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NoticeService.java
  19. 32
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NoticeServiceImpl.java
  20. 17
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/application.yml
  21. 18
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NoticeDao.xml

3
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysDeptDao.java

@ -12,6 +12,7 @@ import com.elink.esua.epdc.dto.SysSimpleDeptDTO;
import com.elink.esua.epdc.entity.SysDeptEntity;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
@ -58,5 +59,5 @@ public interface SysDeptDao extends BaseDao<SysDeptEntity> {
* @author yujintao
* @date 2019/9/5 13:46
*/
List<Long> listGridIdByPid(Long pid);
List<Long> listGridIdByPid(@Param("pid") Long pid);
}

13
esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/ModuleUtils.java

@ -1,6 +1,6 @@
package com.elink.esua.epdc.commons.tools.utils;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSON;
import lombok.extern.slf4j.Slf4j;
import java.util.UUID;
@ -18,17 +18,18 @@ public class ModuleUtils {
/**
* feignclient降级处理错误返回
*
* @param errorMsg 保存信息
* @param serverName 服务模块名
* @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);
public static Result feignConError(String serverName, String methodName, Object... params) {
String errorMessage = "Failure to connect " + serverName;
String errorLog = errorMessage + "::[method]->{}::[params]->{}";
log.error(errorLog, methodName, JSON.toJSONString(params));
return new Result().error(errorMessage);
}
/**

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

@ -71,6 +71,13 @@
<artifactId>epdc-common-clienttoken</artifactId>
<version>${project.version}</version>
</dependency>
<!-- 替换Feign原生httpclient -->
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-httpclient</artifactId>
<version>10.3.0</version>
</dependency>
</dependencies>
<build>

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

@ -0,0 +1,41 @@
package com.elink.esua.epdc.controller;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.annotation.LoginUser;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.epdc.form.EpdcNoticeFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcNoticeResultDTO;
import com.elink.esua.epdc.service.NewsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* news模块移动端接口
*
* @author yujintao
* @email yujintao@elink-cn.com
* @date 2019/9/5 20:11
*/
@RestController
@RequestMapping("news")
public class ApiNewsController {
@Autowired
private NewsService newsService;
/**
* 移动端通知列表接口
*
* @param userDetail
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcNoticeResultDTO>>
* @author yujintao
* @date 2019/9/5 20:17
*/
@GetMapping("notice/list")
public Result<List<EpdcNoticeResultDTO>> noticeList(@LoginUser TokenDto userDetail, EpdcNoticeFormDTO formDto) {
return newsService.noticeList(userDetail, formDto);
}
}

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

@ -0,0 +1,34 @@
package com.elink.esua.epdc.feign;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.epdc.form.EpdcNoticeFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcNoticeResultDTO;
import com.elink.esua.epdc.feign.fallback.NewsFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 新闻模块调用
*
* @author yujintao
* @email yujintao@elink-cn.com
* @date 2019/9/5 19:20
*/
@FeignClient(name = ServiceConstant.EPDC_NEWS_SERVER, fallback = NewsFeignClientFallback.class)
public interface NewsFeignClient {
/**
* 获取通知列表
*
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcNoticeResultDTO>>
* @author yujintao
* @date 2019/9/5 20:07
*/
@GetMapping(value = "news/notice/listNoticeForApp", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<EpdcNoticeResultDTO>> listNoticeForApp(EpdcNoticeFormDTO formDto);
}

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

@ -0,0 +1,25 @@
package com.elink.esua.epdc.feign.fallback;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.epdc.form.EpdcNoticeFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcNoticeResultDTO;
import com.elink.esua.epdc.feign.NewsFeignClient;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @author yujintao
* @email yujintao@elink-cn.com
* @date 2019/9/5 19:28
*/
@Component
public class NewsFeignClientFallback implements NewsFeignClient {
@Override
public Result<List<EpdcNoticeResultDTO>> listNoticeForApp(EpdcNoticeFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_NEWS_SERVER, "listNoticeForApp", formDto);
}
}

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

@ -1,7 +1,11 @@
package com.elink.esua.epdc.service;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.NoticeDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcNoticeFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcNoticeResultDTO;
import java.util.List;
/**
* 新闻通知模块
@ -13,12 +17,13 @@ import com.elink.esua.epdc.dto.NoticeDTO;
public interface NewsService {
/**
* 通知保存
* 移动端通知列表接口
*
* @param notice
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @param userDetail
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcNoticeResultDTO>>
* @author yujintao
* @date 2019/9/5 14:17
* @date 2019/9/5 20:17
*/
Result saveNotice(NoticeDTO notice);
Result<List<EpdcNoticeResultDTO>> noticeList(TokenDto userDetail, EpdcNoticeFormDTO formDto);
}

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

@ -1,10 +1,16 @@
package com.elink.esua.epdc.service.impl;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.NoticeDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcNoticeFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcNoticeResultDTO;
import com.elink.esua.epdc.feign.NewsFeignClient;
import com.elink.esua.epdc.service.NewsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 新闻通知模块
*
@ -15,9 +21,12 @@ import org.springframework.stereotype.Service;
@Service
public class NewsServiceImpl implements NewsService {
@Autowired
private NewsFeignClient newsFeignClient;
@Override
public Result saveNotice(NoticeDTO notice) {
return null;
public Result<List<EpdcNoticeResultDTO>> noticeList(TokenDto userDetail, EpdcNoticeFormDTO formDto) {
formDto.setDeptId(userDetail.getGridId());
return newsFeignClient.listNoticeForApp(formDto);
}
}

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

@ -45,6 +45,24 @@ management:
health:
show-details: ALWAYS
feign:
hystrix:
enabled: true
httpclient:
enabled: true
hystrix:
command:
default:
execution:
isolation:
thread:
timeoutInMilliseconds: 60000 #缺省为1000
ribbon:
ReadTimeout: 300000
ConnectTimeout: 300000
mybatis-plus:
mapper-locations: classpath:/mapper/**/*.xml
#实体扫描,多个package用逗号或者分号分隔
@ -75,4 +93,4 @@ wx:
aesKey: @wx.mp.configs.aesKey@
token:
expire: 21600L
expire: 21600

77
esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/NoticeDTO.java

@ -36,101 +36,106 @@ public class NoticeDTO implements Serializable {
/**
* 主键
*/
private String id;
private String id;
/**
* 通知标题
*/
private String noticeTitle;
private String noticeTitle;
/**
* 通知内容
*/
private String noticeContent;
private String noticeContent;
/**
* 发布人姓名
* 发布人的部门
*/
private String creatorName;
private String deptName;
/**
* 发布人部门
* 发布人部门ID
*/
private String deptName;
private Long deptId;
/**
* 发布人部门ID
* 通知所属街道
*/
private Long deptId;
private String street;
/**
* 阅读量
* 通知所属街道ID
*/
private Integer readingAmount;
private Long streetId;
/**
* 乐观锁
* 通知所属社区
*/
private Integer revision;
private String community;
/**
* 创建人
* 通知所属社区ID
*/
private String createdBy;
private Long communityId;
/**
* 创建时间
* 通知所属网格
*/
private Date createdTime;
private String grid;
/**
* 更新人
* 通知所属网格ID
*/
private String updatedBy;
private Long gridId;
/**
* 更新时间
* 阅读量
*/
private Date updatedTime;
private Integer readingAmount;
/**
* 删除标记
* 创建人姓名
*/
private String delFlag;
private String creatorName;
/**
* 是否已发布0否1是
*/
private String isPublish;
private String noticeReleaseState;
/**
* 通知所属街道
* 发布时间
*/
private String street;
private Date releaseTime;
/**
* 通知所属街道ID
* 乐观锁
*/
private Long streetId;
private Integer revision;
/**
* 通知所属社区
* 创建人
*/
private String community;
private String createdBy;
/**
* 通知所属社区ID
* 创建时间
*/
private Long communityId;
private Date createdTime;
/**
* 通知所属网格
* 更新人
*/
private String grid;
private String updatedBy;
/**
* 通知所属网格ID
* 更新时间
*/
private Long gridId;
private Date updatedTime;
/**
* 删除标记
*/
private String delFlag;
}

41
esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcNoticeFormDTO.java

@ -0,0 +1,41 @@
package com.elink.esua.epdc.dto.epdc.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* 移动端通知列表查询条件
*
* @author yujintao
* @email yujintao@elink-cn.com
* @date 2019/9/5 19:40
*/
@Data
public class EpdcNoticeFormDTO {
/**
* 用户所属网格ID
*/
@NotBlank(message = "用户网格ID不能为空")
private String deptId;
/**
* 页码
*/
@NotNull(message = "页码不能为空")
private Integer pageIndex;
/**
* 页容量
*/
@NotNull(message = "页容量不能为空")
private Integer pageSize;
/**
* 第一页查询发起时的时间
*/
@NotBlank(message = "时间戳不能为空")
private String timestamp;
}

38
esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/EpdcNoticeResultDTO.java

@ -0,0 +1,38 @@
package com.elink.esua.epdc.dto.epdc.result;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
/**
* 用于移动端获取通知列表
*
* @author yujintao
* @email yujintao@elink-cn.com
* @date 2019/9/5 19:30
*/
@Data
public class EpdcNoticeResultDTO {
/**
* 通知ID
*/
private String id;
/**
* 通知标题
*/
private String noticeTitle;
/**
* 通知发布时间
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date noticeTime;
/**
* 通知发布部门
*/
private String deptName;
}

1
esua-epdc/epdc-module/epdc-news/epdc-news-server/pom.xml

@ -45,6 +45,7 @@
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>${spring.boot.admin.version}</version>
</dependency>
</dependencies>
<build>

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

@ -26,6 +26,8 @@ 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.NoticeDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcNoticeFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcNoticeResultDTO;
import com.elink.esua.epdc.excel.NoticeExcel;
import com.elink.esua.epdc.service.NoticeService;
import org.springframework.beans.factory.annotation.Autowired;
@ -43,7 +45,7 @@ import java.util.Map;
* @since v1.0.0 2019-09-04
*/
@RestController
@RequestMapping("/notice")
@RequestMapping("notice")
public class NoticeController {
@Autowired
@ -105,4 +107,17 @@ public class NoticeController {
return new Result();
}
/**
* 移动端通知列表
*
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcNoticeResultDTO>>
* @author yujintao
* @date 2019/9/5 19:43
*/
@GetMapping("listNoticeForApp")
public Result<List<EpdcNoticeResultDTO>> listNoticeForApp(@RequestBody EpdcNoticeFormDTO formDto) {
ValidatorUtils.validateEntity(formDto);
return this.noticeService.listNoticeForApp(formDto);
}
}

15
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/NoticeDao.java

@ -18,9 +18,13 @@
package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.epdc.form.EpdcNoticeFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcNoticeResultDTO;
import com.elink.esua.epdc.entity.NoticeEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 通知表
*
@ -29,5 +33,14 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface NoticeDao extends BaseDao<NoticeEntity> {
/**
* APP端获取通知列表
*
* @param formDto
* @return java.util.List<com.elink.esua.epdc.dto.epdc.result.EpdcNoticeResultDTO>
* @author yujintao
* @date 2019/9/5 19:51
*/
List<EpdcNoticeResultDTO> selectListAppNotice(EpdcNoticeFormDTO formDto);
}

40
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/entity/NoticeEntity.java

@ -25,6 +25,8 @@ import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 通知表
@ -50,31 +52,15 @@ public class NoticeEntity extends BaseEpdcEntity {
private String noticeContent;
/**
* 发布通知者姓名
*/
private String creatorName;
/**
* 发布人部门
* 发布人的部门
*/
private String deptName;
/**
* 发布人部门ID
* 发布人的部门ID
*/
@TableField(fill = FieldFill.DEFAULT)
private Long deptId;
/**
* 阅读量
*/
private Integer readingAmount;
/**
* 是否已发布0否1是
*/
private String isPublish;
/**
* 通知所属街道
*/
@ -105,7 +91,25 @@ public class NoticeEntity extends BaseEpdcEntity {
*/
private Long gridId;
/**
* 阅读量
*/
private Integer readingAmount;
/**
* 创建人姓名
*/
private String creatorName;
/**
* 是否已发布0否1是
*/
private String noticeReleaseState;
/**
* 发布时间
*/
private Date releaseTime;
}

5
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java

@ -1,5 +1,6 @@
package com.elink.esua.epdc.feign.fallback;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.feign.AdminFeignClient;
@ -15,10 +16,8 @@ import java.util.List;
@Component
public class AdminFeignClientFallback implements AdminFeignClient {
private final static String ERROR = "news调用admin失败";
@Override
public Result<List<Long>> listGridIdByDeptPid(Long pid) {
return ModuleUtils.feignConError(ERROR, "listGridIdByDeptPid", pid);
return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "listGridIdByDeptPid", pid);
}
}

13
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NoticeService.java

@ -19,7 +19,10 @@ 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.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.NoticeDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcNoticeFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcNoticeResultDTO;
import com.elink.esua.epdc.entity.NoticeEntity;
import java.util.List;
@ -102,4 +105,14 @@ public interface NoticeService extends BaseService<NoticeEntity> {
* @date 2019/9/5 16:59
*/
void updatePublish(String noticeId);
/**
* 移动端通知列表
*
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcNoticeResultDTO>>
* @author yujintao
* @date 2019/9/5 19:37
*/
Result<List<EpdcNoticeResultDTO>> listNoticeForApp(EpdcNoticeFormDTO formDto);
}

32
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NoticeServiceImpl.java

@ -21,6 +21,7 @@ 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.enums.YesOrNoEnum;
import com.elink.esua.epdc.commons.tools.exception.RenException;
import com.elink.esua.epdc.commons.tools.page.PageData;
@ -31,6 +32,8 @@ 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.dto.epdc.form.EpdcNoticeFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcNoticeResultDTO;
import com.elink.esua.epdc.entity.NoticeEntity;
import com.elink.esua.epdc.feign.AdminFeignClient;
import com.elink.esua.epdc.redis.NoticeRedis;
@ -43,6 +46,7 @@ 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;
@ -139,6 +143,15 @@ public class NoticeServiceImpl extends BaseServiceImpl<NoticeDao, NoticeEntity>
if (!user.getDeptIdList().contains(noticeDeptId)) {
throw new RenException("您没有操作此部门的数据权限");
}
if (CollUtil.isEmpty(noticeGridList)) {
Result<List<Long>> adminResult = adminFeignClient.listGridIdByDeptPid(noticeDeptId);
if (!adminResult.success() || CollUtil.isEmpty(adminResult.getData())) {
throw new RenException("获取部门信息失败");
}
noticeGridList = adminResult.getData();
}
boolean isSave = true;
if (StringUtils.isNotBlank(dto.getId())) {
isSave = false;
@ -151,13 +164,6 @@ public class NoticeServiceImpl extends BaseServiceImpl<NoticeDao, NoticeEntity>
noticeDepartmentService.deleteByNoticeId(entity.getId());
}
if (CollUtil.isEmpty(noticeGridList)) {
Result<List<Long>> adminResult = adminFeignClient.listGridIdByDeptPid(noticeDeptId);
if (!adminResult.success() || CollUtil.isEmpty(adminResult.getData())) {
throw new RenException("获取部门信息失败");
}
noticeGridList = adminResult.getData();
}
this.noticeDepartmentService.save(entity.getId(), noticeGridList);
}
@ -175,7 +181,17 @@ public class NoticeServiceImpl extends BaseServiceImpl<NoticeDao, NoticeEntity>
public void updatePublish(String noticeId) {
NoticeEntity entity = new NoticeEntity();
entity.setId(noticeId);
entity.setIsPublish(YesOrNoEnum.YES.value());
entity.setNoticeReleaseState(YesOrNoEnum.YES.value());
entity.setReleaseTime(new Date());
this.updateById(entity);
}
@Override
public Result<List<EpdcNoticeResultDTO>> listNoticeForApp(EpdcNoticeFormDTO formDto) {
int pageIndex = (formDto.getPageIndex() - NumConstant.ONE) * formDto.getPageSize();
formDto.setPageIndex(pageIndex);
List<EpdcNoticeResultDTO> noticeList = this.baseDao.selectListAppNotice(formDto);
return new Result().ok(noticeList);
}
}

17
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/application.yml

@ -36,6 +36,23 @@ spring:
username: @spring.datasource.druid.username@
password: @spring.datasource.druid.password@
feign:
hystrix:
enabled: true
httpclient:
enabled: true
hystrix:
command:
default:
execution:
isolation:
thread:
timeoutInMilliseconds: 60000 #缺省为1000
ribbon:
ReadTimeout: 300000
ConnectTimeout: 300000
management:
endpoints:

18
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NoticeDao.xml

@ -4,5 +4,21 @@
<mapper namespace="com.elink.esua.epdc.dao.NoticeDao">
<select id="selectListAppNotice" resultType="com.elink.esua.epdc.dto.epdc.result.EpdcNoticeResultDTO">
SELECT
en.ID AS id,
en.NOTICE_TITLE AS noticeTitle,
en.RELEASE_TIME AS noticeTime,
IFNULL( IFNULL( en.GRID, en.COMMUNITY ), en.STREET ) AS deptName
FROM
epdc_notice en
RIGHT JOIN epdc_notice_department nd ON en.ID = nd.NOTICE_ID
WHERE
nd.DEPT_ID = #{deptId}
AND en.RELEASE_TIME &lt;= STR_TO_DATE( #{timestamp}, '%Y-%m-%d %H:%i:%s' )
AND en.DEL_FLAG = '0'
ORDER BY
en.RELEASE_TIME DESC
LIMIT #{pageIndex},#{pageSize}
</select>
</mapper>
Loading…
Cancel
Save