Compare commits
2 Commits
971e4c42fb
...
d5fa78dce2
| Author | SHA1 | Date |
|---|---|---|
|
|
d5fa78dce2 | |
|
|
fa116ad31f |
|
|
@ -5,11 +5,8 @@ import com.kakarote.crm.service.ICrmQyfxjcjgService;
|
|||
import com.kakarote.crm.service.ICrmUserAnalyseService;
|
||||
import com.kakarote.crm.service.ICrmQyfxjcjgZbmxService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import java.io.IOException;
|
||||
import java.time.LocalDate;
|
||||
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/crmGetV3Data")
|
||||
|
|
@ -34,9 +31,9 @@ public class CrmGetV3SysRiskDataController {
|
|||
return Result.ok(crmQyfxjcjgZbmxService.getQyfxjcjgZbmxListByJcId(jcId));
|
||||
}
|
||||
|
||||
@PostMapping(value = "/getTaxPreCheckUsage/{queryDate}")
|
||||
public Result getTaxPreCheckUsage(@PathVariable("queryDate") @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate queryDate) throws IOException {
|
||||
return Result.ok(iCrmUserAnalyseService.addUserAnalyse(queryDate));
|
||||
@PostMapping(value = "/getTaxPreCheckUsage")
|
||||
public Result getTaxPreCheckUsage() throws IOException {
|
||||
return Result.ok(iCrmUserAnalyseService.addUserAnalyse());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ import com.kakarote.crm.constant.CrmEnum;
|
|||
import com.kakarote.crm.entity.BO.CrmSearchParamsBO;
|
||||
import com.kakarote.crm.entity.PO.CrmActivity;
|
||||
import com.kakarote.crm.entity.VO.CrmModelFiledVO;
|
||||
import com.kakarote.crm.mapper.CrmInstrumentMapper;
|
||||
import com.kakarote.crm.service.CrmInstrumentService;
|
||||
import com.kakarote.crm.service.ICrmInstrumentSortService;
|
||||
import com.kakarote.crm.service.ICrmUserAnalyseService;
|
||||
|
|
@ -64,7 +65,6 @@ public class CrmInstrumentController {
|
|||
private ICrmUserAnalyseService iCrmUserAnalyseService;
|
||||
|
||||
|
||||
|
||||
@PostMapping("/queryModelSort")
|
||||
@ApiOperation("查询模块排序")
|
||||
public Result<JSONObject> queryModelSort() {
|
||||
|
|
@ -308,4 +308,12 @@ public class CrmInstrumentController {
|
|||
|
||||
}
|
||||
|
||||
@PostMapping("/getTaxPreCheckUsage")
|
||||
@ApiOperation("获得税务预检使用情况")
|
||||
public Result<JSONObject> getTaxPreCheckUsage(@RequestBody BiParams biParams){
|
||||
System.out.println(biParams.getType());
|
||||
JSONObject jsonObject = instrumentService.getTaxPreCheckUsage(biParams);
|
||||
return R.ok(jsonObject);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ public class CrmInstrumentSort implements Serializable {
|
|||
@ApiModelProperty(value = "用户id")
|
||||
private Long userId;
|
||||
|
||||
@ApiModelProperty(value = "模块id 1、合同金额目标及完成情况 2、数据汇总 3、回款金额目标及完成情况 4、业绩指标完成率 5、销售漏斗 6、遗忘提醒 7、排行榜")
|
||||
@ApiModelProperty(value = "模块id 1、税务预检使用情况 2、合同金额目标及完成情况 3、数据汇总 4、回款金额目标及完成情况 5、业绩指标完成率 6、销售漏斗 7、遗忘提醒 8、排行榜")
|
||||
private Integer modelId;
|
||||
|
||||
@ApiModelProperty(value = "列 1左侧 2右侧")
|
||||
|
|
|
|||
|
|
@ -1,11 +1,31 @@
|
|||
package com.kakarote.crm.mapper;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.kakarote.core.servlet.BaseMapper;
|
||||
import com.kakarote.core.utils.BiTimeUtil;
|
||||
import com.kakarote.crm.entity.PO.CrmUserAnalyse;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@Mapper
|
||||
public interface CrmUserAnalyseMapper extends BaseMapper<CrmUserAnalyse> {
|
||||
|
||||
// 自定义按月汇总方法
|
||||
@Select("SELECT " +
|
||||
" COALESCE(SUM(hyyhs), 0) AS hyyhs, " +
|
||||
" COALESCE(SUM(syyhs), 0) AS syyhs, " +
|
||||
" COALESCE(SUM(add_user), 0) AS add_user, " +
|
||||
" COALESCE(SUM(add_qys), 0) AS add_qys " +
|
||||
"FROM wk_crm_user_analyse ${ew.customSqlSegment}")
|
||||
Map<String, Object> selectMonthlySummary(@Param(Constants.WRAPPER) Wrapper<CrmUserAnalyse> wrapper);
|
||||
|
||||
|
||||
public Map<String, Object> getTaxPreCheckUsage(@Param("time") BiTimeUtil.BiTimeEntity entity, @Param("data") JSONObject object);
|
||||
|
||||
public Map<String, Object> getTaxPreCheckUsageMonthly(@Param("data") JSONObject object);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,6 +14,35 @@
|
|||
<result column="creat_by" jdbcType="VARCHAR" property="createBy" />
|
||||
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
|
||||
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
|
||||
|
||||
</resultMap>
|
||||
|
||||
<select id="getTaxPreCheckUsage" resultType="java.util.HashMap">
|
||||
SELECT
|
||||
<choose>
|
||||
<when test="data.label == 1">syyhs</when>
|
||||
<when test="data.label == 2">hyyhs</when>
|
||||
<when test="data.label == 3">add_user</when>
|
||||
<when test="data.label == 4">add_qys</when>
|
||||
<otherwise>NULL</otherwise>
|
||||
</choose> AS value
|
||||
FROM wk_crm_user_analyse
|
||||
WHERE time = #{time.beginTime}
|
||||
ORDER BY time ASC
|
||||
</select>
|
||||
|
||||
<select id="getTaxPreCheckUsageMonthly" resultType="java.util.HashMap">
|
||||
SELECT
|
||||
COALESCE(SUM(
|
||||
<choose>
|
||||
<when test="data != null and data.label == 1">syyhs</when>
|
||||
<when test="data != null and data.label == 2">hyyhs</when>
|
||||
<when test="data != null and data.label == 3">add_user</when>
|
||||
<when test="data != null and data.label == 4">add_qys</when>
|
||||
<otherwise>0</otherwise>
|
||||
</choose>
|
||||
), 0) AS value
|
||||
FROM wk_crm_user_analyse
|
||||
WHERE time BETWEEN #{data.start} AND #{data.end}
|
||||
ORDER BY time ASC
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -73,4 +73,7 @@ public interface CrmInstrumentService {
|
|||
BasePage<Map<String, Object>> unContactCustomerPageList(BiParams biParams);
|
||||
|
||||
JSONObject importRecordList(MultipartFile file,Integer crmType);
|
||||
|
||||
//
|
||||
JSONObject getTaxPreCheckUsage(BiParams biParams);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,18 +1,22 @@
|
|||
package com.kakarote.crm.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.kakarote.core.feign.crm.entity.BiParams;
|
||||
import com.kakarote.core.servlet.BaseService;
|
||||
import com.kakarote.crm.entity.PO.CrmUserAnalyse;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
public interface ICrmUserAnalyseService extends BaseService<CrmUserAnalyse> {
|
||||
|
||||
|
||||
/**
|
||||
* 添加CrmUserAnalyse
|
||||
* @param queryDate
|
||||
* @return
|
||||
*/
|
||||
int addUserAnalyse(LocalDate queryDate) throws IOException;
|
||||
int addUserAnalyse() throws IOException;
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ import cn.hutool.core.util.StrUtil;
|
|||
import cn.hutool.poi.excel.BigExcelWriter;
|
||||
import cn.hutool.poi.excel.ExcelUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.kakarote.core.common.Const;
|
||||
import com.kakarote.core.common.FieldEnum;
|
||||
import com.kakarote.core.common.SystemCodeEnum;
|
||||
|
|
@ -25,6 +26,7 @@ import com.kakarote.core.feign.admin.entity.SimpleUser;
|
|||
import com.kakarote.core.feign.admin.service.AdminService;
|
||||
import com.kakarote.core.feign.crm.entity.BiAuthority;
|
||||
import com.kakarote.core.feign.crm.entity.BiParams;
|
||||
import com.kakarote.core.feign.crm.service.CrmUserAnalyseService;
|
||||
import com.kakarote.core.servlet.ApplicationContextHolder;
|
||||
import com.kakarote.core.utils.BiTimeUtil;
|
||||
import com.kakarote.core.utils.UserCacheUtil;
|
||||
|
|
@ -40,6 +42,7 @@ import com.kakarote.crm.entity.BO.CrmSearchParamsBO;
|
|||
import com.kakarote.crm.entity.PO.*;
|
||||
import com.kakarote.crm.mapper.CrmActivityMapper;
|
||||
import com.kakarote.crm.mapper.CrmInstrumentMapper;
|
||||
import com.kakarote.crm.mapper.CrmUserAnalyseMapper;
|
||||
import com.kakarote.crm.service.*;
|
||||
import org.apache.poi.ss.usermodel.*;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
|
@ -50,6 +53,9 @@ import java.io.File;
|
|||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.YearMonth;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
import java.util.stream.Collectors;
|
||||
|
|
@ -98,6 +104,9 @@ public class CrmInstrumentServiceImpl implements CrmInstrumentService {
|
|||
@Autowired
|
||||
private CrmActivityMapper crmActivityMapper;
|
||||
|
||||
@Autowired
|
||||
private CrmUserAnalyseMapper crmUserAnalyseMapper;
|
||||
|
||||
@Override
|
||||
public JSONObject queryBulletin(BiParams biParams) {
|
||||
BiTimeUtil.BiTimeEntity biTimeEntity = BiTimeUtil.analyzeTime(biParams);
|
||||
|
|
@ -893,4 +902,160 @@ public class CrmInstrumentServiceImpl implements CrmInstrumentService {
|
|||
throw new CrmException(SystemCodeEnum.SYSTEM_UPLOAD_FILE_ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject getTaxPreCheckUsage(BiParams biParams) {
|
||||
|
||||
BiTimeUtil.BiTimeEntity record = null;
|
||||
if (StrUtil.isNotEmpty(biParams.getType())) {
|
||||
//如果传入的时间是年,直接实例化record
|
||||
if ("year".equals(biParams.getType()) || "lastYear".equals(biParams.getType())) {
|
||||
record = BiTimeUtil.analyzeTime(biParams);//
|
||||
} else {
|
||||
//否则设置默认时间范围(近12个月)
|
||||
String endTime = DateUtil.format(new Date(), "yyyy-MM-dd");//
|
||||
String startTime = DateUtil.format(DateUtil.offsetMonth(new Date(), -12), "yyyy-MM-dd");
|
||||
biParams.setStartTime(startTime);
|
||||
biParams.setEndTime(endTime);
|
||||
}
|
||||
}
|
||||
if (StrUtil.isNotEmpty(biParams.getStartTime()) && StrUtil.isNotEmpty(biParams.getEndTime())) {
|
||||
Integer startMonth = Integer.valueOf(DateUtil.format(DateUtil.parse(biParams.getStartTime()), "yyyyMM"));
|
||||
Integer endMonth = Integer.valueOf(DateUtil.format(DateUtil.parse(biParams.getEndTime()), "yyyyMM"));
|
||||
if (endMonth - startMonth < 100) {
|
||||
String endTime = DateUtil.format(new Date(), "yyyy-MM-dd");
|
||||
String startTime = DateUtil.format(DateUtil.offsetMonth(new Date(), -12), "yyyy-MM-dd");
|
||||
biParams.setStartTime(startTime);
|
||||
biParams.setEndTime(endTime);
|
||||
}
|
||||
record = BiTimeUtil.analyzeTime(biParams);
|
||||
}
|
||||
|
||||
if (record == null) {
|
||||
return new JSONObject().fluentPut("list", new ArrayList<>());
|
||||
}
|
||||
|
||||
Integer cycleNum = record.getCycleNum(); // 获取周期总数(如12个月)
|
||||
Integer beginTime = record.getBeginTime(); // 获取起始时间(整数格式)
|
||||
List<Map<String, Object>> recordList = new ArrayList<>(); // 装有Map集合的结果数据集
|
||||
|
||||
System.out.println("开始时间:"+record.getBeginTime());
|
||||
System.out.println("结束时间:"+record.getFinalTime());
|
||||
System.out.println("开始时间:"+record.getBeginDate());
|
||||
System.out.println("结束时间:"+record.getEndDate());
|
||||
|
||||
if ("year".equals(biParams.getType())
|
||||
|| "lastYear".equals(biParams.getType())
|
||||
|| "quarter".equals(biParams.getType())
|
||||
|| "lastQuarter".equals(biParams.getType()) ){
|
||||
|
||||
for (int i = 1; i <= cycleNum; i++) {
|
||||
|
||||
Map<String, Object> objectMap = new HashMap<>();
|
||||
|
||||
// 1. 将 yyyyMM 转换为日期范围
|
||||
YearMonth yearMonth = parseYearMonth(record.getBeginTime());
|
||||
LocalDateTime start = yearMonth.atDay(1).atStartOfDay();
|
||||
LocalDateTime end = yearMonth.plusMonths(1).atDay(1).atStartOfDay();
|
||||
|
||||
if (biParams.getLabel() == 0){
|
||||
// 构建查询条件并执行查询
|
||||
QueryWrapper<CrmUserAnalyse> wrapper = new QueryWrapper<>();
|
||||
wrapper.between("time", start, end.minusNanos(1)); // 避免包含下个月第一天
|
||||
//objectMap = crmUserAnalyseMapper.selectMonthlySummary(wrapper);
|
||||
Map<String, Object> map = crmUserAnalyseMapper.selectMonthlySummary(wrapper);
|
||||
objectMap.put("value",map);
|
||||
} else {
|
||||
// 构建查询条件并执行查询
|
||||
JSONObject object = new JSONObject();
|
||||
object.put("label", biParams.getLabel());
|
||||
object.put("start", start);
|
||||
object.put("end", end.minusNanos(1));
|
||||
objectMap = crmUserAnalyseMapper.getTaxPreCheckUsageMonthly(object);
|
||||
}
|
||||
|
||||
//2.生成前端显示标签
|
||||
if (StrUtil.isNotEmpty(biParams.getType())) {
|
||||
if ("yyyyMMdd".equals(record.getDateFormat())) {
|
||||
objectMap.put("type", DateUtil.parse(beginTime.toString(), record.getDateFormat()).toDateStr().substring(5));
|
||||
} else if ("yyyyMM".equals(record.getDateFormat())) {
|
||||
objectMap.put("type", DateUtil.parse(beginTime.toString(), record.getDateFormat()).monthStartFromOne() + "月");
|
||||
}
|
||||
} else {
|
||||
objectMap.put("type", DateUtil.parse(beginTime.toString(), "yyyyMM").toString("yyyy-MM"));
|
||||
}
|
||||
|
||||
// 3.收集结果 & 时间递增
|
||||
recordList.add(objectMap);
|
||||
beginTime = BiTimeUtil.estimateTime(beginTime); //根据时间格式自动递增
|
||||
record.setBeginTime(beginTime);
|
||||
}
|
||||
|
||||
}else {
|
||||
|
||||
for (int i = 1; i <= cycleNum; i++) {
|
||||
|
||||
Map<String, Object> objectMap = new HashMap<>();
|
||||
|
||||
if (biParams.getLabel() == 0) {
|
||||
QueryWrapper<CrmUserAnalyse> wrapper = new QueryWrapper<>();
|
||||
wrapper.select("syyhs", "hyyhs", "add_qys", "add_user");
|
||||
wrapper.eq("time", record.getBeginTime());
|
||||
CrmUserAnalyse userAnalyse = Optional.ofNullable(crmUserAnalyseMapper.selectOne(wrapper))
|
||||
.orElse(new CrmUserAnalyse());
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("hyyhs", Optional.ofNullable(userAnalyse.getHyyhs()).orElse(0));
|
||||
map.put("syyhs", Optional.ofNullable(userAnalyse.getSyyhs()).orElse(0));
|
||||
map.put("addQys", Optional.ofNullable(userAnalyse.getAddQys()).orElse(0));
|
||||
map.put("addUser", Optional.ofNullable(userAnalyse.getAddUser()).orElse(0));
|
||||
objectMap.put("value", map);
|
||||
} else {
|
||||
// 1 执行数据库查询
|
||||
JSONObject object = new JSONObject();
|
||||
object.put("label", biParams.getLabel());
|
||||
//参数1:biParams.getLabel()
|
||||
//参数2,record.getBeginTime()
|
||||
//objectMap = crmInstrumentMapper.getTaxPreCheckUsage(record, object);
|
||||
objectMap = Optional.ofNullable(
|
||||
crmUserAnalyseMapper.getTaxPreCheckUsage(record, object)
|
||||
)
|
||||
.orElseGet(Collections::emptyMap) // 如果查询结果为null,使用空Map
|
||||
.entrySet() //一个map方法,用来遍历集合中的entry,里面放着k-v
|
||||
.stream()
|
||||
.collect(Collectors.toMap(
|
||||
Map.Entry::getKey,
|
||||
entry -> Optional.ofNullable(entry.getValue()).orElse(0) // 将null值转换为0
|
||||
));
|
||||
}
|
||||
|
||||
//2.生成前端显示标签
|
||||
if (StrUtil.isNotEmpty(biParams.getType())) {
|
||||
if ("yyyyMMdd".equals(record.getDateFormat())) {
|
||||
objectMap.put("type", DateUtil.parse(beginTime.toString(), record.getDateFormat()).toDateStr().substring(5));
|
||||
} else if ("yyyyMM".equals(record.getDateFormat())) {
|
||||
objectMap.put("type", DateUtil.parse(beginTime.toString(), record.getDateFormat()).monthStartFromOne() + "月");
|
||||
}
|
||||
} else {
|
||||
objectMap.put("type", DateUtil.parse(beginTime.toString(), "yyyyMM").toString("yyyy-MM"));
|
||||
}
|
||||
|
||||
|
||||
// 3.收集结果 & 时间递增
|
||||
recordList.add(objectMap);
|
||||
beginTime = BiTimeUtil.estimateTime(beginTime); //根据时间格式自动递增
|
||||
record.setBeginTime(beginTime);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// 构建最终返回结果
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("list", recordList);
|
||||
return jsonObject;
|
||||
}
|
||||
// 解析年月参数
|
||||
private YearMonth parseYearMonth(Integer monthParam) {
|
||||
String str = String.format("%06d", monthParam); // 确保6位数字
|
||||
return YearMonth.parse(str, DateTimeFormatter.ofPattern("yyyyMM"));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,11 +37,12 @@ public class CrmInstrumentSortServiceImpl extends BaseServiceImpl<CrmInstrumentS
|
|||
.eq(CrmInstrumentSort::getUserId, UserUtil.getUserId()).orderByAsc(CrmInstrumentSort::getSort).list();
|
||||
if (list.size() == 0) {
|
||||
list.add(new CrmInstrumentSort(1, 0, 1));
|
||||
list.add(new CrmInstrumentSort(5, 0, 1));
|
||||
list.add(new CrmInstrumentSort(7, 0, 1));
|
||||
list.add(new CrmInstrumentSort(2, 0, 2));
|
||||
list.add(new CrmInstrumentSort(4, 0, 2));
|
||||
list.add(new CrmInstrumentSort(6, 0, 2));
|
||||
list.add(new CrmInstrumentSort(2, 0, 1));
|
||||
list.add(new CrmInstrumentSort(6, 0, 1));
|
||||
list.add(new CrmInstrumentSort(8, 0, 1));
|
||||
list.add(new CrmInstrumentSort(3, 0, 2));
|
||||
list.add(new CrmInstrumentSort(5, 0, 2));
|
||||
list.add(new CrmInstrumentSort(7, 0, 2));
|
||||
}
|
||||
Map<Integer, List<CrmInstrumentSort>> collect = list.stream().collect(Collectors.groupingBy(CrmInstrumentSort::getList));
|
||||
return new JSONObject().fluentPut("left", collect.get(1)).fluentPut("right", collect.get(2));
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
package com.kakarote.crm.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.google.gson.Gson;
|
||||
import com.kakarote.core.feign.crm.entity.BiParams;
|
||||
import com.kakarote.core.servlet.BaseServiceImpl;
|
||||
import com.kakarote.crm.entity.DTO.CrmTaxPreCheckUsageDTO;
|
||||
import com.kakarote.crm.entity.PO.CrmUserAnalyse;
|
||||
|
|
@ -14,8 +17,12 @@ import org.springframework.stereotype.Service;
|
|||
|
||||
import java.io.IOException;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.Month;
|
||||
import java.time.ZoneId;
|
||||
import java.util.Date;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.TemporalAdjusters;
|
||||
import java.util.*;
|
||||
|
||||
@Service
|
||||
public class CrmUserAnalyseServiceImpl extends BaseServiceImpl<CrmUserAnalyseMapper, CrmUserAnalyse> implements ICrmUserAnalyseService {
|
||||
|
|
@ -27,7 +34,16 @@ public class CrmUserAnalyseServiceImpl extends BaseServiceImpl<CrmUserAnalyseMap
|
|||
private String BASE_URL;
|
||||
|
||||
@Override
|
||||
public int addUserAnalyse(LocalDate queryDate) throws IOException {
|
||||
public int addUserAnalyse() throws IOException {
|
||||
|
||||
//测试数据
|
||||
//LocalDate today = LocalDate.of(2023, 9, 28);
|
||||
|
||||
//获取当天凌晨1点的日期
|
||||
LocalDate today = LocalDate.now();
|
||||
|
||||
//再获取昨天的日期
|
||||
LocalDate queryDate = today.minusDays(1);
|
||||
|
||||
CrmUserAnalyse userAnalyse = getCrmUserAnalyse(queryDate);
|
||||
|
||||
|
|
@ -56,4 +72,5 @@ public class CrmUserAnalyseServiceImpl extends BaseServiceImpl<CrmUserAnalyseMap
|
|||
return userAnalyse;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue