Merge remote-tracking branch 'origin/test' into test
This commit is contained in:
commit
a58f429783
|
|
@ -9,7 +9,9 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.sqx.common.exception.SqxException;
|
||||
import com.sqx.modules.app.dao.UserDao;
|
||||
import com.sqx.modules.app.dao.UserMoneyDetailsDao;
|
||||
import com.sqx.modules.app.entity.UserEntity;
|
||||
import com.sqx.modules.app.entity.UserMoneyDetails;
|
||||
import com.sqx.modules.common.dao.CommonInfoDao;
|
||||
import com.sqx.modules.common.entity.CommonInfo;
|
||||
import com.sqx.modules.userSign.dao.UserSignRecordDao;
|
||||
|
|
@ -36,6 +38,9 @@ public class UserSignRecordServiceImpl extends ServiceImpl<UserSignRecordDao, Us
|
|||
@Autowired
|
||||
private UserDao userDao;
|
||||
|
||||
@Autowired
|
||||
private UserMoneyDetailsDao userMoneyDetailsDao;
|
||||
|
||||
@Override
|
||||
public UserSignDTO getUserSignData(long userId) {
|
||||
UserEntity currentUser = userDao.selectById(userId);
|
||||
|
|
@ -45,6 +50,7 @@ public class UserSignRecordServiceImpl extends ServiceImpl<UserSignRecordDao, Us
|
|||
dto.setMobile(currentUser.getPhone());
|
||||
dto.setSignDays(0);
|
||||
dto.setEnable(1);
|
||||
dto.setIsReceived(0);
|
||||
CommonInfo config = commonInfoDao.findOne(918);
|
||||
if (config == null) {
|
||||
throw new SqxException("签到活动配置不存在");
|
||||
|
|
@ -81,6 +87,8 @@ public class UserSignRecordServiceImpl extends ServiceImpl<UserSignRecordDao, Us
|
|||
//LocalDate endDay = LocalDate.parse(list.get(list.size() - 1).getSignDay(), DateTimeFormatter.ofPattern("yyyy-MM-dd")).plusDays(activeDays);
|
||||
LocalDate endDay = LocalDate.now().plusDays(activeDays - 1);
|
||||
flowDays = buildFlowDays(beginSignDay, endDay);
|
||||
// 需要移除的记录
|
||||
List<UserSignRecordDTO> removeList = new ArrayList<>();
|
||||
Map<String, Date> signMap = list.stream().collect(Collectors.toMap(UserSignRecord::getSignDay, UserSignRecord::getCreateTime));
|
||||
for (String day : flowDays) {
|
||||
Date date = signMap.get(day);
|
||||
|
|
@ -112,10 +120,20 @@ public class UserSignRecordServiceImpl extends ServiceImpl<UserSignRecordDao, Us
|
|||
if (signDays == activeDays) {
|
||||
break;
|
||||
}
|
||||
if (LocalDate.parse(record.getSignDay(), DateTimeFormatter.ofPattern("yyyy-MM-dd")).isEqual(endDay.plusDays(0 - signDays))) {
|
||||
if (LocalDate.parse(record.getSignDay(), DateTimeFormatter.ofPattern("yyyy-MM-dd")).isEqual(endDay)) {
|
||||
List<UserSignRecordDTO> tempList = CollUtil.reverseNew(recordList);
|
||||
Long isInclude = tempList.stream().filter(item -> DateUtil.today().equals(item.getSignDay()) && "1".equals(item.getStatus())).collect(Collectors.counting());
|
||||
int removeSize = signDays;
|
||||
if (isInclude > 0){
|
||||
removeSize = signDays - 1;
|
||||
}
|
||||
for (int i = 0; i < removeSize; i++) {
|
||||
removeList.add(tempList.get(i));
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
recordList.removeAll(removeList);
|
||||
Collections.reverse(recordList);
|
||||
recordList = recordList.stream().limit(activeDays).collect(Collectors.toList());
|
||||
Collections.reverse(recordList);
|
||||
|
|
@ -130,6 +148,20 @@ public class UserSignRecordServiceImpl extends ServiceImpl<UserSignRecordDao, Us
|
|||
if (signDays >= activeDays) {
|
||||
dto.setEnable(0);
|
||||
}
|
||||
int count = userMoneyDetailsDao.selectCount(
|
||||
Wrappers.<UserMoneyDetails>lambdaQuery()
|
||||
.eq(UserMoneyDetails::getUserId, userId)
|
||||
.eq(UserMoneyDetails::getType, 1)
|
||||
.eq(UserMoneyDetails::getClassify, 7)
|
||||
.eq(UserMoneyDetails::getMoneyType, 1)
|
||||
.likeLeft(UserMoneyDetails::getTitle, "[连续签到")
|
||||
.likeRight(UserMoneyDetails::getTitle, "天]")
|
||||
);
|
||||
if (count > 0) {
|
||||
dto.setIsReceived(1);
|
||||
} else {
|
||||
dto.setIsReceived(0);
|
||||
}
|
||||
return dto;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue