Browse Source

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

dev
王金鹏 6 years ago
parent
commit
21c9b50391
  1. 39
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiItemController.java
  2. 31
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/ItemFeignClient.java
  3. 22
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/ItemFeignClientFallback.java
  4. 25
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/ItemService.java
  5. 30
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/ItemServiceImpl.java
  6. 46
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/ItemFormDTO.java
  7. 28
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/ItemHandleProgressResultDTO.java
  8. 82
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/ItemResultDTO.java
  9. 2
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/controller/EpdcAppIssueController.java
  10. 41
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/EpdcAppItemController.java
  11. 13
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDao.java
  12. 12
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java
  13. 16
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java
  14. 82
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml

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

@ -0,0 +1,39 @@
package com.elink.esua.epdc.controller;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.annotation.LoginUser;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.item.form.ItemFormDTO;
import com.elink.esua.epdc.dto.item.result.ItemResultDTO;
import com.elink.esua.epdc.service.ItemService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 移动端接口-项目模块
* @Author LC
* @Date 2019/9/9 16:32
*/
@RestController
@RequestMapping("events/item")
public class ApiItemController {
@Autowired
private ItemService itemService;
/**
* 项目列表
* @Params: [userDetail, formDto]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.item.result.ItemResultDTO>>
* @Author: liuchuang
* @Date: 2019/9/9 16:34
*/
@GetMapping("list")
public Result<List<ItemResultDTO>> listIssues(@LoginUser TokenDto userDetail, ItemFormDTO formDto) {
return itemService.listItems(userDetail, formDto);
}
}

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

@ -0,0 +1,31 @@
package com.elink.esua.epdc.feign;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.item.form.ItemFormDTO;
import com.elink.esua.epdc.dto.item.result.ItemResultDTO;
import com.elink.esua.epdc.feign.fallback.ItemFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import java.util.List;
/**
* 项目模块调用
* @Author LC
* @Date 2019/9/9 16:39
*/
@FeignClient(name = ServiceConstant.EPDC_EVENTS_SERVER, fallback = ItemFeignClientFallback.class)
public interface ItemFeignClient {
/**
* 项目列表
* @Params: [formDto]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.item.result.ItemResultDTO>>
* @Author: liuchuang
* @Date: 2019/9/9 16:42
*/
@GetMapping(value = "events/epdc-app/item/list", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<ItemResultDTO>> listItems(ItemFormDTO formDto);
}

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

@ -0,0 +1,22 @@
package com.elink.esua.epdc.feign.fallback;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.item.form.ItemFormDTO;
import com.elink.esua.epdc.dto.item.result.ItemResultDTO;
import com.elink.esua.epdc.feign.ItemFeignClient;
import java.util.List;
/**
* @Author LC
* @Date 2019/9/9 16:39
*/
public class ItemFeignClientFallback implements ItemFeignClient {
@Override
public Result<List<ItemResultDTO>> listItems(ItemFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "listItems", formDto);
}
}

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

@ -0,0 +1,25 @@
package com.elink.esua.epdc.service;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.item.form.ItemFormDTO;
import com.elink.esua.epdc.dto.item.result.ItemResultDTO;
import java.util.List;
/**
* 项目模块
* @Author LC
* @Date 2019/9/9 16:34
*/
public interface ItemService {
/**
* 项目列表
* @Params: [userDetail, formDto]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.item.result.ItemResultDTO>>
* @Author: liuchuang
* @Date: 2019/9/9 16:37
*/
Result<List<ItemResultDTO>> listItems(TokenDto userDetail, ItemFormDTO formDto);
}

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

@ -0,0 +1,30 @@
package com.elink.esua.epdc.service.impl;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.item.form.ItemFormDTO;
import com.elink.esua.epdc.dto.item.result.ItemResultDTO;
import com.elink.esua.epdc.feign.ItemFeignClient;
import com.elink.esua.epdc.service.ItemService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 项目模块
* @Author LC
* @Date 2019/9/9 16:34
*/
@Service
public class ItemServiceImpl implements ItemService {
@Autowired
private ItemFeignClient itemFeignClient;
@Override
public Result<List<ItemResultDTO>> listItems(TokenDto userDetail, ItemFormDTO formDto) {
formDto.setDeptId(userDetail.getGridId());
return itemFeignClient.listItems(formDto);
}
}

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

