Browse Source

Merge remote-tracking branch 'origin/master'

master
梁超 1 week ago
parent
commit
c2e6c87d78

+ 7
- 0
zhywpt-app-msgw/src/main/java/cn/com/taiji/msgw/api/MessageSharedController.java View File

@@ -61,4 +61,11 @@ public class MessageSharedController {
return ApiResponse.of(pagination);
}

@ApiOperation(value = "首页统计")
@PostMapping(value = "/homeStatistics")
public ApiResponse<HomeStatisticsResponseDto> homeStatistics(@RequestBody @Valid HomeStatisticsRequestDto request){
HomeStatisticsResponseDto responseDto = messageWaitSendManager.homeStatistics(request);
return ApiResponse.of(responseDto);
}

}

+ 29
- 0
zhywpt-app-msgw/src/main/java/cn/com/taiji/msgw/dto/HomeStatisticsRequestDto.java View File

@@ -0,0 +1,29 @@
package cn.com.taiji.msgw.dto;


import cn.com.taiji.common.entity.BaseEntity;
import cn.com.taiji.core.entity.dict.msgw.MessageType;
import lombok.Getter;
import lombok.Setter;

import java.time.LocalDateTime;

@Getter
@Setter
public class HomeStatisticsRequestDto extends BaseEntity {

/**
* 消息类型
*/
private MessageType messageType;

/***
* 统计开始日期
*/
private LocalDateTime startDate;
/***
* 统计结束日期
*/
private LocalDateTime endDate;

}

+ 19
- 0
zhywpt-app-msgw/src/main/java/cn/com/taiji/msgw/dto/HomeStatisticsResponseDto.java View File

@@ -0,0 +1,19 @@
package cn.com.taiji.msgw.dto;

import java.util.List;

import cn.com.taiji.common.model.BaseModel;
import cn.com.taiji.core.entity.msgw.MsgwSmsKeyConfig;
import cn.com.taiji.msgw.model.HomeStatisticsModel;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

@Getter
@Setter
@Accessors(chain = true)
public class HomeStatisticsResponseDto extends BaseModel {

List<HomeStatisticsModel> list;

}

+ 3
- 0
zhywpt-app-msgw/src/main/java/cn/com/taiji/msgw/manager/messageWaitSend/MessageWaitSendManager.java View File

@@ -31,4 +31,7 @@ public interface MessageWaitSendManager {

/**用户分页*/
Pagination userPage(UserListRequestDto request);

/**首页统计*/
HomeStatisticsResponseDto homeStatistics(HomeStatisticsRequestDto request);
}

+ 31
- 3
zhywpt-app-msgw/src/main/java/cn/com/taiji/msgw/manager/messageWaitSend/MessageWaitSendManagerImpl.java View File

@@ -4,6 +4,7 @@ import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;

import cn.com.taiji.msgw.model.HomeStatisticsModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@@ -198,9 +199,6 @@ public class MessageWaitSendManagerImpl extends AbstractCommManager implements M
return sendDetailsRepo.page(request);
}




@Override
public Pagination userPage(UserListRequestDto request){
Pagination pagination = new Pagination();
@@ -236,5 +234,35 @@ public class MessageWaitSendManagerImpl extends AbstractCommManager implements M
return pagination;
}

@Override
public HomeStatisticsResponseDto homeStatistics(HomeStatisticsRequestDto request) {
HomeStatisticsResponseDto response = new HomeStatisticsResponseDto();
// 获取开始时间与结束时间
LocalDateTime startDateTime = request.getStartDate();
LocalDateTime endDateTime = request.getEndDate();
// 循环从开始日期到结束日期的前一天
List<HomeStatisticsModel> list = new ArrayList<>();
LocalDateTime currentDate = startDateTime;
while (currentDate.isBefore(endDateTime)) {
LocalDateTime nextDate = currentDate.plusDays(1);
Long totalNum = sendDetailsRepo.countStatistics(request.getMessageType(), null, currentDate, nextDate);
//成功消息总数
Long successTotalNum = sendDetailsRepo.countStatistics(request.getMessageType(), MessageResult.SEND, currentDate, nextDate);
//失败消息总数
Long failTotalNum = sendDetailsRepo.countStatistics(request.getMessageType(), MessageResult.FAIL, currentDate, nextDate);
//待发送消息总数
Long waitTotalNum = sendDetailsRepo.countStatistics(request.getMessageType(), MessageResult.WAIT, currentDate, nextDate);
//过期消息总数
Long expiredTotalNum = sendDetailsRepo.countStatistics(request.getMessageType(), MessageResult.EXPIRED, currentDate, nextDate);
//取消消息总数
Long cancelTotalNum = sendDetailsRepo.countStatistics(request.getMessageType(), MessageResult.CANCEL, currentDate, nextDate);
HomeStatisticsModel model = new HomeStatisticsModel(currentDate.toLocalDate().toString(), totalNum, successTotalNum, failTotalNum, waitTotalNum, expiredTotalNum, cancelTotalNum);
list.add(model);
currentDate = nextDate;
}
response.setList(list);
return response;
}


}

