23 changed files with 521 additions and 27 deletions
@ -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); |
||||
|
} |
||||
|
} |
@ -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); |
||||
|
} |
@ -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); |
||||
|
} |
||||
|
} |
@ -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); |
||||
|
} |
@ -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); |
||||
|
} |
||||
|
} |
@ -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; |
||||
|
} |
@ -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; |
||||
|
} |
@ -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; |
||||
|
} |
@ -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); |
||||
|
} |
||||
|
} |
Loading…
Reference in new issue