|
@@ -1,10 +1,9 @@
|
|
|
-package com.zzys.lightting.user.service.impl;
|
|
|
+package com.zzys.lightting.combination.service.impl;
|
|
|
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
-import cn.hutool.core.util.PageUtil;
|
|
|
-import com.zzys.lightting.user.dao.model.UserListenRecord;
|
|
|
-import com.zzys.lightting.user.dao.repository.UserListenRecordRepository;
|
|
|
-import com.zzys.lightting.user.service.UserListenRecordService;
|
|
|
+import com.zzys.lightting.combination.model.CombinationRecord;
|
|
|
+import com.zzys.lightting.combination.repository.CombinationRecordRepository;
|
|
|
+import com.zzys.lightting.combination.service.CombinationRecordService;
|
|
|
import com.zzys.lightting.utils.Constant;
|
|
|
import com.zzys.lightting.utils.EscapeUtil;
|
|
|
import com.zzys.lightting.utils.PageRequestUtil;
|
|
@@ -15,12 +14,8 @@ import org.springframework.data.domain.Page;
|
|
|
import org.springframework.data.jpa.domain.Specification;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import javax.persistence.criteria.CriteriaBuilder;
|
|
|
-import javax.persistence.criteria.CriteriaQuery;
|
|
|
import javax.persistence.criteria.Predicate;
|
|
|
-import javax.persistence.criteria.Root;
|
|
|
import java.util.ArrayList;
|
|
|
-import java.util.Arrays;
|
|
|
import java.util.List;
|
|
|
|
|
|
/**
|
|
@@ -29,47 +24,41 @@ import java.util.List;
|
|
|
* @Date: 2025/1/21
|
|
|
*/
|
|
|
@Service
|
|
|
-public class UserListenRecordServiceImpl implements UserListenRecordService {
|
|
|
+public class CombinationRecordServiceImpl implements CombinationRecordService {
|
|
|
|
|
|
@Autowired
|
|
|
- private UserListenRecordRepository repository;
|
|
|
+ private CombinationRecordRepository repository;
|
|
|
|
|
|
|
|
|
@Override
|
|
|
- public UserListenRecord saveRecord(UserListenRecord record) {
|
|
|
+ public CombinationRecord saveRecord(CombinationRecord record) {
|
|
|
record.setCreateTime(DateUtil.now());
|
|
|
- record.setListenStatus(Constant.DEFAULT_VALUE_ONE);
|
|
|
+ record.setCombinationStatus(Constant.DEFAULT_VALUE_ONE);
|
|
|
return repository.save(record);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public UserListenRecord findById(String recordId) {
|
|
|
+ public CombinationRecord findById(String recordId) {
|
|
|
return repository.findById(recordId).orElse(null);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public UserListenRecord finishRecord(UserListenRecord record) {
|
|
|
+ public CombinationRecord finishRecord(CombinationRecord record) {
|
|
|
record.setUpdateTime(DateUtil.now());
|
|
|
- record.setListenStatus(Constant.DEFAULT_VALUE_ZERO);
|
|
|
+ record.setCombinationStatus(Constant.DEFAULT_VALUE_ZERO);
|
|
|
return repository.save(record);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Page<UserListenRecord> findListByPage(UserListenRecord record, int pageSize, int pageNum) {
|
|
|
+ public Page<CombinationRecord> findListByPage(CombinationRecord record, int pageSize, int pageNum) {
|
|
|
|
|
|
- Page<UserListenRecord> page = null;
|
|
|
+ Page<CombinationRecord> page = null;
|
|
|
if (record == null){
|
|
|
page = repository.findAll(PageRequestUtil.of(pageNum,pageSize));
|
|
|
}else {
|
|
|
//处理条件
|
|
|
- Specification<UserListenRecord> specification = ((root, query, criteriaBuilder) -> {
|
|
|
+ Specification<CombinationRecord> specification = ((root, query, criteriaBuilder) -> {
|
|
|
List<Predicate> list = new ArrayList<>();
|
|
|
- if (StringUtils.isNotEmpty(record.getMusicId())){
|
|
|
- list.add(criteriaBuilder.equal(root.get("musicId"),record.getMusicId()));
|
|
|
- }
|
|
|
- if (StringUtils.isNotEmpty(record.getTypeId())){
|
|
|
- list.add(criteriaBuilder.equal(root.get("typeId"),record.getTypeId()));
|
|
|
- }
|
|
|
if (StringUtils.isNotEmpty(record.getOrgNo())){
|
|
|
String orgNo2 = EscapeUtil.escapeChar(record.getOrgNo());
|
|
|
list.add(criteriaBuilder.like(root.get("orgNo"),"%"+orgNo2+"%"));
|
|
@@ -82,8 +71,12 @@ public class UserListenRecordServiceImpl implements UserListenRecordService {
|
|
|
String userName2 = EscapeUtil.escapeChar(record.getUserName());
|
|
|
list.add(criteriaBuilder.like(root.get("userName"),"%"+userName2+"%"));
|
|
|
}
|
|
|
+ if (StringUtils.isNotEmpty(record.getUserName())){
|
|
|
+ String userName2 = EscapeUtil.escapeChar(record.getUserName());
|
|
|
+ list.add(criteriaBuilder.like(root.get("userName"),"%"+userName2+"%"));
|
|
|
+ }
|
|
|
|
|
|
- list.add(criteriaBuilder.equal(root.get("listenStatus"), Constant.DEFAULT_VALUE_ONE));
|
|
|
+ list.add(criteriaBuilder.equal(root.get("combinationStatus"), Constant.DEFAULT_VALUE_ONE));
|
|
|
query.where(criteriaBuilder.and(list.toArray(new Predicate[list.size()])));
|
|
|
query.orderBy(criteriaBuilder.asc(root.get("createTime")));
|
|
|
return query.getRestriction();
|
|
@@ -92,7 +85,7 @@ public class UserListenRecordServiceImpl implements UserListenRecordService {
|
|
|
}
|
|
|
//处理时间
|
|
|
if (CollectionUtils.isNotEmpty(page.getContent())){
|
|
|
- for (UserListenRecord userListenRecord : page.getContent()) {
|
|
|
+ for (CombinationRecord userListenRecord : page.getContent()) {
|
|
|
//计算用时
|
|
|
String userTime = DateUtil.formatBetween(DateUtil.parse(userListenRecord.getCreateTime()),DateUtil.parse(userListenRecord.getUpdateTime()));
|
|
|
userListenRecord.setListenTime(userTime);
|