123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- package com.qxgmat.service;
- import com.github.pagehelper.Page;
- import com.nuliji.tools.AbstractService;
- import com.nuliji.tools.exception.ParameterException;
- import com.nuliji.tools.exception.SystemException;
- import com.nuliji.tools.mybatis.Example;
- import com.qxgmat.data.dao.UserCollectExperienceMapper;
- import com.qxgmat.data.dao.entity.UserCollectExperience;
- import com.qxgmat.service.inline.CourseExperienceService;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import javax.annotation.Resource;
- import java.util.ArrayList;
- import java.util.Collection;
- import java.util.List;
- @Service
- public class UserCollectExperienceService extends AbstractService {
- private static final Logger logger = LoggerFactory.getLogger(UserCollectExperienceService.class);
- @Resource
- private UserCollectExperienceMapper userCollectExperienceMapper;
- @Resource
- private CourseExperienceService courseExperienceService;
- /**
- * 查询用户收藏情况
- * @param userId
- * @param experienceId
- * @return
- */
- public UserCollectExperience getByUserAndExperience(Integer userId, Integer experienceId){
- Example example = new Example(UserCollectExperience.class);
- example.and(
- example.createCriteria()
- .andEqualTo("userId", userId)
- .andEqualTo("experienceId", experienceId)
- );
- UserCollectExperience in = one(userCollectExperienceMapper, example);
- return in;
- }
- /**
- * 查询用户收藏情况:批量
- * @param userId
- * @param ids
- * @return
- */
- public List<UserCollectExperience> listByUserAndExperiences(Integer userId, Collection ids){
- if (ids == null || ids.size() == 0) return new ArrayList<>();
- Example example = new Example(UserCollectExperience.class);
- example.and(
- example.createCriteria()
- .andEqualTo("userId", userId)
- .andEqualTo("experienceId", ids)
- );
- return select(userCollectExperienceMapper, example);
- }
- /**
- * 收藏题目编号:包含题目id
- * @param entity
- * @return
- */
- @Transactional
- public UserCollectExperience addExperience(UserCollectExperience entity){
- Example example = new Example(UserCollectExperience.class);
- example.and(
- example.createCriteria()
- .andEqualTo("userId", entity.getUserId())
- .andEqualTo("experienceId", entity.getExperienceId())
- );
- UserCollectExperience in = one(userCollectExperienceMapper, example);
- if (in != null){
- return in;
- }
- int result = insert(userCollectExperienceMapper, entity);
- courseExperienceService.accumulation(entity.getExperienceId(), 0, 1);
- return entity;
- }
- /**
- * 取消收藏题目编号
- * @param userId
- * @param experienceId
- * @return
- */
- @Transactional
- public boolean deleteExperience(Integer userId, Integer experienceId){
- Example example = new Example(UserCollectExperience.class);
- example.and(
- example.createCriteria()
- .andEqualTo("userId", userId)
- .andEqualTo("experienceId", experienceId)
- );
- UserCollectExperience in = one(userCollectExperienceMapper, example);
- if (in == null){
- return true;
- }
- int result = delete(userCollectExperienceMapper, example);
- courseExperienceService.accumulation(in.getExperienceId(), 0, -1);
- return result > 0;
- }
- public UserCollectExperience add(UserCollectExperience collect){
- int result = insert(userCollectExperienceMapper, collect);
- collect = one(userCollectExperienceMapper, collect.getId());
- if(collect == null){
- throw new SystemException("收藏添加失败");
- }
- return collect;
- }
- public UserCollectExperience edit(UserCollectExperience collect){
- UserCollectExperience in = one(userCollectExperienceMapper, collect.getId());
- if(in == null){
- throw new ParameterException("收藏不存在");
- }
- int result = update(userCollectExperienceMapper, collect);
- return collect;
- }
- public boolean delete(Number id){
- UserCollectExperience in = one(userCollectExperienceMapper, id);
- if(in == null){
- throw new ParameterException("收藏不存在");
- }
- int result = delete(userCollectExperienceMapper, id);
- return result > 0;
- }
- public UserCollectExperience get(Number id){
- UserCollectExperience in = one(userCollectExperienceMapper, id);
- if(in == null){
- throw new ParameterException("收藏不存在");
- }
- return in;
- }
- public Page<UserCollectExperience> select(int page, int pageSize){
- return select(userCollectExperienceMapper, page, pageSize);
- }
- public Page<UserCollectExperience> select(Integer[] ids){
- return page(()->select(userCollectExperienceMapper, ids), 1, ids.length);
- }
- public List<UserCollectExperience> select(Collection ids){
- return select(userCollectExperienceMapper, ids);
- }
- }
|