| | |
| | | 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); |
| | | } |
| | | |
| | | } |