yujian
2019-08-27 d8359ddb48dab5cc797a9d552e11fde571f4920c
fanli/src/main/java/com/yeshi/fanli/service/impl/user/SpreadUserImgServiceImpl.java
@@ -10,38 +10,39 @@
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import org.yeshi.utils.ListUtil;
import org.yeshi.utils.tencentcloud.COSManager;
import com.yeshi.fanli.dao.mybatis.share.SpreadUserImgMapper;
import com.yeshi.fanli.dao.user.SpreadImgDao;
import com.yeshi.fanli.dao.user.SpreadUserImgDao;
import com.yeshi.fanli.dao.mybatis.user.SpreadImgMapper;
import com.yeshi.fanli.dao.user.UserInfoDao;
import com.yeshi.fanli.entity.bus.invite.SpreadImg;
import com.yeshi.fanli.entity.bus.invite.SpreadUserImg;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
import com.yeshi.fanli.service.inter.user.QrCodeService;
import com.yeshi.fanli.service.inter.user.SpreadUserImgService;
import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import org.yeshi.utils.ListUtil;
import org.yeshi.utils.tencentcloud.COSManager;
@Service
public class SpreadUserImgServiceImpl implements SpreadUserImgService {
   @Resource
   private SpreadUserImgDao spreadUserImgDao;
   @Resource
   private SpreadUserImgMapper spreadUserImgMapper;
   @Resource
   private SpreadImgDao spreadImgDao;
   private SpreadImgMapper spreadImgMapper;
   @Resource
   private QrCodeService qrCodeService;
   @Resource
   private UserInfoDao userInfoDao;
   @Resource
   private UserInfoExtraService userInfoExtraService;
   @Override
   public void addUserInviteImg(Long uid, String imgUrl) {
@@ -50,7 +51,7 @@
      spreadUserImg.setUrl(imgUrl); // 服务器上的url地址
      spreadUserImg.setType(0);
      spreadUserImg.setCreatetime(new Date());
      spreadUserImgDao.save(spreadUserImg);
      spreadUserImgMapper.insertSelective(spreadUserImg);
   }
   @Override
@@ -93,9 +94,9 @@
      List<String> imgList = new ArrayList<>();
      // 查询当前用户的推广图
      List<SpreadUserImg> spreadUserImgList = spreadUserImgDao.list("from SpreadUserImg su where su.uid=" + uid);
      List<SpreadUserImg> spreadUserImgList = spreadUserImgMapper.listByUid(uid);
      // 查询系统的推广图
      List<SpreadImg> spreadImgList = spreadImgDao.list("from SpreadImg");
      List<SpreadImg> spreadImgList = spreadImgMapper.listAll();
      for (SpreadUserImg img : spreadUserImgList) {
         img.setMd5(getSpreadUserImgMD5(img.getUrl()));
@@ -160,7 +161,7 @@
      for (String md5 : extraList) {
         for (SpreadUserImg img : spreadUserImgList)
            if (img.getMd5().equalsIgnoreCase(md5)) {
               spreadUserImgDao.delete(img);
               spreadUserImgMapper.deleteByPrimaryKey(img.getId());
               break;
            }
      }
@@ -170,15 +171,24 @@
      UserInfo user = null;
      if (dlist != null && dlist.size() > 0)
         user = userInfoDao.find(UserInfo.class, uid);
      String inviteCode = null;
      UserInfoExtra extraInfo = userInfoExtraService.getUserInfoExtra(uid);
      if (extraInfo != null) {
         inviteCode = extraInfo.getInviteCode();
      }
      // 添加原来没有的
      for (String md5 : dlist) {
         for (SpreadImg img : spreadImgList)
            if (img.getMd5().equalsIgnoreCase(md5)) {
               // 画图
               try {
                  String imgUrl = qrCodeService.drawInviteQrCode(img.getUrl(), uid,
                        StringUtil.isNullOrEmpty(user.getPortrait())
                              ? Constant.systemCommonConfig.getDefaultPortrait() : user.getPortrait());
                  String portrait = user.getPortrait();
                  if (StringUtil.isNullOrEmpty(portrait)) {
                     portrait = Constant.systemCommonConfig.getDefaultPortrait();
                  }
                  String imgUrl = qrCodeService.drawInviteQrCodeNew(img.getUrl(), uid, portrait, null, null, null, inviteCode);
                  if (!StringUtil.isNullOrEmpty(imgUrl)) {
                     if (imgUrl != null) {
                        addUserInviteImg(uid, imgUrl);
@@ -192,7 +202,7 @@
      }
      // 重新查询
      spreadUserImgList = spreadUserImgDao.list("from SpreadUserImg su where su.uid=" + uid);
      spreadUserImgList = spreadUserImgMapper.listByUid(uid);
      imgList.clear();
      if (spreadUserImgList != null)
         for (SpreadUserImg img : spreadUserImgList)
@@ -215,7 +225,7 @@
      // 生成
      UserInfo user = userInfoDao.find(UserInfo.class, uid);
      try {
         String imgUrl = qrCodeService.drawInviteQrCode(bgImg, uid, user.getPortrait());
         String imgUrl = qrCodeService.drawInviteQrCode(bgImg, uid, user.getPortrait(), null);
         return imgUrl;
      } catch (IOException e) {
         e.printStackTrace();
@@ -228,7 +238,7 @@
      UserInfo user = userInfoDao.find(UserInfo.class, uid);
      try {
         String imgUrl = qrCodeService.drawInviteQrCode(bgImg, uid, user.getPortrait(), erCodePostionX,
               erCodePostionY, erCodeSize);
               erCodePostionY, erCodeSize, null);
         return imgUrl;
      } catch (IOException e) {
         e.printStackTrace();
@@ -236,4 +246,20 @@
      return null;
   }
   @Override
   public int countUserSpreadImg(Long uid) {
      return (int) (spreadUserImgMapper.imgUrlCount(uid));
   }
   @Override
   public String drawInviteQrCodeNew(String bgImg, Long uid, String portrait, Integer pX, Integer pY, Integer size, String inviteCode) throws Exception {
      return qrCodeService.drawInviteQrCodeNew(bgImg, uid, portrait, pX, pY, size, inviteCode);
   }
   @Override
   public String getInviteImgToGreet(String bgImg, Long uid,  String portrait, String inviteCode, String content, Date date) throws Exception {
      return qrCodeService.drawInviteToGreet(bgImg, uid,portrait, inviteCode, content, date);
   }
}