package com.yeshi.fanli.service.impl.taobao;
|
|
import java.io.InputStream;
|
import java.util.List;
|
import java.util.UUID;
|
|
import javax.annotation.Resource;
|
|
import org.springframework.stereotype.Service;
|
import org.springframework.web.multipart.MultipartFile;
|
import org.yeshi.utils.tencentcloud.COSManager;
|
|
import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoShopMapper;
|
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
|
import com.yeshi.fanli.entity.taobao.TaoBaoShop;
|
import com.yeshi.fanli.entity.taobao.TaoBaoShopInfo;
|
import com.yeshi.fanli.log.LogHelper;
|
import com.yeshi.fanli.service.inter.taobao.TaoBaoShopService;
|
import com.yeshi.fanli.util.StringUtil;
|
import com.yeshi.fanli.util.db.MongoDBManager;
|
import com.yeshi.fanli.util.taobao.TaoBaoShopUtil;
|
import com.yeshi.fanli.vo.brand.TaoBaoShopVO;
|
|
@Service
|
public class TaoBaoShopServiceImpl implements TaoBaoShopService {
|
|
@Resource
|
private MongoDBManager mongoDBManager;
|
|
@Resource
|
private TaoBaoShopMapper taoBaoShopMapper;
|
|
@Override
|
public TaoBaoShopInfo getTaoBaoShopInfo(TaoBaoGoodsBrief goodsInfo) {
|
if (goodsInfo == null)
|
return null;
|
long startTime = System.currentTimeMillis();
|
TaoBaoShopInfo shopInfo = null;
|
try {
|
shopInfo = mongoDBManager.getTBShopInfo(goodsInfo.getSellerId());
|
} catch (Exception e) {
|
LogHelper.error(e);
|
}
|
|
if (shopInfo == null) {
|
shopInfo = TaoBaoShopUtil.getTaoBaoShopInfo(goodsInfo.getShopTitle(), goodsInfo.getSellerId(),
|
goodsInfo.getAuctionId());
|
if (shopInfo != null)
|
try {
|
mongoDBManager.saveTBShopInfo(shopInfo);
|
} catch (Exception e) {
|
}
|
}
|
|
LogHelper.test("获取店铺信息耗时:" + (System.currentTimeMillis() - startTime));
|
return shopInfo;
|
}
|
|
|
@Override
|
public TaoBaoShop selectByPrimaryKey(Long id) {
|
return taoBaoShopMapper.selectByPrimaryKey(id);
|
}
|
|
|
@Override
|
public int insertSelective(TaoBaoShop record) {
|
return taoBaoShopMapper.insertSelective(record);
|
}
|
|
|
@Override
|
public int updateByPrimaryKeySelective(TaoBaoShop record) {
|
return taoBaoShopMapper.updateByPrimaryKeySelective(record);
|
}
|
|
@Override
|
public void changeInfo(MultipartFile file, Long id, String shopName) {
|
TaoBaoShop taoBaoShop = taoBaoShopMapper.selectByPrimaryKey(id);
|
if (taoBaoShop == null) {
|
return;
|
}
|
|
String fileLink = null;
|
if (file != null) {
|
try {
|
fileLink = uploadPicture(file);
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
|
TaoBaoShop updateShop = new TaoBaoShop();
|
if (!StringUtil.isNullOrEmpty(fileLink)) {
|
updateShop.setShopIconCustom(fileLink);
|
|
// 删除图片
|
String shopIconCustom = taoBaoShop.getShopIconCustom();
|
if (!StringUtil.isNullOrEmpty(shopIconCustom)) {
|
COSManager.getInstance().deleteFile(shopIconCustom);
|
}
|
}
|
|
|
if (StringUtil.isNullOrEmpty(shopName) || "null".equalsIgnoreCase(shopName)) {
|
shopName = null;
|
}
|
|
updateShop.setId(id);
|
updateShop.setShopNameCustom(shopName);
|
taoBaoShopMapper.updateByPrimaryKeySelective(updateShop);
|
}
|
|
|
/**
|
* 上传图片
|
* @param file
|
* @return
|
* @throws Exception
|
*/
|
public String uploadPicture(MultipartFile file) throws Exception {
|
// 文件解析
|
InputStream inputStream = file.getInputStream();
|
String contentType = file.getContentType();
|
String type = contentType.substring(contentType.indexOf("/") + 1);
|
|
// 文件路径
|
String filePath="/img/TaoBaoShop/"+UUID.randomUUID().toString().replace("-", "") + "." + type;
|
// 执行上传
|
String fileLink= COSManager.getInstance().uploadFile(inputStream, filePath).getUrl();
|
|
return fileLink;
|
}
|
|
|
@Override
|
public List<TaoBaoShopVO> listBrandShopinfo(long start, int count, Long cid) {
|
return taoBaoShopMapper.listBrandShopinfo(start, count, cid);
|
}
|
|
|
@Override
|
public long countBrandShopinfo(Long cid) {
|
return taoBaoShopMapper.countBrandShopinfo(cid);
|
}
|
|
|
|
}
|