|
|
@@ -1,6 +1,9 @@
|
|
|
package com.jzg.service.Impl;
|
|
|
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
|
+import cn.hutool.core.date.DatePattern;
|
|
|
+import cn.hutool.core.date.DateUtil;
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
import cn.hutool.json.JSONUtil;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
@@ -26,10 +29,7 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
@@ -57,35 +57,69 @@ public class PartnerPremiumDetailsServiceImpl extends ServiceImpl<PartnerPremium
|
|
|
* @author lipf
|
|
|
* @date 2026/4/15 14:58
|
|
|
*/
|
|
|
- @Override
|
|
|
public IPage queryPage(PartnerDetailsParam detailsParam) {
|
|
|
log.info("查询佣金明细:detailsParam=[{}]", JSONUtil.toJsonStr(detailsParam));
|
|
|
QueryWrapper<PartnerPremiumDetails> queryWrapper = new QueryWrapper<>();
|
|
|
-
|
|
|
- queryWrapper.like(StringUtils.isNotBlank(detailsParam.getUserName()), "info.`name`",detailsParam.getUserName());
|
|
|
- queryWrapper.like(StringUtils.isNotBlank(detailsParam.getMobile()), "u.mobile",detailsParam.getMobile());
|
|
|
- queryWrapper.like(StringUtils.isNotBlank(detailsParam.getUserId()), "d.user_id",detailsParam.getUserId());
|
|
|
- queryWrapper.like(StringUtils.isNotBlank(detailsParam.getOrderno()), "d.orderno",detailsParam.getOrderno());
|
|
|
- queryWrapper.like(StringUtils.isNotBlank(detailsParam.getLicenseno()), "d.licenseno",detailsParam.getLicenseno());
|
|
|
- if (CollectionUtil.isNotEmpty(detailsParam.getSigningTime())){
|
|
|
- String startTime = detailsParam.getSigningTime().get(0);
|
|
|
- String endTime = null;
|
|
|
- if (detailsParam.getSigningTime().size() >= 2){
|
|
|
- endTime = detailsParam.getSigningTime().get(1);
|
|
|
- }
|
|
|
- if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
|
|
|
+ // 拼接查询条件
|
|
|
+ queryWrapper.like(StrUtil.isNotBlank(detailsParam.getUserName()), "info.`name`", detailsParam.getUserName());
|
|
|
+ queryWrapper.like(StrUtil.isNotBlank(detailsParam.getMobile()), "u.mobile", detailsParam.getMobile());
|
|
|
+ queryWrapper.like(StrUtil.isNotBlank(detailsParam.getUserId()), "d.user_id", detailsParam.getUserId());
|
|
|
+ queryWrapper.like(StrUtil.isNotBlank(detailsParam.getOrderno()), "d.orderno", detailsParam.getOrderno());
|
|
|
+ queryWrapper.like(StrUtil.isNotBlank(detailsParam.getLicenseno()), "d.licenseno", detailsParam.getLicenseno());
|
|
|
+ List<String> signingTime = detailsParam.getSigningTime();
|
|
|
+ if (CollectionUtil.isNotEmpty(signingTime)) {
|
|
|
+ String startTime = signingTime.size() > 0 ? signingTime.get(0) : null;
|
|
|
+ String endTime = signingTime.size() > 1 ? signingTime.get(1) : null;
|
|
|
+ startTime = formatStartTime(startTime);
|
|
|
+ endTime = formatEndTime(endTime);
|
|
|
+ if (StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)) {
|
|
|
queryWrapper.between("d.create_time", startTime, endTime);
|
|
|
- } else if (startTime != null) {
|
|
|
+ } else if (StrUtil.isNotBlank(startTime)) {
|
|
|
queryWrapper.ge("d.create_time", startTime);
|
|
|
- } else if (endTime != null) {
|
|
|
+ } else if (StrUtil.isNotBlank(endTime)) {
|
|
|
queryWrapper.le("d.create_time", endTime);
|
|
|
}
|
|
|
}
|
|
|
- queryWrapper.orderByDesc("d.create_time");
|
|
|
queryWrapper.eq("d.status", 1);
|
|
|
+ queryWrapper.orderByDesc("d.create_time");
|
|
|
return baseMapper.queryPage(detailsParam.getPage(), queryWrapper);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 格式化开始时间:没有时分秒则补 00:00:00
|
|
|
+ */
|
|
|
+ private String formatStartTime(String timeStr) {
|
|
|
+ if (StrUtil.isBlank(timeStr)) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ Date date = DateUtil.parse(timeStr);
|
|
|
+ return DateUtil.format(date, DatePattern.NORM_DATETIME_PATTERN);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.warn("开始时间格式异常: {}", timeStr);
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 格式化结束时间:没有时分秒则补 23:59:59
|
|
|
+ */
|
|
|
+ private String formatEndTime(String timeStr) {
|
|
|
+ if (StrUtil.isBlank(timeStr)) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ Date date = DateUtil.parse(timeStr);
|
|
|
+ if (timeStr.length() <= 10) {
|
|
|
+ date = DateUtil.endOfDay(date);
|
|
|
+ }
|
|
|
+ return DateUtil.format(date, DatePattern.NORM_DATETIME_PATTERN);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.warn("结束时间格式异常: {}", timeStr);
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public JSONObject queryExpiredLockRecords(PartnerDetailsParam detailsParam) {
|
|
|
LambdaQueryWrapper<PartnerPremiumDetails> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|