@ -0,0 +1,46 @@
package com.elink.esua.epdc.dto.item.form;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;
/**
* @Author LC
* @Date 2019/9/9 16:24
*/
@Data
public class ItemFormDTO implements Serializable {
private static final long serialVersionUID = -3034807666143092535L;
/**
* 用户所属网格ID
*/
@NotBlank(message = "用户网格ID不能为空")
private Long deptId;
/**
* 搜索内容
*/
private String searchContent;
/**
* 页码从1开始
*/
@Min(value = 1, message = "页码必须大于0")
private int pageIndex;
/**
* 页容量默认20页
*/
@Min(value = 1, message = "每页条数必须大于必须大于0")
private int pageSize = 20;
/**
* 第一页查询发起时的时间
*/
@NotBlank(message = "时间戳不能为空")
private String timestamp;
/**
* 只查询半年内的数据
*/
private Date someMonthsAgo;
}

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

@ -0,0 +1,28 @@
package com.elink.esua.epdc.dto.item.result;
import lombok.Data;
import java.io.Serializable;
/**
* 项目处理进展列表DTO
* @Author LC
* @Date 2019/9/9 16:29
*/
@Data
public class ItemHandleProgressResultDTO implements Serializable {
private static final long serialVersionUID = -7709510043792716588L;
/**
* 状态名称
*/
private String progressName;
/**
* 时间
*/
private String createdTime;
/**
* 意见
*/
private String advice;
}

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

@ -0,0 +1,82 @@
package com.elink.esua.epdc.dto.item.result;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 项目列表DTO
* @Author LC
* @Date 2019/9/9 16:25
*/
@Data
public class ItemResultDTO implements Serializable {
private static final long serialVersionUID = -2494874960456321677L;
/**
* 项目ID
*/
private String id;
/**
* 事件ID
*/
private String eventId;
/**
* 项目内容
*/
private String itemContent;
/**
* 昵称
*/
private String nickname;
/**
* 头像地址
*/
private String avatar;
/**
* 是否党员 0否1是
*/
private String partyFlag;
/**
* 赞数
*/
private Integer approveNum;
/**
* 踩数
*/
private Integer opposeNum;
/**
* 评数
*/
private Integer commentNum;
/**
* 项目状态
*/
private String stateName;
/**
* 项目类别
*/
private String categoryName;
/**
* 发布时间
*/
private Date createdTime;
/**
* 表态数
*/
private Integer statementNum;
/**
* 图片列表
*/
private List<String> images;
/**
* 项目位置地址
*/
private String address;
/**
* 最新进展
*/
private ItemHandleProgressResultDTO latestProgress;
}

2
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/controller/EpdcAppIssueController.java

@ -3,12 +3,10 @@ package com.elink.esua.epdc.modules.issue.controller;
import com.elink.esua.epdc.commons.tools.constant.Constant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.dto.issue.EventUserAttitudeDTO;
import com.elink.esua.epdc.dto.issue.form.IssueFormDTO;
import com.elink.esua.epdc.dto.issue.form.StatementFormDTO;
import com.elink.esua.epdc.dto.issue.form.IssueCategoryStatisticsFormDTO;
import com.elink.esua.epdc.dto.issue.form.IssueDetailFormDTO;
import com.elink.esua.epdc.dto.issue.form.IssueFormDTO;
import com.elink.esua.epdc.dto.issue.result.IssueCategoryStatisticsResultDTO;
import com.elink.esua.epdc.dto.issue.result.IssueDetailResultDTO;
import com.elink.esua.epdc.dto.issue.result.IssueHandleProgressResultDTO;

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

