Compare commits
4 Commits
6b9fe3874b
...
fb04836336
Author | SHA1 | Date | |
---|---|---|---|
fb04836336 | |||
e1a3b531cd | |||
088fd9df0f | |||
90ecdcfffe |
@ -3,7 +3,7 @@
|
|||||||
spring:
|
spring:
|
||||||
cloud:
|
cloud:
|
||||||
nacos:
|
nacos:
|
||||||
server-addr: crm.fjptzykj.com:8849
|
server-addr: 127.0.0.1:8848
|
||||||
discovery:
|
discovery:
|
||||||
namespace: dev # 命名空间。这里使用 dev 开发环境
|
namespace: dev # 命名空间。这里使用 dev 开发环境
|
||||||
metadata:
|
metadata:
|
||||||
@ -16,7 +16,7 @@ spring:
|
|||||||
nacos:
|
nacos:
|
||||||
# Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
|
# Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
|
||||||
config:
|
config:
|
||||||
server-addr: crm.fjptzykj.com:8849 # Nacos 服务器地址
|
server-addr: 127.0.0.1:8848 # Nacos 服务器地址
|
||||||
namespace: dev # 命名空间 dev 的ID,不能直接使用 dev 名称。创建命名空间的时候需要指定ID为 dev,这里使用 dev 开发环境
|
namespace: dev # 命名空间 dev 的ID,不能直接使用 dev 名称。创建命名空间的时候需要指定ID为 dev,这里使用 dev 开发环境
|
||||||
group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
|
group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
|
||||||
name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
|
name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
|
||||||
|
@ -247,8 +247,8 @@ public class VehicleAccessApi {
|
|||||||
|
|
||||||
// 创建分页请求
|
// 创建分页请求
|
||||||
Pageable pageable = PageRequest.of(page, 4);
|
Pageable pageable = PageRequest.of(page, 4);
|
||||||
Page<VehicleRecord> recordOfAccessList = vehicleRecordRepository.findByCreateTimeBetweenOrderByCreateTimeAsc(startOfDay, endOfDay, pageable);
|
// Page<VehicleRecord> recordOfAccessList = vehicleRecordRepository.findByCreateTimeBetweenOrderByCreateTimeAsc(startOfDay, endOfDay, pageable);
|
||||||
|
Page<VehicleRecord> recordOfAccessList = vehicleRecordRepository.findAll(pageable); // TODO 暂时获取全部数据分页
|
||||||
return ResponseVO.success(200,"",recordOfAccessList,total);
|
return ResponseVO.success(200,"",recordOfAccessList,total);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
spring:
|
spring:
|
||||||
cloud:
|
cloud:
|
||||||
nacos:
|
nacos:
|
||||||
server-addr: crm.fjptzykj.com:8849
|
server-addr: 127.0.0.1:8848
|
||||||
discovery:
|
discovery:
|
||||||
namespace: dev # 命名空间。这里使用 dev 开发环境
|
namespace: dev # 命名空间。这里使用 dev 开发环境
|
||||||
metadata:
|
metadata:
|
||||||
@ -16,7 +16,7 @@ spring:
|
|||||||
nacos:
|
nacos:
|
||||||
# Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
|
# Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
|
||||||
config:
|
config:
|
||||||
server-addr: crm.fjptzykj.com:8849 # Nacos 服务器地址
|
server-addr: 127.0.0.1:8848 # Nacos 服务器地址
|
||||||
namespace: dev # 命名空间 dev 的ID,不能直接使用 dev 名称。创建命名空间的时候需要指定ID为 dev,这里使用 dev 开发环境
|
namespace: dev # 命名空间 dev 的ID,不能直接使用 dev 名称。创建命名空间的时候需要指定ID为 dev,这里使用 dev 开发环境
|
||||||
group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
|
group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
|
||||||
name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
|
name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
|
||||||
|
@ -57,7 +57,7 @@ public class AreaController {
|
|||||||
@Operation(summary = "删除区域列表")
|
@Operation(summary = "删除区域列表")
|
||||||
@Parameter(name = "id", description = "编号", required = true)
|
@Parameter(name = "id", description = "编号", required = true)
|
||||||
@PreAuthorize("@ss.hasPermission('parking:area:delete')")
|
@PreAuthorize("@ss.hasPermission('parking:area:delete')")
|
||||||
public CommonResult<Boolean> deleteArea(@RequestParam("id") Integer id) {
|
public CommonResult<Boolean> deleteArea(@RequestParam("id") Long id) {
|
||||||
areaService.deleteArea(id);
|
areaService.deleteArea(id);
|
||||||
return success(true);
|
return success(true);
|
||||||
}
|
}
|
||||||
@ -66,7 +66,7 @@ public class AreaController {
|
|||||||
@Operation(summary = "获得区域列表")
|
@Operation(summary = "获得区域列表")
|
||||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||||
@PreAuthorize("@ss.hasPermission('parking:area:query')")
|
@PreAuthorize("@ss.hasPermission('parking:area:query')")
|
||||||
public CommonResult<AreaRespVO> getArea(@RequestParam("id") Integer id) {
|
public CommonResult<AreaRespVO> getArea(@RequestParam("id") Long id) {
|
||||||
AreaDO area = areaService.getArea(id);
|
AreaDO area = areaService.getArea(id);
|
||||||
return success(BeanUtils.toBean(area, AreaRespVO.class));
|
return success(BeanUtils.toBean(area, AreaRespVO.class));
|
||||||
}
|
}
|
||||||
|
@ -15,6 +15,9 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
|
|||||||
@ToString(callSuper = true)
|
@ToString(callSuper = true)
|
||||||
public class AreaPageReqVO extends PageParam {
|
public class AreaPageReqVO extends PageParam {
|
||||||
|
|
||||||
|
@Schema(description = "区域Id", example = "27272")
|
||||||
|
private Integer areaId;
|
||||||
|
|
||||||
@Schema(description = "场库编号")
|
@Schema(description = "场库编号")
|
||||||
private String parkNumber;
|
private String parkNumber;
|
||||||
|
|
||||||
|
@ -6,8 +6,10 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|||||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||||
import cn.iocoder.yudao.module.parking.dal.dataobject.area.AreaDO;
|
import cn.iocoder.yudao.module.parking.dal.dataobject.area.AreaDO;
|
||||||
|
import org.apache.ibatis.annotations.Delete;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import cn.iocoder.yudao.module.parking.controller.admin.area.vo.*;
|
import cn.iocoder.yudao.module.parking.controller.admin.area.vo.*;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 区域列表 Mapper
|
* 区域列表 Mapper
|
||||||
@ -26,7 +28,9 @@ public interface AreaMapper extends BaseMapperX<AreaDO> {
|
|||||||
.eqIfPresent(AreaDO::getBookSpaceCount, reqVO.getBookSpaceCount())
|
.eqIfPresent(AreaDO::getBookSpaceCount, reqVO.getBookSpaceCount())
|
||||||
.eqIfPresent(AreaDO::getBookInParkCount, reqVO.getBookInParkCount())
|
.eqIfPresent(AreaDO::getBookInParkCount, reqVO.getBookInParkCount())
|
||||||
.betweenIfPresent(AreaDO::getCreateTime, reqVO.getCreateTime())
|
.betweenIfPresent(AreaDO::getCreateTime, reqVO.getCreateTime())
|
||||||
.orderByDesc(AreaDO::getAreaId));
|
.eqIfPresent(AreaDO::getAreaId, reqVO.getAreaId())
|
||||||
|
.orderByDesc(AreaDO::getId));
|
||||||
}
|
}
|
||||||
|
@Delete("DELETE FROM `area` WHERE `park_number` = #{parkNumber}")
|
||||||
|
int physicalDeleteByParkNumber(@Param("parkNumber") String parkNumber);
|
||||||
}
|
}
|
@ -41,7 +41,7 @@ public interface AreaService {
|
|||||||
*
|
*
|
||||||
* @param id 编号
|
* @param id 编号
|
||||||
*/
|
*/
|
||||||
void deleteArea(Integer id);
|
void deleteArea(Long id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获得区域列表
|
* 获得区域列表
|
||||||
@ -49,7 +49,7 @@ public interface AreaService {
|
|||||||
* @param id 编号
|
* @param id 编号
|
||||||
* @return 区域列表
|
* @return 区域列表
|
||||||
*/
|
*/
|
||||||
AreaDO getArea(Integer id);
|
AreaDO getArea(Long id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获得区域列表分页
|
* 获得区域列表分页
|
||||||
@ -59,10 +59,11 @@ public interface AreaService {
|
|||||||
*/
|
*/
|
||||||
PageResult<AreaDO> getAreaPage(AreaPageReqVO pageReqVO);
|
PageResult<AreaDO> getAreaPage(AreaPageReqVO pageReqVO);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建或更新区域(批量)
|
* 根据场库编号创建或更新区域(批量)
|
||||||
* @param areaList
|
* @param areaList
|
||||||
* @return java.lang.Boolean
|
* @return java.lang.Boolean
|
||||||
*/
|
*/
|
||||||
Boolean createOrUpdateAreaBatch(ArrayList<AreaSaveReqVO> areaList);
|
Boolean updateAreaBatchByParkNumber(ArrayList<AreaSaveReqVO> areaList);
|
||||||
}
|
}
|
@ -1,5 +1,6 @@
|
|||||||
package cn.iocoder.yudao.module.parking.service.area;
|
package cn.iocoder.yudao.module.parking.service.area;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
@ -48,28 +49,28 @@ public class AreaServiceImpl implements AreaService {
|
|||||||
@Override
|
@Override
|
||||||
public void updateArea(AreaSaveReqVO updateReqVO) {
|
public void updateArea(AreaSaveReqVO updateReqVO) {
|
||||||
// 校验存在
|
// 校验存在
|
||||||
validateAreaExists(updateReqVO.getAreaId());
|
validateAreaExists(updateReqVO.getId());
|
||||||
// 更新
|
// 更新
|
||||||
AreaDO updateObj = BeanUtils.toBean(updateReqVO, AreaDO.class);
|
AreaDO updateObj = BeanUtils.toBean(updateReqVO, AreaDO.class);
|
||||||
areaMapper.updateById(updateObj);
|
areaMapper.updateById(updateObj);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deleteArea(Integer id) {
|
public void deleteArea(Long id) {
|
||||||
// 校验存在
|
// 校验存在
|
||||||
validateAreaExists(id);
|
validateAreaExists(id);
|
||||||
// 删除
|
// 删除
|
||||||
areaMapper.deleteById(id);
|
areaMapper.deleteById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void validateAreaExists(Integer id) {
|
private void validateAreaExists(Long id) {
|
||||||
if (areaMapper.selectById(id) == null) {
|
if (areaMapper.selectById(id) == null) {
|
||||||
throw exception(AREA_NOT_EXISTS);
|
throw exception(AREA_NOT_EXISTS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AreaDO getArea(Integer id) {
|
public AreaDO getArea(Long id) {
|
||||||
return areaMapper.selectById(id);
|
return areaMapper.selectById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -79,8 +80,15 @@ public class AreaServiceImpl implements AreaService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean createOrUpdateAreaBatch(ArrayList<AreaSaveReqVO> areaList) {
|
@Transactional(rollbackFor = Exception.class)
|
||||||
return areaMapper.insertOrUpdateBatch(BeanUtils.toBean(areaList, AreaDO.class));
|
public Boolean updateAreaBatchByParkNumber(ArrayList<AreaSaveReqVO> areaList) {
|
||||||
|
if (areaList == null || areaList.isEmpty()){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
areaMapper.physicalDeleteByParkNumber(areaList.get(0).getParkNumber());
|
||||||
|
areaMapper.insertBatch(BeanUtils.toBean(areaList, AreaDO.class));
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
@ -85,7 +85,7 @@ public class HeartbeatServiceImpl implements HeartbeatService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public BlueCardResult doHeartbeat(HeartbeatReqDataVO blueCardHeartbeat) {
|
public BlueCardResult doHeartbeat(HeartbeatReqDataVO blueCardHeartbeat) {
|
||||||
try {
|
try {
|
||||||
ArrayList<AreaSaveReqVO> areaList = blueCardHeartbeat.getAreaList();
|
ArrayList<AreaSaveReqVO> areaList = blueCardHeartbeat.getAreaList();
|
||||||
@ -104,9 +104,8 @@ public class HeartbeatServiceImpl implements HeartbeatService {
|
|||||||
if (!areaList.isEmpty()){
|
if (!areaList.isEmpty()){
|
||||||
// 对区域都添加停车场库编号
|
// 对区域都添加停车场库编号
|
||||||
areaList.forEach(item -> item.setParkNumber(blueCardHeartbeat.getParkNumber()));
|
areaList.forEach(item -> item.setParkNumber(blueCardHeartbeat.getParkNumber()));
|
||||||
// 写入区域信息
|
// 更新区域信息
|
||||||
// TODO 判断重复及处理方式
|
areaService.updateAreaBatchByParkNumber(areaList);
|
||||||
areaService.createOrUpdateAreaBatch(areaList);
|
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
// 手动设置回滚
|
// 手动设置回滚
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
spring:
|
spring:
|
||||||
cloud:
|
cloud:
|
||||||
nacos:
|
nacos:
|
||||||
server-addr: crm.fjptzykj.com:8849
|
server-addr: 127.0.0.1:8848
|
||||||
discovery:
|
discovery:
|
||||||
namespace: dev # 命名空间。这里使用 dev 开发环境
|
namespace: dev # 命名空间。这里使用 dev 开发环境
|
||||||
metadata:
|
metadata:
|
||||||
@ -16,7 +16,7 @@ spring:
|
|||||||
nacos:
|
nacos:
|
||||||
# Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
|
# Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
|
||||||
config:
|
config:
|
||||||
server-addr: crm.fjptzykj.com:8849 # Nacos 服务器地址
|
server-addr: 127.0.0.1:8848 # Nacos 服务器地址
|
||||||
namespace: dev # 命名空间 dev 的ID,不能直接使用 dev 名称。创建命名空间的时候需要指定ID为 dev,这里使用 dev 开发环境
|
namespace: dev # 命名空间 dev 的ID,不能直接使用 dev 名称。创建命名空间的时候需要指定ID为 dev,这里使用 dev 开发环境
|
||||||
group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
|
group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
|
||||||
name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
|
name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
spring:
|
spring:
|
||||||
cloud:
|
cloud:
|
||||||
nacos:
|
nacos:
|
||||||
server-addr: crm.fjptzykj.com:8849
|
server-addr: 127.0.0.1:8848
|
||||||
discovery:
|
discovery:
|
||||||
namespace: dev # 命名空间。这里使用 dev 开发环境
|
namespace: dev # 命名空间。这里使用 dev 开发环境
|
||||||
metadata:
|
metadata:
|
||||||
@ -16,7 +16,7 @@ spring:
|
|||||||
nacos:
|
nacos:
|
||||||
# Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
|
# Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
|
||||||
config:
|
config:
|
||||||
server-addr: crm.fjptzykj.com:8849 # Nacos 服务器地址
|
server-addr: 127.0.0.1:8848 # Nacos 服务器地址
|
||||||
namespace: dev # 命名空间 dev 的ID,不能直接使用 dev 名称。创建命名空间的时候需要指定ID为 dev,这里使用 dev 开发环境
|
namespace: dev # 命名空间 dev 的ID,不能直接使用 dev 名称。创建命名空间的时候需要指定ID为 dev,这里使用 dev 开发环境
|
||||||
group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
|
group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
|
||||||
name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
|
name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
spring:
|
spring:
|
||||||
cloud:
|
cloud:
|
||||||
nacos:
|
nacos:
|
||||||
server-addr: crm.fjptzykj.com:8849
|
server-addr: 127.0.0.1:8848
|
||||||
discovery:
|
discovery:
|
||||||
namespace: dev
|
namespace: dev
|
||||||
|
|
||||||
@ -14,7 +14,7 @@ spring:
|
|||||||
nacos:
|
nacos:
|
||||||
# Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
|
# Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
|
||||||
config:
|
config:
|
||||||
server-addr: crm.fjptzykj.com:8849 # Nacos 服务器地址
|
server-addr: 127.0.0.1:8848 # Nacos 服务器地址
|
||||||
namespace: dev
|
namespace: dev
|
||||||
group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
|
group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
|
||||||
name: # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
|
name: # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package cn.iocoder.yudao.module.infra.job.ticketing;
|
package cn.iocoder.yudao.module.infra.job.ticketing;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DatePattern;
|
||||||
import cn.hutool.http.HttpUtil;
|
import cn.hutool.http.HttpUtil;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import cn.iocoder.yudao.framework.common.util.date.TickingDateUtils;
|
import cn.iocoder.yudao.framework.common.util.date.TickingDateUtils;
|
||||||
@ -26,6 +27,9 @@ import org.springframework.stereotype.Component;
|
|||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.Calendar;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@ -190,6 +194,114 @@ public class TicketDataMigration {
|
|||||||
XxlJobHelper.log("抽数服务:检票数据抽数正常结束!总共:{}条数据,{}条数据重复,{}条数据插入成功!", totalRows, duplicatesCount, successCount);
|
XxlJobHelper.log("抽数服务:检票数据抽数正常结束!总共:{}条数据,{}条数据重复,{}条数据插入成功!", totalRows, duplicatesCount, successCount);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@XxlJob("getCheckTicketByMongoDBLastMonthToNow")
|
||||||
|
public void getCheckTicketByMongoDBLastMonthToNow() throws Exception {
|
||||||
|
XxlJobHelper.log("抽数服务:mongodb检票数据开始抽数...");
|
||||||
|
|
||||||
|
int successCount;
|
||||||
|
int duplicatesCount;
|
||||||
|
int pageNumber;
|
||||||
|
// 获取当前日期
|
||||||
|
Calendar startDate = Calendar.getInstance();
|
||||||
|
// 设置开始日期为上一个月的第一天
|
||||||
|
startDate.set(Calendar.DAY_OF_MONTH, 1); // 先将日期设置为当前月的第一天
|
||||||
|
startDate.add(Calendar.MONTH, -1); // 然后减去一个月
|
||||||
|
|
||||||
|
// 设置结束日期为今天
|
||||||
|
Calendar endDate = Calendar.getInstance();
|
||||||
|
|
||||||
|
// 循环从开始日期到结束日期
|
||||||
|
while (!startDate.after(endDate)) {
|
||||||
|
successCount = 0;
|
||||||
|
duplicatesCount = 0;
|
||||||
|
String dateString = TickingDateUtils.format(startDate.getTime());
|
||||||
|
pageNumber = 1;
|
||||||
|
TicketingSamplingRespVO ticketingSamplingRespVO = this.getUrlResponseData(CHECK_TICKET_SERVICE, CHECK_TICKET_METHOD, dateString, pageNumber);
|
||||||
|
if (ticketingSamplingRespVO == null) {
|
||||||
|
startDate.add(Calendar.DAY_OF_MONTH, 1);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
int totalRows = ticketingSamplingRespVO.getTotalRows();
|
||||||
|
List<Map<String, Object>> mapList;
|
||||||
|
|
||||||
|
// 获得总页数
|
||||||
|
int totalPages = ticketingSamplingRespVO.getTotalPages();
|
||||||
|
|
||||||
|
// 处理剩余页的数据
|
||||||
|
for (; pageNumber <= totalPages; pageNumber++) {
|
||||||
|
ticketingSamplingRespVO = this.getUrlResponseData(CHECK_TICKET_SERVICE, CHECK_TICKET_METHOD, dateString, pageNumber);
|
||||||
|
mapList = ticketingSamplingRespVO.getDataMapList();
|
||||||
|
List<Integer> resultNum = checkTicketService.insertByMongoDB(BeanUtils.toBean(mapList, CheckTicket.class));
|
||||||
|
|
||||||
|
if (resultNum == null) {
|
||||||
|
XxlJobHelper.log("数据批量插入异常!", pageNumber);
|
||||||
|
} else {
|
||||||
|
successCount += resultNum.get(0);
|
||||||
|
duplicatesCount += resultNum.get(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
int currentMonth = startDate.get(Calendar.MONTH) + 1; // 加1以得到1-12的月份
|
||||||
|
int currentDay = startDate.get(Calendar.DAY_OF_MONTH);
|
||||||
|
XxlJobHelper.log("抽数服务:{}月{}日:检票数据抽数正常结束!总共:{}条数据,{}条数据重复,{}条数据插入成功!",currentMonth,currentDay ,totalRows, duplicatesCount, successCount);
|
||||||
|
// 日期递增一天
|
||||||
|
startDate.add(Calendar.DAY_OF_MONTH, 1);
|
||||||
|
}
|
||||||
|
XxlJobHelper.log("抽数结束!!!");
|
||||||
|
}
|
||||||
|
@XxlJob("getSaleDataByMongoDBLastMonthToNow")
|
||||||
|
public void getSaleDataByMongoDBLastMonthToNow() throws Exception {
|
||||||
|
XxlJobHelper.log("抽数服务:mongodb售票数据开始抽数...");
|
||||||
|
|
||||||
|
int successCount;
|
||||||
|
int duplicatesCount;
|
||||||
|
int pageNumber;
|
||||||
|
// 获取当前日期
|
||||||
|
Calendar startDate = Calendar.getInstance();
|
||||||
|
// 设置开始日期为上一个月的第一天
|
||||||
|
startDate.set(Calendar.DAY_OF_MONTH, 1); // 先将日期设置为当前月的第一天
|
||||||
|
startDate.add(Calendar.MONTH, -1); // 然后减去一个月
|
||||||
|
|
||||||
|
// 设置结束日期为今天
|
||||||
|
Calendar endDate = Calendar.getInstance();
|
||||||
|
|
||||||
|
// 循环从开始日期到结束日期
|
||||||
|
while (!startDate.after(endDate)) {
|
||||||
|
successCount = 0;
|
||||||
|
duplicatesCount = 0;
|
||||||
|
String dateString = TickingDateUtils.format(startDate.getTime());
|
||||||
|
pageNumber = 1;
|
||||||
|
TicketingSamplingRespVO ticketingSamplingRespVO = this.getUrlResponseData(SALE_DATA_SERVICE, SALE_DATA_METHOD, dateString, pageNumber);
|
||||||
|
if (ticketingSamplingRespVO == null) {
|
||||||
|
startDate.add(Calendar.DAY_OF_MONTH, 1);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
int totalRows = ticketingSamplingRespVO.getTotalRows();
|
||||||
|
List<Map<String, Object>> mapList;
|
||||||
|
|
||||||
|
// 获得总页数
|
||||||
|
int totalPages = ticketingSamplingRespVO.getTotalPages();
|
||||||
|
|
||||||
|
// 处理剩余页的数据
|
||||||
|
for (; pageNumber <= totalPages; pageNumber++) {
|
||||||
|
ticketingSamplingRespVO = this.getUrlResponseData(SALE_DATA_SERVICE, SALE_DATA_METHOD, dateString, pageNumber);
|
||||||
|
mapList = ticketingSamplingRespVO.getDataMapList();
|
||||||
|
List<Integer> resultNum = saleDataService.insertByMongoDB(BeanUtils.toBean(mapList, SaleData.class));
|
||||||
|
|
||||||
|
if (resultNum == null) {
|
||||||
|
XxlJobHelper.log("数据批量插入异常!", pageNumber);
|
||||||
|
} else {
|
||||||
|
successCount += resultNum.get(0);
|
||||||
|
duplicatesCount += resultNum.get(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
int currentMonth = startDate.get(Calendar.MONTH) + 1; // 加1以得到1-12的月份
|
||||||
|
int currentDay = startDate.get(Calendar.DAY_OF_MONTH);
|
||||||
|
XxlJobHelper.log("抽数服务:{}月{}日:售票数据抽数正常结束!总共:{}条数据,{}条数据重复,{}条数据插入成功!",currentMonth,currentDay ,totalRows, duplicatesCount, successCount);
|
||||||
|
// 日期递增一天
|
||||||
|
startDate.add(Calendar.DAY_OF_MONTH, 1);
|
||||||
|
}
|
||||||
|
XxlJobHelper.log("抽数结束!!!");
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 插入销售数据的方法(mysql)
|
* 插入销售数据的方法(mysql)
|
||||||
*
|
*
|
||||||
@ -262,9 +374,12 @@ public class TicketDataMigration {
|
|||||||
// TODO 需要再优化
|
// TODO 需要再优化
|
||||||
if (ticketingSamplingRespVO != null && !ticketingSamplingRespVO.isPassflag()) {
|
if (ticketingSamplingRespVO != null && !ticketingSamplingRespVO.isPassflag()) {
|
||||||
// 让调度中心重新调用
|
// 让调度中心重新调用
|
||||||
XxlJobHelper.log("抽数服务:检票数据抽数失败,返回消息:" + ticketingSamplingRespVO.getRtnMsg());
|
XxlJobHelper.log("数据抽数失败,返回消息:" + ticketingSamplingRespVO.getRtnMsg());
|
||||||
XxlJobHelper.handleFail("销售数据抽数失败,请重试");
|
XxlJobHelper.handleFail("数据抽数失败,请重试");
|
||||||
throw new RuntimeException();
|
throw new RuntimeException();
|
||||||
|
}else if (ticketingSamplingRespVO.getPageNumber() == null || ticketingSamplingRespVO.getPageSize() == null || ticketingSamplingRespVO.getTotalPages() == null || ticketingSamplingRespVO.getTotalRows() == null || ticketingSamplingRespVO.getDataMapList().isEmpty()){
|
||||||
|
XxlJobHelper.log("{},请求抽数成功,但返回参数值存在问题:{}", date, ticketingSamplingRespVO);
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
return ticketingSamplingRespVO;
|
return ticketingSamplingRespVO;
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
spring:
|
spring:
|
||||||
cloud:
|
cloud:
|
||||||
nacos:
|
nacos:
|
||||||
server-addr: crm.fjptzykj.com:8849
|
server-addr: 127.0.0.1:8848
|
||||||
discovery:
|
discovery:
|
||||||
namespace: dev # 命名空间。这里使用 dev 开发环境
|
namespace: dev # 命名空间。这里使用 dev 开发环境
|
||||||
metadata:
|
metadata:
|
||||||
@ -16,7 +16,7 @@ spring:
|
|||||||
nacos:
|
nacos:
|
||||||
# Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
|
# Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
|
||||||
config:
|
config:
|
||||||
server-addr: crm.fjptzykj.com:8849 # Nacos 服务器地址
|
server-addr: 127.0.0.1:8848 # Nacos 服务器地址
|
||||||
namespace: dev # 命名空间 dev 的ID,不能直接使用 dev 名称。创建命名空间的时候需要指定ID为 dev,这里使用 dev 开发环境
|
namespace: dev # 命名空间 dev 的ID,不能直接使用 dev 名称。创建命名空间的时候需要指定ID为 dev,这里使用 dev 开发环境
|
||||||
group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
|
group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
|
||||||
name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
|
name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
spring:
|
spring:
|
||||||
cloud:
|
cloud:
|
||||||
nacos:
|
nacos:
|
||||||
server-addr: crm.fjptzykj.com:8849
|
server-addr: 127.0.0.1:8848
|
||||||
discovery:
|
discovery:
|
||||||
namespace: dev # 命名空间。这里使用 dev 开发环境
|
namespace: dev # 命名空间。这里使用 dev 开发环境
|
||||||
metadata:
|
metadata:
|
||||||
@ -16,7 +16,7 @@ spring:
|
|||||||
nacos:
|
nacos:
|
||||||
# Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
|
# Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
|
||||||
config:
|
config:
|
||||||
server-addr: crm.fjptzykj.com:8849 # Nacos 服务器地址
|
server-addr: 127.0.0.1:8848 # Nacos 服务器地址
|
||||||
namespace: dev # 命名空间 dev 的ID,不能直接使用 dev 名称。创建命名空间的时候需要指定ID为 dev,这里使用 dev 开发环境
|
namespace: dev # 命名空间 dev 的ID,不能直接使用 dev 名称。创建命名空间的时候需要指定ID为 dev,这里使用 dev 开发环境
|
||||||
group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
|
group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
|
||||||
name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
|
name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
|
||||||
|
Loading…
Reference in New Issue
Block a user