|
|
@@ -0,0 +1,182 @@
|
|
|
+package com.jpsoft.enterprise.modules.mobile.controller;
|
|
|
+
|
|
|
+
|
|
|
+import com.github.pagehelper.Page;
|
|
|
+import com.github.pagehelper.util.StringUtil;
|
|
|
+import com.jpsoft.enterprise.modules.base.dto.MessageInfoDTO;
|
|
|
+import com.jpsoft.enterprise.modules.base.dto.MessageReceiverDTO;
|
|
|
+import com.jpsoft.enterprise.modules.base.entity.MessageInfo;
|
|
|
+import com.jpsoft.enterprise.modules.base.entity.MessageReceiver;
|
|
|
+import com.jpsoft.enterprise.modules.base.entity.MessageType;
|
|
|
+import com.jpsoft.enterprise.modules.base.service.MessageInfoService;
|
|
|
+import com.jpsoft.enterprise.modules.base.service.MessageReceiverService;
|
|
|
+import com.jpsoft.enterprise.modules.base.service.MessageTypeService;
|
|
|
+import com.jpsoft.enterprise.modules.common.dto.MessageResult;
|
|
|
+import com.jpsoft.enterprise.modules.common.dto.Sort;
|
|
|
+import com.jpsoft.enterprise.modules.common.utils.PojoUtils;
|
|
|
+import io.swagger.annotations.ApiImplicitParam;
|
|
|
+import io.swagger.annotations.ApiImplicitParams;
|
|
|
+import io.swagger.annotations.ApiOperation;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
+
|
|
|
+import java.util.*;
|
|
|
+
|
|
|
+@RestController
|
|
|
+@RequestMapping("/mobile/messageInfoApi")
|
|
|
+@Slf4j
|
|
|
+public class MessageInfoApiController {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private MessageReceiverService messageReceiverService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private MessageInfoService messageInfoService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private MessageTypeService messageTypeService;
|
|
|
+
|
|
|
+ @PostMapping("pageList")
|
|
|
+ @ApiOperation(value = "消息列表")
|
|
|
+ public MessageResult<Map> pageList(
|
|
|
+ String token,
|
|
|
+ @RequestParam(value="pageIndex",defaultValue="1") int pageIndex,
|
|
|
+ @RequestParam(value="pageSize",defaultValue="20") int pageSize,
|
|
|
+ @RequestAttribute String subject) {
|
|
|
+ MessageResult<Map> messageResult = new MessageResult<>();
|
|
|
+
|
|
|
+ try {
|
|
|
+ Map<String,Object> searchParams = new HashMap<>();
|
|
|
+
|
|
|
+
|
|
|
+ searchParams.put("personId",subject);
|
|
|
+
|
|
|
+ List<Sort> sortList = new ArrayList<>();
|
|
|
+ sortList.add(new Sort("create_time", "desc"));
|
|
|
+
|
|
|
+ Page<MessageReceiver> page = messageReceiverService.pageSearch(searchParams, pageIndex, pageSize, true, sortList);
|
|
|
+
|
|
|
+ Page<MessageInfoDTO> pageDto = new Page<>();
|
|
|
+
|
|
|
+ for (MessageReceiver messageReceiver:page) {
|
|
|
+ MessageInfoDTO dto = new MessageInfoDTO();
|
|
|
+ dto.setId(messageReceiver.getId());
|
|
|
+ MessageInfo messageInfo = messageInfoService.get(messageReceiver.getMessageId());
|
|
|
+
|
|
|
+ if(messageInfo!=null){
|
|
|
+ dto.setTitle(messageInfo.getTitle());
|
|
|
+ MessageType messageType = messageTypeService.get(messageInfo.getType());
|
|
|
+
|
|
|
+ if(messageType!=null){
|
|
|
+ dto.setTypeName(messageType.getName());
|
|
|
+ dto.setPicUrl(messageType.getPicUrl());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ dto.setCreateTime(messageReceiver.getCreateTime());
|
|
|
+ dto.setReadStatus(messageReceiver.getReadStatus());
|
|
|
+
|
|
|
+
|
|
|
+ pageDto.add(dto);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ pageDto.setPageSize(page.getPageSize());
|
|
|
+ pageDto.setTotal(page.getTotal());
|
|
|
+ pageDto.setPageNum(page.getPageNum());
|
|
|
+
|
|
|
+ messageResult.setData(PojoUtils.pageWrapper(pageDto));
|
|
|
+ messageResult.setResult(true);
|
|
|
+ messageResult.setCode(200);
|
|
|
+ } catch (Exception ex) {
|
|
|
+ log.error(ex.getMessage(), ex);
|
|
|
+ messageResult.setCode(400);
|
|
|
+ messageResult.setResult(false);
|
|
|
+ messageResult.setMessage(ex.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ return messageResult;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @PostMapping("detail")
|
|
|
+ @ApiOperation(value = "消息详情")
|
|
|
+ @ApiImplicitParams({
|
|
|
+ @ApiImplicitParam(name = "id", value = "消息ID", required = true, paramType = "form")
|
|
|
+ })
|
|
|
+ public MessageResult<MessageReceiverDTO> detail(String id,String token,@RequestAttribute String subject){
|
|
|
+ MessageResult<MessageReceiverDTO> messageResult = new MessageResult<>();
|
|
|
+
|
|
|
+ try{
|
|
|
+ MessageReceiver messageReceiver = messageReceiverService.get(id);
|
|
|
+
|
|
|
+ messageReceiver.setReadStatus(true);
|
|
|
+ messageReceiver.setUpdateBy(subject);
|
|
|
+ messageReceiver.setUpdateTime(new Date());
|
|
|
+
|
|
|
+ messageReceiverService.update(messageReceiver);
|
|
|
+
|
|
|
+ MessageReceiverDTO dto = new MessageReceiverDTO();
|
|
|
+
|
|
|
+ MessageInfo messageInfo = messageInfoService.get(messageReceiver.getMessageId());
|
|
|
+
|
|
|
+ if(messageInfo!=null){
|
|
|
+ dto.setTitle(messageInfo.getTitle());
|
|
|
+ dto.setContent(messageInfo.getContent());
|
|
|
+
|
|
|
+ }
|
|
|
+ dto.setCreateTime(messageReceiver.getCreateTime());
|
|
|
+
|
|
|
+ messageResult.setData(dto);
|
|
|
+ messageResult.setResult(true);
|
|
|
+ messageResult.setCode(200);
|
|
|
+
|
|
|
+ }
|
|
|
+ catch (Exception ex) {
|
|
|
+ log.error(ex.getMessage(), ex);
|
|
|
+ messageResult.setCode(400);
|
|
|
+ messageResult.setResult(false);
|
|
|
+ messageResult.setMessage(ex.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ return messageResult;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @PostMapping("onekeyReadStatus")
|
|
|
+ @ApiOperation(value = "一键已读")
|
|
|
+ public MessageResult<Integer> onekeyReadStatus(String token,@RequestAttribute String subject) {
|
|
|
+ MessageResult<Integer> messageResult = new MessageResult<>();
|
|
|
+
|
|
|
+
|
|
|
+ try{
|
|
|
+ List<MessageReceiver> list = messageReceiverService.findByPersonId(subject);
|
|
|
+
|
|
|
+ Date now = new Date();
|
|
|
+
|
|
|
+ int count = 0;
|
|
|
+
|
|
|
+ for (MessageReceiver messageReceiver:list) {
|
|
|
+ messageReceiver.setReadStatus(true);
|
|
|
+ messageReceiver.setUpdateTime(now);
|
|
|
+ messageReceiver.setUpdateBy(subject);
|
|
|
+
|
|
|
+ count += messageReceiverService.update(messageReceiver);
|
|
|
+ }
|
|
|
+
|
|
|
+ messageResult.setData(count);
|
|
|
+ messageResult.setResult(true);
|
|
|
+ messageResult.setCode(200);
|
|
|
+
|
|
|
+ }
|
|
|
+ catch (Exception ex) {
|
|
|
+ log.error(ex.getMessage(), ex);
|
|
|
+ messageResult.setCode(400);
|
|
|
+ messageResult.setResult(false);
|
|
|
+ messageResult.setMessage(ex.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ return messageResult;
|
|
|
+
|
|
|
+ }
|
|
|
+}
|