@ -0,0 +1,41 @@
package com.elink.esua.epdc.modules.item.controller;
import com.elink.esua.epdc.commons.tools.constant.Constant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.dto.item.form.ItemFormDTO;
import com.elink.esua.epdc.dto.item.result.ItemResultDTO;
import com.elink.esua.epdc.modules.item.service.ItemService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 移动端-项目表
* @Author LC
* @Date 2019/9/9 16:44
*/
@RestController
@RequestMapping(Constant.EPDC_APP + "item")
public class EpdcAppItemController {
@Autowired
private ItemService itemService;
/**
* 项目列表
* @Params: [formDto]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.item.result.ItemResultDTO>>
* @Author: liuchuang
* @Date: 2019/9/9 16:46
*/
@GetMapping("list")
public Result<List<ItemResultDTO>> listItems(@RequestBody ItemFormDTO formDto) {
ValidatorUtils.validateEntity(formDto);
return this.itemService.listItems(formDto);
}
}

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

@ -19,10 +19,14 @@ package com.elink.esua.epdc.modules.item.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.item.ItemDTO;
import com.elink.esua.epdc.dto.item.form.ItemFormDTO;
import com.elink.esua.epdc.dto.item.result.ItemResultDTO;
import com.elink.esua.epdc.modules.item.entity.ItemEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 项目表 项目表
*
@ -41,4 +45,13 @@ public interface ItemDao extends BaseDao<ItemEntity> {
*/
ItemDTO selectOneItemByIssueId(@Param("issueId") String issueId);
/**
* 移动端-项目列表
* @Params: [formDto]
* @Return: java.util.List<com.elink.esua.epdc.dto.item.result.ItemResultDTO>
* @Author: liuchuang
* @Date: 2019/9/9 16:50
*/
List<ItemResultDTO> selectListOfItems(ItemFormDTO formDto);
}

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

@ -19,7 +19,10 @@ package com.elink.esua.epdc.modules.item.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.item.ItemDTO;
import com.elink.esua.epdc.dto.item.form.ItemFormDTO;
import com.elink.esua.epdc.dto.item.result.ItemResultDTO;
import com.elink.esua.epdc.modules.item.entity.ItemEntity;
import java.util.List;
@ -101,4 +104,13 @@ public interface ItemService extends BaseService<ItemEntity> {
* @Date: 2019/9/6 18:38
*/
ItemEntity getItemByIssueId(String issueId);
/**
* 移动端-项目列表
* @Params: [formDto]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.item.result.ItemResultDTO>>
* @Author: liuchuang
* @Date: 2019/9/9 16:47
*/
Result<List<ItemResultDTO>> listItems(ItemFormDTO formDto);
}

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

@ -21,9 +21,14 @@ 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.FieldConstant;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.DateUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.item.ItemDTO;
import com.elink.esua.epdc.dto.item.form.ItemFormDTO;
import com.elink.esua.epdc.dto.item.result.ItemResultDTO;
import com.elink.esua.epdc.modules.item.dao.ItemDao;
import com.elink.esua.epdc.modules.item.entity.ItemEntity;
import com.elink.esua.epdc.modules.item.redis.ItemRedis;
@ -34,6 +39,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;
@ -107,4 +113,14 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
return ConvertUtils.sourceToTarget(dto, ItemEntity.class);
}
@Override
public Result<List<ItemResultDTO>> listItems(ItemFormDTO formDto) {
int pageIndex = (formDto.getPageIndex() - NumConstant.ONE) * formDto.getPageSize();
formDto.setPageIndex(pageIndex);
// 查询半年内的数据
formDto.setSomeMonthsAgo(DateUtils.addDateMonths(new Date(), -6));
List<ItemResultDTO> data = baseDao.selectListOfItems(formDto);
return new Result().ok(data);
}
}

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

