package com.zhujizheng.IHome.aoperation.service; import com.zhujizheng.IHome.generator.dao.PYEveryMoment; import com.zhujizheng.IHome.generator.dao.PYEveryMomentImg; import com.zhujizheng.IHome.generator.dao.PYUserAlbum; 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.PYUserAlbumMapper; import com.zhujizheng.IHome.generator.mapper.PYUserInfoMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; /** * Created with IntelliJ IDEA *

* Author: yons * Date: 2019/09/18 * Time: 00:24 * Description: * Copyright © 2019年 com.zhujizheng. All rights reserved. */ @Service @Transactional(rollbackFor = RuntimeException.class) public class PYAOperationServiceImpl implements PYAOperationService { @Autowired private PYEveryMomentImgMapper everyMomentImgMapper; @Autowired private PYEveryMomentMapper everyMomentMapper; @Autowired private PYUserInfoMapper userInfoMapper; @Autowired private PYUserAlbumMapper userAlbumMapper; @Override public int updateUserIdAndTagAndUploadTime() { List list = everyMomentMapper.selectAllEveryMoment(); if (list == null) { return 0; } System.out.println("list.size = " + list.size()); AtomicInteger reslut = new AtomicInteger(1); for (PYEveryMoment everyMoment : list) { if (everyMoment.getId() == 0) { System.out.println("emId = 0"); continue; } if (everyMoment.getTag() == null) { System.out.println("tag为空"); continue; } List imgList = everyMomentImgMapper.selectImgByEmId(everyMoment.getId()); if (imgList.size() > 0) { System.out.println("emId = " + everyMoment.getId() + " userId = " + everyMoment.getUserId() + " tag = " + everyMoment.getTag() + " releaseTime = " + everyMoment.getReleaseTime()); int r = everyMomentImgMapper.updateUserIdAndTagAndUploadTime(everyMoment.getId(), everyMoment.getUserId(), everyMoment.getTag(), everyMoment.getReleaseTime()); if (r == 0) { reslut.set(0); } } } return reslut.get(); } @Override public int syncUserAlbumData() { AtomicInteger result = new AtomicInteger(1); List userInfoList = userInfoMapper.selectAllUserInfo(); for (PYUserInfo userInfo : userInfoList) { List imgList = everyMomentImgMapper.selectAllImgWithUserId(userInfo.getId()); List tagList = new ArrayList<>(); for (PYEveryMomentImg img : imgList) { if (img.getTag() == null) { System.out.println("img.getTag() = null, img.getId() = " + img.getId()); continue; } tagList.add(img.getTag()); } List newTagList = new ArrayList<>(new HashSet<>(tagList)); System.out.println("userId = " + userInfo.getId() + "newTagList.size() = " + newTagList.size()); for (String tag: newTagList) { List tagImgList = everyMomentImgMapper.selectAllImgWithUserIdAndTag(userInfo.getId(), tag); if (tagImgList.size() > 0) { PYEveryMomentImg lastTagImg = tagImgList.get(tagImgList.size() - 1); PYUserAlbum userAlbum = new PYUserAlbum(); userAlbum.setTag(tag); userAlbum.setUserId(userInfo.getId()); userAlbum.setImgOrientation(lastTagImg.getOrientation()); userAlbum.setImgUrl(lastTagImg.getImgUrl()); userAlbum.setNum(tagImgList.size()); int r = userAlbumMapper.insertUserAlbum(userAlbum); if (r == 0) { result.set(0); } } } } return result.get(); } }