package com.yeshi.fanli.service.impl.dynamic;
|
|
import java.util.Date;
|
import java.util.List;
|
import java.util.UUID;
|
|
import javax.annotation.Resource;
|
|
import org.springframework.stereotype.Service;
|
import org.yeshi.utils.StringUtil;
|
|
import com.yeshi.fanli.dao.dynamic.WXMPDynamicInfoDao;
|
import com.yeshi.fanli.entity.dynamic.WXMPDynamicInfo;
|
import com.yeshi.fanli.exception.dynamic.WXMPDynamicInfoException;
|
import com.yeshi.fanli.service.inter.dynamic.WXMPDynamicInfoService;
|
import com.yeshi.fanli.service.manger.goods.ConvertLinkManager;
|
|
@Service
|
public class WXMPDynamicInfoServiceImpl implements WXMPDynamicInfoService {
|
|
@Resource
|
private WXMPDynamicInfoDao wxmpDynamicInfoDao;
|
|
@Resource
|
private ConvertLinkManager convertLinkManager;
|
|
@Override
|
public void addWXMPDynamicInfo(WXMPDynamicInfo info) throws WXMPDynamicInfoException {
|
if (StringUtil.isNullOrEmpty(info.getContent()))
|
throw new WXMPDynamicInfoException(1, "无文案");
|
|
if (info.getSource() == null)
|
throw new WXMPDynamicInfoException(1, "无来源");
|
|
if (info.getUser() == null)
|
throw new WXMPDynamicInfoException(1, "无发布用户");
|
if (info.getId() == null)
|
info.setId(StringUtil.Md5(UUID.randomUUID().toString()));
|
if (info.getCreateTime() == null)
|
info.setCreateTime(new Date());
|
info.setShareCount(0);
|
if (wxmpDynamicInfoDao.get(info.getId()) != null)
|
throw new WXMPDynamicInfoException(2, "动态已存在");
|
|
wxmpDynamicInfoDao.save(info);
|
}
|
|
@Override
|
public List<WXMPDynamicInfo> listDynamicInfo(int page, int pageSize) {
|
return wxmpDynamicInfoDao.list((page - 1) * pageSize, pageSize);
|
}
|
|
@Override
|
public Long countDynamicInfo() {
|
return wxmpDynamicInfoDao.count();
|
}
|
|
@Override
|
public String copyContent(String id, Long uid) throws WXMPDynamicInfoException {
|
// 转链
|
WXMPDynamicInfo info = wxmpDynamicInfoDao.get(id);
|
if (info == null)
|
throw new WXMPDynamicInfoException(1, "信息不存在");
|
// 转链
|
String convertContent = null;
|
try {
|
convertContent = convertLinkManager.convertLinkFromText(info.getContent(), uid, true);
|
} catch (Exception e) {
|
e.printStackTrace();
|
throw new WXMPDynamicInfoException(2, "转链出错");
|
}
|
wxmpDynamicInfoDao.addShareCount(id);
|
return convertContent;
|
}
|
|
}
|