package com.zteits.pay.dao.impl; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import com.alipay.api.domain.DataEnumValue; import com.zteits.clouds.api.apibase.constants.DataStatusEnum; import com.zteits.clouds.api.dto.owner.param.QueryMessageRequest; import com.zteits.clouds.api.dto.pay.JPushMessageDTO; import com.zteits.clouds.api.dto.pay.JPushMsgQueryRequest; import com.zteits.clouds.api.dto.pay.NewMessagePushDTO; import com.zteits.pay.biz.ParkCardServiceImpl; import com.zteits.pay.domain.TdCPushMsgExample; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.zteits.clouds.api.dto.pay.TdCCustInvoiceHisDTO; import com.zteits.clouds.api.dto.pay.param.JPushMessageRequest; import com.zteits.pay.dao.TdCPushMsgDao; import com.zteits.pay.domain.JPushMessageDO; import com.zteits.pay.domain.TdCPushMsg; import com.zteits.pay.mapper.TdCPushMsgMapper; import com.zteits.pay.mapper.smapper.TdCPushMsgSMapper; @Component public class TdCPushMsgDaoImpl implements TdCPushMsgDao { /** * self-defined */ private static final Logger logger = LoggerFactory.getLogger(TdCPushMsgDaoImpl.class); @Autowired private TdCPushMsgSMapper tdCPushMsgSMapper; @Autowired private TdCPushMsgMapper tdCPushMsgMapper; @Override public int insertSelective(TdCPushMsg record) { return tdCPushMsgMapper.insert(record); } @Override public Boolean isExistsByOutMsgNo(Integer msgType, String outMsgNo) { TdCPushMsgExample example = new TdCPushMsgExample(); example.createCriteria().andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value()) .andMsgTypeEqualTo(msgType) .andOutMsgNoEqualTo(outMsgNo); long count = tdCPushMsgMapper.countByExample(example); return count>0?true:false; } @Override public PageInfo queryPageJPushMsgByCondition(JPushMsgQueryRequest request) { PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize()); List resultList = tdCPushMsgSMapper.queryParkOrderByCondition(request); PageInfo pageInfo = new PageInfo<>(resultList); if(pageInfo.getPages()(resultList); } @Override public PageInfo selectMessageByMessageType(QueryMessageRequest req) { PageHelper.startPage(req.getBaseRequest().getPageNum(), req.getBaseRequest().getPageSize()); TdCPushMsgExample example = new TdCPushMsgExample(); TdCPushMsgExample.Criteria criteria = example.createCriteria(); criteria.andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value()); criteria.andCustIdEqualTo(req.getCustId()); Integer[] arr = {2,3,4,5,7}; /**根据消息类型查询*/ switch (req.getMessageType()){ case "1" : criteria.andMsgTypeEqualTo(1); break; case "2" : criteria.andMsgTypeEqualTo(6); break; case "3" : criteria.andMsgTypeIn(Arrays.asList(arr)); break; case "4" : criteria.andMsgTypeEqualTo(9); break; } example.setOrderByClause("create_date desc"); List tdCPushMsgs = tdCPushMsgMapper.selectByExample(example); PageInfo pageInfo = new PageInfo<>(tdCPushMsgs); logger.info("返回数据:"+JSONObject.toJSONString(tdCPushMsgs)+"分页数据:"+JSONObject.toJSONString(pageInfo)+"入参:"+JSONObject.toJSONString(req)); if(pageInfo.getPages()(tdCPushMsgs); } @Override public NewMessagePushDTO countUnreadMessage(QueryMessageRequest req) { return tdCPushMsgSMapper.countUnreadMessage(req); } @Override public int updateUnreadMessage(QueryMessageRequest messageRequest) { return tdCPushMsgSMapper.updateUnreadMessage(messageRequest); } @Override public Long countUnreadTotal(QueryMessageRequest messageRequest) { TdCPushMsgExample example = new TdCPushMsgExample(); TdCPushMsgExample.Criteria criteria = example.createCriteria(); criteria.andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value()); criteria.andCustIdEqualTo(messageRequest.getCustId()); criteria.andReadTypeEqualTo(0); return tdCPushMsgMapper.countByExample(example); } /** * 消息中心首页,查询各消息类型的最新一条 */ @Override public List getLatestPushedMessages(JPushMessageRequest request) { return tdCPushMsgSMapper.getLatestPushedMessages(request); } /** * 消息中心-消息详情,查询某一消息的详情 */ @Override public List getPushedMessageDetails(JPushMessageRequest request) { PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize()); List dtos =tdCPushMsgSMapper.getPushedMessageDetails(request); PageInfo pageInfo = new PageInfo<>(dtos); if(pageInfo.getPages() getPushedMessageDetailsForPage(JPushMessageRequest request) { PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize()); List dtos =tdCPushMsgSMapper.getPushedMessageDetails(request); return new PageInfo<>(dtos);// TODO Auto-generated method stub } }