admin
2025-02-25 30d8e227e8d823b6c38c3b9c90ac2df03b63befe
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserConvertLinkTemplateServiceImpl.java
@@ -1,143 +1,143 @@
package com.yeshi.fanli.service.impl.user;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import javax.annotation.Resource;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import com.yeshi.fanli.dao.user.UserConvertLinkTemplateDao;
import com.yeshi.fanli.entity.bus.user.UserConvertLinkTemplate;
import com.yeshi.fanli.service.inter.user.UserConvertLinkTemplateService;
import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService;
import com.yeshi.fanli.util.StringUtil;
@Service
public class UserConvertLinkTemplateServiceImpl implements UserConvertLinkTemplateService {
   @Resource
   private UserConvertLinkTemplateDao userConvertLinkTemplateDao;
   @Resource
   private UserVIPInfoService userVIPInfoService;
   @Resource
   private UserInfoExtraService userInfoExtraService;
   /**
    *
    * @Title: countByUid
    * @Description: 根据用户ID统计数量
    * @param uid
    * @return
    * long 返回类型
    * @throws
    */
   private long countByUid(Long uid) {
      Query query = new Query();
      query.addCriteria(Criteria.where("uid").is(uid));
      return userConvertLinkTemplateDao.count(query);
   }
   /**
    *
    * @Title: verifyTemplate
    * @Description: 验证模板内容是否正确
    * @param template
    * @param uid
    * @throws Exception
    * void 返回类型
    * @throws
    */
   private void verifyTemplate(String template, Long uid) throws Exception {
      if (StringUtil.isNullOrEmpty(template))
         throw new Exception("模板内容不能为空");
      if (template.length() > 140) {
         throw new Exception("最长为140个字");
      }
      if (template.contains("[邀请码]")) {
         String inviteCode = userInfoExtraService.getInviteCodeByUid(uid);
         if (StringUtil.isNullOrEmpty(inviteCode)) {
            throw new Exception("用户未激活,模板本不能出现[邀请码]");
         }
      }
   }
   @Override
   public List<UserConvertLinkTemplate> listByUid(Long uid) {
      Query query = new Query();
      query.addCriteria(Criteria.where("uid").is(uid).and("createTime").lte(new Date(System.currentTimeMillis()+1000*60*60*24L)));
      List<UserConvertLinkTemplate> templateList = userConvertLinkTemplateDao.findList(query);
      if (templateList != null) {
         String inviteCode = null;
         for (UserConvertLinkTemplate userConvertLinkTemplate : templateList) {
            // 替换邀请码
            if (userConvertLinkTemplate.getTemplate().contains("[邀请码]")) {
               if (inviteCode == null)
                  inviteCode = userInfoExtraService.getInviteCodeByUid(uid);
               userConvertLinkTemplate
                     .setContent(userConvertLinkTemplate.getTemplate().replace("[邀请码]", inviteCode));
            }
         }
      }
      return templateList;
   }
   @Override
   public void updateTemplate(UserConvertLinkTemplate template) throws Exception {
      if (template.getId() == null || StringUtil.isNullOrEmpty(template.getTemplate()))
         throw new Exception("参数不完整");
      UserConvertLinkTemplate oldTemplate = userConvertLinkTemplateDao.get(template.getId());
      if (oldTemplate == null)
         throw new Exception("模板不存在");
      verifyTemplate(template.getTemplate(), oldTemplate.getUid());
      oldTemplate.setTemplate(template.getTemplate());
      oldTemplate.setUpdateTime(new Date());
      userConvertLinkTemplateDao.save(oldTemplate);
   }
   @Override
   public void deleteConvertLinkTemplate(String id, Long uid) throws Exception {
      UserConvertLinkTemplate template = userConvertLinkTemplateDao.get(id);
      if (template != null && template.getUid().longValue() != uid)
         throw new Exception("只能删除属于自己的");
      userConvertLinkTemplateDao.delete(id);
   }
   @Override
   public void addConvertLinkTemplate(UserConvertLinkTemplate template) throws Exception {
      if (template.getUid() == null || StringUtil.isNullOrEmpty(template.getTemplate()))
         throw new Exception("参数不完整");
      int maxCount = 5;
      // 判断数量
      long count = countByUid(template.getUid());
      if (count >= maxCount) {
         throw new Exception("数量超限");
      }
      verifyTemplate(template.getTemplate(), template.getUid());
      // 添加模板
      if (template.getCreateTime() == null)
         template.setCreateTime(new Date());
      template.setId(template.getUid() + "-"
            + StringUtil.Md5(UUID.randomUUID().toString() + "#" + System.currentTimeMillis()));
      userConvertLinkTemplateDao.save(template);
   }
}
package com.yeshi.fanli.service.impl.user;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import javax.annotation.Resource;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import com.yeshi.fanli.dao.user.UserConvertLinkTemplateDao;
import com.yeshi.fanli.entity.bus.user.UserConvertLinkTemplate;
import com.yeshi.fanli.service.inter.user.UserConvertLinkTemplateService;
import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService;
import com.yeshi.fanli.util.StringUtil;
@Service
public class UserConvertLinkTemplateServiceImpl implements UserConvertLinkTemplateService {
   @Resource
   private UserConvertLinkTemplateDao userConvertLinkTemplateDao;
   @Resource
   private UserVIPInfoService userVIPInfoService;
   @Resource
   private UserInfoExtraService userInfoExtraService;
   /**
    *
    * @Title: countByUid
    * @Description: 根据用户ID统计数量
    * @param uid
    * @return
    * long 返回类型
    * @throws
    */
   private long countByUid(Long uid) {
      Query query = new Query();
      query.addCriteria(Criteria.where("uid").is(uid));
      return userConvertLinkTemplateDao.count(query);
   }
   /**
    *
    * @Title: verifyTemplate
    * @Description: 验证模板内容是否正确
    * @param template
    * @param uid
    * @throws Exception
    * void 返回类型
    * @throws
    */
   private void verifyTemplate(String template, Long uid) throws Exception {
      if (StringUtil.isNullOrEmpty(template))
         throw new Exception("模板内容不能为空");
      if (template.length() > 140) {
         throw new Exception("最长为140个字");
      }
      if (template.contains("[邀请码]")) {
         String inviteCode = userInfoExtraService.getInviteCodeByUid(uid);
         if (StringUtil.isNullOrEmpty(inviteCode)) {
            throw new Exception("用户未激活,模板本不能出现[邀请码]");
         }
      }
   }
   @Override
   public List<UserConvertLinkTemplate> listByUid(Long uid) {
      Query query = new Query();
      query.addCriteria(Criteria.where("uid").is(uid).and("createTime").lte(new Date(System.currentTimeMillis()+1000*60*60*24L)));
      List<UserConvertLinkTemplate> templateList = userConvertLinkTemplateDao.findList(query);
      if (templateList != null) {
         String inviteCode = null;
         for (UserConvertLinkTemplate userConvertLinkTemplate : templateList) {
            // 替换邀请码
            if (userConvertLinkTemplate.getTemplate().contains("[邀请码]")) {
               if (inviteCode == null)
                  inviteCode = userInfoExtraService.getInviteCodeByUid(uid);
               userConvertLinkTemplate
                     .setContent(userConvertLinkTemplate.getTemplate().replace("[邀请码]", inviteCode));
            }
         }
      }
      return templateList;
   }
   @Override
   public void updateTemplate(UserConvertLinkTemplate template) throws Exception {
      if (template.getId() == null || StringUtil.isNullOrEmpty(template.getTemplate()))
         throw new Exception("参数不完整");
      UserConvertLinkTemplate oldTemplate = userConvertLinkTemplateDao.get(template.getId());
      if (oldTemplate == null)
         throw new Exception("模板不存在");
      verifyTemplate(template.getTemplate(), oldTemplate.getUid());
      oldTemplate.setTemplate(template.getTemplate());
      oldTemplate.setUpdateTime(new Date());
      userConvertLinkTemplateDao.save(oldTemplate);
   }
   @Override
   public void deleteConvertLinkTemplate(String id, Long uid) throws Exception {
      UserConvertLinkTemplate template = userConvertLinkTemplateDao.get(id);
      if (template != null && template.getUid().longValue() != uid)
         throw new Exception("只能删除属于自己的");
      userConvertLinkTemplateDao.delete(id);
   }
   @Override
   public void addConvertLinkTemplate(UserConvertLinkTemplate template) throws Exception {
      if (template.getUid() == null || StringUtil.isNullOrEmpty(template.getTemplate()))
         throw new Exception("参数不完整");
      int maxCount = 5;
      // 判断数量
      long count = countByUid(template.getUid());
      if (count >= maxCount) {
         throw new Exception("数量超限");
      }
      verifyTemplate(template.getTemplate(), template.getUid());
      // 添加模板
      if (template.getCreateTime() == null)
         template.setCreateTime(new Date());
      template.setId(template.getUid() + "-"
            + StringUtil.Md5(UUID.randomUUID().toString() + "#" + System.currentTimeMillis()));
      userConvertLinkTemplateDao.save(template);
   }
}