MrShi
18 小时以前 e4f9739d74323aacf09d139700f22a383910ee97
server/dmmall_service/src/main/java/com/doumee/service/business/impl/NoticeServiceImpl.java
@@ -7,6 +7,7 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.NoticeMapper;
import com.doumee.dao.business.join.MemberJoinMapper;
@@ -223,22 +224,19 @@
        Notice notice = pageWrap.getModel();
        queryWrapper.ne(Objects.nonNull(notice.getQueryType())&&Constants.equalsInteger(notice.getQueryType(),Constants.ZERO),
                        Notice::getObjType,Constants.TWO)
                    .eq(Objects.nonNull(notice.getQueryType())&&Constants.equalsInteger(notice.getQueryType(),Constants.ONE),
                        Notice::getObjType,Constants.TWO)
        queryWrapper.ne(Objects.nonNull(notice.getQueryType()),
                        Notice::getType,notice.getQueryType())
                    .eq(Notice::getMemberId,notice.getMemberId())
                .orderByAsc(Notice::getStatus)
                .orderByDesc(Notice::getId)
        ;
        IPage<Notice> noticeIPage = noticeMapper.selectPage(page, queryWrapper);
        List<NoticeCardDTO> noticeCardDTOs = new ArrayList<>();
        if (CollectionUtils.isEmpty(noticeIPage.getRecords())){
        if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(noticeIPage.getRecords())){
            noticeCardDTOs = noticeIPage.getRecords().stream().map(s -> {
                NoticeCardDTO noticeCardDTO = new NoticeCardDTO();
                BeanUtils.copyProperties(s, noticeCardDTO);
                return noticeCardDTO;
            }).collect(Collectors.toList());
        }
        PageData<NoticeCardDTO> pageData = new PageData<>();
@@ -252,11 +250,10 @@
    /**
     *
     * @param type 0消费者;1=经销商;
     * @param objType 0商城订单 1积分流水 2互动评价 3优惠券
     * @param type 消息类型 0=系统消息;1=社区消息
     * @param objType 0商城订单 1积分流水 2过期提醒 3社区消息
     *
     */
    public void saveNoticeInfo(Integer type,Integer objType,Integer memberId
        ,String title,String content,Integer objId){
        Notice notice = new Notice();
@@ -286,6 +283,7 @@
                                         BigDecimal integral,
                                         Integer objId,String info){
        String title = integralObjType.getName();
        this.saveNoticeInfo(
                type,
                Constants.ONE,
@@ -311,14 +309,14 @@
            MemberCoupon mc = c.getMemberCoupon();
            String info = Constants.equalsInteger(mc.getCouponType(),Constants.ZERO)?
                    "满"+mc.getLimitPrice()+"元减"+mc.getPrice()+"元抵扣券*"+c.getNum():
                    "满"+mc.getLimitPrice()+"元享"+mc.getPrice()+"折券";
                    "满"+mc.getLimitPrice()+"元享"+mc.getPrice()+"折券*"+c.getNum();
            replaceInfo = replaceInfo + (StringUtils.isBlank(replaceInfo)?
                    info:","+info);
        }
        noticeInfo.replace("${param}",replaceInfo);
        this.saveNoticeInfo(
                Constants.ZERO,
                Constants.ONE,
                Constants.ONE,
                memberId,
                "获得系统发放的优惠券",
@@ -365,8 +363,8 @@
        String noticeInfo = "${param}回复了您的评论";
        noticeInfo.replace("${param}",memberName);
        this.saveNoticeInfo(
                Constants.ZERO,
                Constants.TWO,
                Constants.ONE,
                Constants.THREE,
                memberId,
                noticeInfo,
                noticeInfo,
@@ -421,6 +419,19 @@
    }
    @Override
    public void autoRead(Integer memberId,Integer noticeType){
        noticeMapper.update(new UpdateWrapper<Notice>().lambda()
                .set(Notice::getStatus,Constants.ONE)
                .set(Notice::getEditDate, DateUtil.getCurrDateTime())
                .eq(Notice::getMemberId,memberId)
                .ne(Objects.nonNull(noticeType)&&Constants.equalsInteger(noticeType,Constants.ZERO),Notice::getObjType,Constants.TWO)
                .eq(Objects.nonNull(noticeType)&&Constants.equalsInteger(noticeType,Constants.ONE),Notice::getObjType,Constants.TWO)
                .eq(Notice::getStatus,Constants.ZERO)
        );
    }