+ 29
- 0
zhywpt-app-msgw/src/main/java/cn/com/taiji/msgw/model/HomeStatisticsModel.java View File

@@ -0,0 +1,29 @@
package cn.com.taiji.msgw.model;

import cn.com.taiji.common.model.BaseModel;
import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
public class HomeStatisticsModel extends BaseModel {

private String date;
private Long totalNum;
private Long successTotalNum;
private Long failTotalNum;
private Long waitTotalNum;
private Long expiredTotalNum;
private Long cancelTotalNum;

public HomeStatisticsModel(String date, Long totalNum, Long successTotalNum, Long failTotalNum, Long waitTotalNum, Long expiredTotalNum, Long cancelTotalNum) {
this.date = date;
this.totalNum = totalNum;
this.successTotalNum = successTotalNum;
this.failTotalNum = failTotalNum;
this.waitTotalNum = waitTotalNum;
this.expiredTotalNum = expiredTotalNum;
this.cancelTotalNum = cancelTotalNum;
}

}

+ 22
- 15
zhywpt-service-ias/src/main/java/cn/com/taiji/ias/manager/ass/releasePlate/ReleasePlateApplyManager.java View File

@@ -15,6 +15,7 @@ import cn.com.taiji.core.model.comm.protocol.ias.ass.ReleasePlateApplyResponse;
import cn.com.taiji.core.model.comm.protocol.ias.vaild.VehiclePlateCheckResponse;
import cn.com.taiji.core.model.comm.protocol.valid.ErrorMsgBuilder;
import cn.com.taiji.core.repo.jpa.ass.AssVehicleRelieveRepo;
import cn.com.taiji.core.repo.jpa.basic.QtkCustomerInfoRepo;
import cn.com.taiji.core.repo.jpa.user.AccountInfoRepo;
import cn.com.taiji.ias.dict.DataType;
import cn.com.taiji.ias.manager.ass.AbstractAssManager;
@@ -38,6 +39,8 @@ public class ReleasePlateApplyManager extends AbstractAssManager<ReleasePlateApp

@Autowired
private AccountInfoRepo accountInfoRepo;
@Autowired
private QtkCustomerInfoRepo qtkCustomerInfoRepo;

public ReleasePlateApplyManager() {
super(DataType.RELEASE_PLATE_APPLY);
@@ -97,7 +100,7 @@ public class ReleasePlateApplyManager extends AbstractAssManager<ReleasePlateApp
throw newBusinessException("该车牌号未被占用,无需申请");
}
//外省发行方占用
if (!res.getInfo().contains("贵州")) {
if (res.getResult() != 4 && !res.getInfo().contains("贵州")) {
throw newBusinessException(res.getInfo());
}
dataStream.put(CARD_INFO, qtkCardInfo);
@@ -114,12 +117,12 @@ public class ReleasePlateApplyManager extends AbstractAssManager<ReleasePlateApp
//双系统查询ETC用户信息
QtkCustomerInfo customerInfo = queryCustomerInfo(qtkVehicleInfo.getCustomerId());
//占用用户和申请用户一致
if(req.getCustomerIdNum().equals(customerInfo.getCustomerIdNum())){
//校验卡
validCard(dataStream);
//校验签
validObu(dataStream);
}
// if(req.getCustomerIdNum().equals(customerInfo.getCustomerIdNum())){
// //校验卡
// validCard(dataStream);
// //校验签
// validObu(dataStream);
// }
}