@ -5,4 +5,86 @@
<select id="selectOneItemByIssueId" resultType="com.elink.esua.epdc.dto.item.ItemDTO">
SELECT * FROM epdc_item WHERE DEL_FLAG = '0' AND ISSUE_ID = #{issueId}
</select>
<resultMap id="itemsMap" type="com.elink.esua.epdc.dto.item.result.ItemResultDTO">
<result property="id" column="ID"/>
<result property="eventId" column="EVENT_ID"/>
<result property="itemContent" column="ITEM_CONTENT"/>
<result property="nickname" column="NICK_NAME"/>
<result property="avatar" column="USER_FACE"/>
<result property="partyFlag" column="IS_PARTY_MEMBER"/>
<result property="approveNum" column="APPROVE_NUM"/>
<result property="opposeNum" column="OPPOSE_NUM"/>
<result property="commentNum" column="COMMENT_NUM"/>
<result property="stateName" column="stateName"/>
<result property="categoryName" column="CATEGORY_NAME"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="statementNum" column="statementNum"/>
<result property="address" column="ISSUE_ADDRESS"/>
<result property="latestProgress.progressName" column="stateName"/>
<result property="latestProgress.createdTime" column="handleTime"/>
<result property="latestProgress.advice" column="advice"/>
<collection property="images" ofType="java.lang.String">
<result property="image" column="IMG_URL"/>
</collection>
</resultMap>
<select id="selectListOfItems" resultType="itemsMap">
SELECT
item.ID,
item.EVENT_ID,
item.ITEM_CONTENT,
item.NICK_NAME,
item.USER_FACE,
item.IS_PARTY_MEMBER,
item.CREATED_TIME,
item.ISSUE_ADDRESS,
eve.APPROVE_NUM,
eve.OPPOSE_NUM,
eve.COMMENT_NUM,
( eve.APPROVE_NUM + eve.OPPOSE_NUM + eve.COMMENT_NUM + eve.BROWSE_NUM ) AS statementNum,
cate.CATEGORY_NAME,
img.IMG_URL,
hp.CREATED_TIME AS handleTime,
hp.ADVICE
CASE
WHEN (
item.ITEM_STATE = 0
OR item.ITEM_STATE = 5
OR item.ITEM_STATE = 10
OR item.ITEM_STATE = 15
OR item.ITEM_STATE = 20
OR item.ITEM_STATE = 25
) THEN
'处理中'
WHEN item.ITEM_STATE = 30 THEN
'已关闭'
WHEN item.ITEM_STATE = 35 THEN
'已结案' ELSE ''
END
) AS stateName
FROM
epdc_item item
LEFT JOIN epdc_events eve ON item.EVENT_ID = eve.ID
AND eve.DEL_FLAG = '0'
LEFT JOIN epdc_event_category cate ON item.ISSUE_CATEGORY_ID = cate.ID
AND cate.DEL_FLAG = '0'
LEFT JOIN epdc_img img ON item.ID = img.REFERENCE_ID
AND img.DEL_FLAG = '0'
LEFT JOIN epdc_item_handle_process hp ON item.ID = hp.ITEM_ID
AND hp.DEL_FLAG = '0'
AND hp.CREATED_TIME = ( SELECT MAX( a.CREATED_TIME ) FROM epdc_item_handle_process a WHERE a.DEL_FLAG = '0' AND a.ITEM_ID = hp.ITEM_ID )
WHERE
item.DEL_FLAG = '0'
AND item.GRID_ID = #{deptId}
<![CDATA[ AND DATE_FORMAT(item.CREATED_TIME,'%Y-%m-%d %H:%i:%s') >= ]]> #{someMonthsAgo}
<![CDATA[ AND DATE_FORMAT(item.CREATED_TIME,'%Y-%m-%d %H:%i:%s') <= ]]> #{timestamp}
<if test='searchContent != null and searchContent != ""'>
AND item.ITEM_CONTENT LIKE CONCAT('%',#{searchContent},'%')
</if>
ORDER BY
item.CREATED_TIME DESC,
img.CREATED_TIME
LIMIT #{pageIndex},#{pageSize}
</select>
</mapper>

Loading…
Cancel
Save