package com.zhujizheng.IHome.everymoment.sysmsg;

import com.github.binarywang.java.emoji.EmojiConverter;
import com.zhujizheng.IHome.everymoment.vo.PYEveryMomentCommentVO;
import com.zhujizheng.IHome.generator.dao.PYEveryMoment;
import com.zhujizheng.IHome.generator.dao.PYEveryMomentImg;
import com.zhujizheng.IHome.generator.dao.PYEveryMomentMsg;
import com.zhujizheng.IHome.generator.dao.PYUserInfo;
import com.zhujizheng.IHome.generator.mapper.PYEveryMomentImgMapper;
import com.zhujizheng.IHome.generator.mapper.PYEveryMomentMapper;
import com.zhujizheng.IHome.generator.mapper.PYUserInfoMapper;

import java.util.List;
import java.util.concurrent.atomic.AtomicReference;

/**
 * Created with IntelliJ IDEA
 * <p>
 * Author: yons
 * Date: 2019/04/30
 * Time: 02:44
 * Description:
 * Copyright © 2019年 com.zhujizheng. All rights reserved.
 */
public class PYEveryMomentCommentSysMsg extends PYEveryMomentMsg {

    public static PYEveryMomentCommentSysMsg createSystemMessage(PYEveryMomentCommentVO commentVO, PYEveryMomentMapper everyMomentMapper, PYEveryMomentImgMapper imgMapper, PYUserInfoMapper userInfoMapper) {
        System.out.println("commentVO = " + commentVO + ", everyMomentMapper = " + everyMomentMapper + ", imgMapper = " + imgMapper + ", userInfoMapper = " + userInfoMapper);
        if (commentVO == null || everyMomentMapper == null || imgMapper == null || userInfoMapper == null) {
            return null;
        }
        // 根据动态id获取消息封面
        List<PYEveryMomentImg> imgList = imgMapper.selectImgByEmId(commentVO.getEmId());
        // 根据动态id获取动态
        PYEveryMoment everyMoment = everyMomentMapper.selectEveryMomentByEmId(commentVO.getEmId());
        PYEveryMomentCommentSysMsg commentSysMsg = new PYEveryMomentCommentSysMsg();
        commentSysMsg.setUserId(commentVO.getFromUserId());
        PYUserInfo userInfo = userInfoMapper.selectUserInfoByUserId(commentVO.getFromUserId());
        commentSysMsg.setLoverId(userInfo.getLoverId());
        commentSysMsg.setEmId(commentVO.getEmId());
        commentSysMsg.setMsgTypeId(commentVO.getCommentId());
        commentSysMsg.setMsgType(2);
        String title;
        if (commentVO.getToUserId() == -1) {
            if (commentVO.getFromUserId().equals(everyMoment.getUserId())) {
                if (userInfo.getUserSex()) {
                    title = "评论了他的动态";
                } else {
                    title = "评论了她的动态";
                }
            } else {
                title = "评论了你的动态";
            }
        } else if (commentVO.getToUserId().equals(userInfo.getLoverId())) {
            title = "回复了你";
        } else {
            title = "评论了一条动态";
        }
        commentSysMsg.setTitle(title);
        String commentAlias = EmojiConverter.getInstance().toAlias(commentVO.getComment());
        System.out.println("commentAlias = " + commentAlias);
        commentSysMsg.setContent(commentAlias);
        commentSysMsg.setMsgTime(commentVO.getCommentTime());
        commentSysMsg.setIsRead(false);
        commentSysMsg.setNeedDecode(commentVO.getNeedDecode());

        if (imgList != null && imgList.size() > 0) {
            PYEveryMomentImg img = imgList.get(0);
            System.out.println("createSystemMessage img = " + img);
            commentSysMsg.setImgUrl(img.getImgUrl());
            commentSysMsg.setOrientation(img.getOrientation());
        } else {
            commentSysMsg.setImgUrl("");
            commentSysMsg.setOrientation(0);
            System.out.println("createSystemMessage 评论的系统消息没有封面");
        }
        System.out.println("commentSysMsg = " + commentSysMsg);
        return commentSysMsg;
    }
}