package com.xy.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.xy.dto.MsgSysMonitorNoticeDto; import com.xy.dto.MsgUserMessageDto; import com.xy.entity.MsgSysMonitorNotice; import com.xy.mapper.MsgSysMonitorNoticeMapper; import com.xy.utils.Emptys; import com.xy.utils.MybatisPlusQuery; import com.xy.utils.PageBean; import com.xy.utils.R; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.RequestBody; import java.util.List; import static com.xy.utils.Beans.copy; import static com.xy.utils.PlusBeans.toIPage; import static com.xy.utils.PlusBeans.toPageBean; /** *

* 系统消息 服务实现类 *

* * @author 谭斌 * @since 2023-03-13 */ @Service @AllArgsConstructor(onConstructor_ = @Lazy) @Api(tags = "系统消息") public class MsgSysMonitorNoticeServiceImpl extends ServiceImpl implements MsgSysMonitorNoticeService { private MsgUserMessageServiceImpl msgUserMessageService; @Override @ApiOperation("对象查询") public R obj(@RequestBody MsgSysMonitorNoticeDto.Vo vo) { MsgSysMonitorNoticeDto.SelectList selectList = copy(MsgSysMonitorNoticeDto.SelectList.class, vo); List list = list(selectList).getData(); if (Emptys.check(list)) { return R.ok(list.get(0)); } return R.ok(); } @Override @ApiOperation("集合查询") public R> list(@RequestBody MsgSysMonitorNoticeDto.SelectList selectList) { LambdaQueryWrapper lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(selectList, MsgSysMonitorNotice.class).build(); List list = list(lambdaQueryWrapper); return R.ok(copy(MsgSysMonitorNoticeDto.Vo.class, list)); } @Override @ApiOperation("分页查询") public R> page(@RequestBody MsgSysMonitorNoticeDto.Page page) { PageBean pageBean = page.getPage(); LambdaQueryWrapper lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(page, MsgSysMonitorNotice.class).build(); IPage iPage = page(toIPage(pageBean), lambdaQueryWrapper); return R.ok(toPageBean(MsgSysMonitorNoticeDto.Vo.class, iPage)); } @Override @ApiOperation("添加") public R save(@RequestBody @Validated MsgSysMonitorNoticeDto.Save save) { MsgSysMonitorNotice saveInfo = copy(MsgSysMonitorNotice.class, save); save(saveInfo); Long userId = save.getUserId(); if (userId != null) { String channelType = save.getChannelType(); MsgUserMessageDto.Save mum = new MsgUserMessageDto.Save(); if ("ORDER_CUT".equals(channelType)) { //补扣设置为已读 mum.setReadState("2"); } mum.setMsgId(saveInfo.getMsgId()); mum.setMsgType(saveInfo.getMsgType()); mum.setPriority(saveInfo.getPriority()); mum.setUserId(userId); msgUserMessageService.save(mum); } return R.ok(); } @Override @ApiOperation("修改") public R update(@RequestBody @Validated MsgSysMonitorNoticeDto.Update update) { MsgSysMonitorNotice updateInfo = copy(MsgSysMonitorNotice.class, update); updateById(updateInfo); return R.ok(); } }