private void validCard(Map<String, Object> dataStream) throws ServiceHandleException {
@@ -133,7 +136,7 @@ public class ReleasePlateApplyManager extends AbstractAssManager<ReleasePlateApp
//卡状态正常和挂失状态引导走正常注销流程
//2、没有数据即卡状态正常
//3、有数据看是否是挂失
if (qtkBlackCards == null || qtkBlackCards.isEmpty()){
if (isEmpty(qtkBlackCards)){
throw newBusinessException("请先走注销流程");
} else {
//下黑的所有类型
@@ -176,6 +179,10 @@ public class ReleasePlateApplyManager extends AbstractAssManager<ReleasePlateApp

@Override
protected void persistInternal(ReleasePlateApplyRequest req, ServiceLogEvent event, Map<String, Object> dataStream) throws ServiceHandleException {
QtkCardInfo qtkCardInfo = (QtkCardInfo) dataStream.get(CARD_INFO);
QtkObuInfo qtkObuInfo = (QtkObuInfo) dataStream.get(OBU_INFO);
//取customerId 前面已经校验,走到这里卡和签不可能全都为null
String customerId = qtkCardInfo == null ? qtkObuInfo.getCustomerId() : qtkCardInfo.getCustomerId();
LocalDateTime now = LocalDateTime.now();
//保存售后表
AssOrderinfo assOrderinfo = new AssOrderinfo();
@@ -190,12 +197,13 @@ public class ReleasePlateApplyManager extends AbstractAssManager<ReleasePlateApp
// FIXME: 业务员申请的单子,用户怎么查看
if (SourceType.SERVICE_HALL == req.getSourceType() || SourceType.WEB == req.getSourceType()){
assOrderinfo.setStaffOpenId(req.getOpenId());

String openId = accountInfoRepo.findByIdNum(req.getCustomerIdNum());
if (hasText(openId)) {
assOrderinfo.setOpenId(openId);
}
}
if (SourceType.ALI == req.getSourceType() || SourceType.WECHAT == req.getSourceType()){
assOrderinfo.setOpenId(req.getOpenId());
String openId = accountInfoRepo.findByIdNum(req.getCustomerIdNum());
assOrderinfo.setOpenId(openId);
// // 自营工具 和 管理端
// assOrderinfo.setAgencyId("52001106004");// 黔通智联(自营)
// assOrderinfo.setChannelId("5201010600401150002"); // 黔通智联售后服务
@@ -205,6 +213,9 @@ public class ReleasePlateApplyManager extends AbstractAssManager<ReleasePlateApp
assOrderinfo.setCustomerIdType(IdType.SFZ);
assOrderinfo.setCustomerIdNum(req.getCustomerIdNum());
assOrderinfo.setAuditStatus(AuditStatus.AUDIT);
QtkCustomerInfo customerInfo = qtkCustomerInfoRepo.findByCustomerId(customerId);
assOrderinfo.setUserType(customerInfo.getUserType());//占用车辆人的用户类型
assOrderinfo.setCustomerId(customerId);//占用车辆人的customerId
//保存解除车牌占用明细表
AssVehicleRelieve assVehicleRelieve = new AssVehicleRelieve();
assVehicleRelieve.setStep(AssVehicleRealseStep.SUBMIT_AUDIT);
@@ -228,8 +239,6 @@ public class ReleasePlateApplyManager extends AbstractAssManager<ReleasePlateApp
assVehicleRelieve.setOwnerPosImgUrl(req.getOwnerPosImgUrl());
assVehicleRelieve.setOwnerNegImgUrl(req.getOwnerNegImgUrl());
}
QtkCardInfo qtkCardInfo = (QtkCardInfo) dataStream.get(CARD_INFO);
QtkObuInfo qtkObuInfo = (QtkObuInfo) dataStream.get(OBU_INFO);
if (qtkCardInfo != null) {
assVehicleRelieve.setRelieveCardId(qtkCardInfo.getCardId());
assOrderinfo.setCardId(qtkCardInfo.getCardId());
@@ -238,8 +247,6 @@ public class ReleasePlateApplyManager extends AbstractAssManager<ReleasePlateApp
assVehicleRelieve.setRelieveObuId(qtkObuInfo.getObuId());
assOrderinfo.setObuId(qtkObuInfo.getObuId());
}
assVehicleRelieve.setInsertTime(now);
assVehicleRelieve.setUpdateTime(now);
assOrderinfoRepo.persist(assOrderinfo);
assVehicleRelieveRepo.persist(assVehicleRelieve);
}

+ 5
- 10
zhywpt-service-ias/src/main/java/cn/com/taiji/ias/manager/order/OrderAuditManager.java View File

@@ -2,6 +2,7 @@ package cn.com.taiji.ias.manager.order;

import cn.com.taiji.common.manager.net.http.ServiceHandleException;
import cn.com.taiji.core.entity.basic.QtkBrandInfo;
import cn.com.taiji.core.entity.dict.basic.CardType;
import cn.com.taiji.core.entity.dict.basic.SourceType;
import cn.com.taiji.core.entity.dict.issue.IssueOrderStatus;
import cn.com.taiji.core.entity.dict.issue.IssueOrderStep;
@@ -81,17 +82,11 @@ public class OrderAuditManager extends AbstractOrderManager<OrderAuditRequest> {
//审核通过
if (SourceType.CHANNEL.equals(order.getOrderSource())) {
//20250408修改,线上不需要支付,审核通过直接待签约
if (order.getPromotionModes().equals(1)) {// 线上
order.setOrderStep(IssueOrderStep.ORDER_PAID);//待签约
} else if (order.getPromotionModes().equals(2)) {//线下
if (order.getNeedPay()) {// 需要支付,指线下
order.setOrderStep(IssueOrderStep.VEHICLE_UPLOAD);//线下待支付
} else {//线上、线下
IssueProduct product = issueProductRepo.findByReleaseId(order.getProductId());
if (product.getNeedPay()) {
order.setOrderStep(IssueOrderStep.VEHICLE_UPLOAD);
} else {
order.setOrderStep(IssueOrderStep.ORDER_PAID);
}
}else {
//记账卡待签约,非记账卡待激活
order.setOrderStep(CardType.CHARGE_CARD.equals(order.getCardType())?IssueOrderStep.ORDER_PAID:IssueOrderStep.WAITING_ACTIVE);
}
} else {
if (!ShippingStatus.NONE.equals(order.getShippingStatus())) {//需要邮寄

+ 6
- 1
zhywpt-service-ias/src/main/java/cn/com/taiji/ias/manager/order/OrderPayQueryManager.java View File

@@ -26,6 +26,7 @@ import java.util.stream.Collectors;
/**
* <pre>
* 订单支付查询
* //渠道订单不需要支付,就不会到此步进行查询,即小程序不管怎样都会到这
* </pre>
*/
@Service
@@ -84,7 +85,11 @@ public class OrderPayQueryManager extends AbstractOrderManager<OrderPayQueryRequ
@Override
protected void onSuccessInternal(OrderPayQueryRequest req, ServiceLogEvent event, Map<String, Object> dataStream) throws ServiceHandleException {
IssueOrderinfo order = (IssueOrderinfo)dataStream.get(ORDER);
asyCallBackQd(order, "");
List<IssueOrderPay> orderPays = (List<IssueOrderPay>)dataStream.get(ORDERPAY);
boolean b = orderPays.stream().anyMatch(pay -> !pay.getPayStatus().equals(OrderPayStatus.SUCCESS));
if (order.getNeedPay() && b) {//需要支付且支付成功,回调渠道
asyCallBackQd(order, "");
}
}

@Override

+ 6
- 10
zhywpt-service-ias/src/main/java/cn/com/taiji/ias/manager/order/VehicleUploadManager.java View File

@@ -342,18 +342,14 @@ public class VehicleUploadManager extends AbstractOrderManager<VehicleUploadRequ
// 是否被人工审核 1:人工 2:系统 0:未审核。人工审核时再变成1
order.setArtificialStatus(2);
if (SourceType.CHANNEL.equals(order.getOrderSource())) {
if (order.getVanType() !=1){ //非客车 都需要审核
if (order.getVanType() !=1 || hasText(failReason)){ //非客车或审核不通过 都需要审核
order.setOrderStep(IssueOrderStep.WAITING_AUDIT);
}else {
if (!hasText(failReason)) {
if (order.getPromotionModes().equals(1)) {// 线上
order.setOrderStep(IssueOrderStep.ORDER_PAID);//待签约
} else if (order.getPromotionModes().equals(2)) {//线下
order.setOrderStep(IssueOrderStep.VEHICLE_UPLOAD);//线下待支付
}
// order.setOrderStep(IssueOrderStep.VEHICLE_UPLOAD);//待支付
} else {
order.setOrderStep(IssueOrderStep.WAITING_AUDIT);
if (order.getNeedPay()) {// 需要支付,指线下
order.setOrderStep(IssueOrderStep.VEHICLE_UPLOAD);//线下待支付
}else {
//记账卡待签约,非记账卡待激活
order.setOrderStep(CardType.CHARGE_CARD.equals(order.getCardType())?IssueOrderStep.ORDER_PAID:IssueOrderStep.WAITING_ACTIVE);
}
}
} else {

Loading…
Cancel
Save