Commit d5981676 by huluobin

美甲师消息

parent c2131284
package com.gogirl.application.xcx;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gogirl.domain.xcx.Message;
import java.util.List;
public interface MessageService extends IService<Message> {
/**
* 获取我的消息
*
* @param pageNum
* @param pageSize
* @param type
* @param tab
* @return
*/
Page<Message> selectMyMessage(Integer pageNum, Integer pageSize, Integer type, Integer tab);
/**
* 消息管理
*
* @param tab 1-公司公告 2-美甲师消息
* @return
*/
List<Message> myMessageManage(Integer tab);
/**
* 阅读美甲师消息
*
* @param id
*/
void readMessage(Integer id);
}
package com.gogirl.application.xcx.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gogirl.application.xcx.MessageService;
import com.gogirl.domain.store.oa.TakeLeaveEvent;
import com.gogirl.domain.store.store.StoreTechnician;
import com.gogirl.domain.xcx.Message;
import com.gogirl.infrastructure.common.util.JsonUtilByFsJson;
import com.gogirl.infrastructure.mapper.xcx.MessageMapper;
import com.gogirl.infrastructure.util.SessionUtils;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@Service
@AllArgsConstructor
@Transactional
@Slf4j
public class MessageServiceImpl extends ServiceImpl<MessageMapper, Message> implements MessageService {
private final MessageMapper messageMapper;
@Override
public Page<Message> selectMyMessage(Integer pageNum, Integer pageSize, Integer type, Integer tab) {
IPage<Message> page = new Page<>(pageNum, pageSize);
StoreTechnician storeTechnician = SessionUtils.getStoreTechnician();
page = messageMapper.selectMyMessage(page, storeTechnician.getId(), type, tab);
page.getRecords().forEach(val -> {
if (val.getType() == 1 || val.getType() == 3)
val.setTakeLeaveEvent(JsonUtilByFsJson.jsonToBean(val.getParamJson(), TakeLeaveEvent.class));
});
return (Page<Message>) page;
}
@Override
public List<Message> myMessageManage(Integer tab) {
StoreTechnician storeTechnician = SessionUtils.getStoreTechnician();
List<Message> list = messageMapper.myMessageManage(storeTechnician.getId(), tab);
list.forEach(message -> {
Integer unread = messageMapper.selectUnReadCount(message.getTechnicianId(), message.getType());
message.setUnread(unread);
});
return list;
}
@Override
public void readMessage(Integer id) {
Message message = messageMapper.selectById(id);
message.setIsRead(1);
messageMapper.updateById(message);
}
}
......@@ -39,6 +39,7 @@ public class Message {
private String paramJson;
@ApiModelProperty("1-公司公告 2-美甲师消息")
private Integer tab;
@TableField(exist = false)
......
package com.gogirl.interfaces.xcx;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gogirl.application.xcx.GogirlTokenService;
import com.gogirl.domain.store.oa.TakeLeaveEvent;
import com.gogirl.domain.store.store.StoreTechnician;
import com.gogirl.domain.xcx.GogirlToken;
import com.gogirl.application.xcx.MessageService;
import com.gogirl.domain.xcx.Message;
import com.gogirl.infrastructure.common.base.JsonResult;
import com.gogirl.infrastructure.common.util.JsonUtilByFsJson;
import com.gogirl.infrastructure.mapper.xcx.MessageMapper;
import com.gogirl.infrastructure.util.SessionUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
......@@ -26,8 +19,7 @@ import java.util.List;
@Slf4j
public class TechnicianMessageController {
private final MessageMapper messageMapper;
private final GogirlTokenService gogirlTokenService;
private final MessageService messageService;
@ApiOperation(value = "获取我的消息")
@PostMapping(value = "/technician/message/selectMyMessage")
......@@ -36,43 +28,24 @@ public class TechnicianMessageController {
Integer pageNum,
Integer type,
Integer tab) {
GogirlToken gogirlToken = gogirlTokenService.getByToken(token);
IPage<Message> page = new Page<>(pageNum, pageSize);
StoreTechnician storeTechnician = SessionUtils.getStoreTechnician();
page = messageMapper.selectMyMessage(page, storeTechnician.getId(), type, tab);
page.getRecords().forEach(val -> {
if (val.getType() == 1 || val.getType() == 3)
val.setTakeLeaveEvent(JsonUtilByFsJson.jsonToBean(val.getParamJson(), TakeLeaveEvent.class));
});
return JsonResult.success((Page<Message>) page);
Page<Message> page = messageService.selectMyMessage(pageNum, pageSize, type, tab);
return JsonResult.success(page);
}
@ApiOperation(value = "我的消息管理")
@PostMapping(value = "/technician/message/myMessageManage")
public JsonResult<List<Message>> myMessageManage(@RequestHeader String token,
Integer pageSize,
Integer pageNum,
Integer tab) {
StoreTechnician storeTechnician = SessionUtils.getStoreTechnician();
List<Message> list = messageMapper.myMessageManage(storeTechnician.getId(), tab);
list.forEach(message -> {
Integer unread = messageMapper.selectUnReadCount(message.getTechnicianId(), message.getType());
message.setUnread(unread);
});
List<Message> list = messageService.myMessageManage(tab);
return JsonResult.success(list);
}
@ApiOperation(value = "阅读消息")
@GetMapping(value = "/technician/message/readMessage")
public JsonResult<Void> readMessage(@RequestParam Integer id) {
Message message = messageMapper.selectById(id);
message.setIsRead(1);
messageMapper.updateById(message);
messageService.readMessage(id);
return JsonResult.success();
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment