package cn.lili.modules.message.serviceimpl; import cn.hutool.core.text.CharSequenceUtil; import cn.lili.common.enums.ResultCode; import cn.lili.common.security.context.UserContext; import cn.lili.common.vo.PageVO; import cn.lili.modules.message.entity.dos.StoreMessage; import cn.lili.modules.message.entity.vos.StoreMessageQueryVO; import cn.lili.modules.message.mapper.StoreMessageMapper; import cn.lili.modules.message.service.StoreMessageService; import cn.lili.mybatis.util.PageUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.elasticsearch.ResourceNotFoundException; import org.springframework.stereotype.Service; import java.util.List; /** * 消息发送业务层实现 * * @author Chopper * @since 2020/11/17 3:48 下午 */ @Service public class StoreMessageServiceImpl extends ServiceImpl implements StoreMessageService { @Override public boolean deleteByMessageId(String messageId) { StoreMessage storeMessage = this.getById(messageId); if (storeMessage != null) { return this.removeById(messageId); } return false; } @Override public IPage getPage(StoreMessageQueryVO storeMessageQueryVO, PageVO pageVO) { QueryWrapper queryWrapper = new QueryWrapper<>(); //消息id查询 if (CharSequenceUtil.isNotEmpty(storeMessageQueryVO.getMessageId())) { queryWrapper.eq("message_id", storeMessageQueryVO.getMessageId()); } //商家id if (CharSequenceUtil.isNotEmpty(storeMessageQueryVO.getStoreId())) { queryWrapper.eq("store_id", storeMessageQueryVO.getStoreId()); } //状态查询 if (storeMessageQueryVO.getStatus() != null) { queryWrapper.eq("status", storeMessageQueryVO.getStatus()); } queryWrapper.orderByDesc("status"); return this.baseMapper.queryByParams(PageUtil.initPage(pageVO), queryWrapper); } @Override public boolean save(List messages) { return saveBatch(messages); } @Override public boolean editStatus(String status, String id) { StoreMessage storeMessage = this.getById(id); if (storeMessage != null) { //校验权限 if (!storeMessage.getStoreId().equals(UserContext.getCurrentUser().getStoreId())) { throw new ResourceNotFoundException(ResultCode.USER_AUTHORITY_ERROR.message()); } storeMessage.setStatus(status); return this.updateById(storeMessage); } return false; } }