@@ -1,4 +1,4 @@ | |||
package cn.com.taiji.invw.tools; | |||
package cn.com.taiji.core.manager.tools.easyExcel; | |||
import com.alibaba.excel.converters.Converter; | |||
import com.alibaba.excel.enums.CellDataTypeEnum; |
@@ -1,4 +1,4 @@ | |||
package cn.com.taiji.managew.tools; | |||
package cn.com.taiji.core.manager.tools.easyExcel; | |||
import cn.com.taiji.common.manager.ManagerException; | |||
import com.alibaba.excel.EasyExcel; |
@@ -16,10 +16,10 @@ public enum WeiXinServiceCmd implements SignServiceCommand { | |||
REFUNDQUERYV2("微信V2退款查询","refundV2Query", AtsQueryRefundV2Request.class), | |||
VEHICLEUSERSTATE("微信车主状态查询及获取签约参数","vehicleUserState", AtsVehicleUserStateRequest.class), | |||
MPSENDMESSAGE("微信公众号发送订阅信息","mpSendMessage", WxMpSendMessageRequest.class), | |||
MPMESSAGElIST("微信公众号获取模板列表","mpMessageList", WxMpMessageTemplateListRequest.class), | |||
MPMESSAGELIST("微信公众号获取模板列表","mpMessageList", WxMpMessageTemplateListRequest.class), | |||
MPISSUBSCRIBED("微信公众号是否订阅","isSubscribed", WxMpIsSubscribedRequest.class), | |||
MINISENDMESSAGE("微信小程序发送信息","miniSendMessage", WxMiniSendMessageRequest.class), | |||
MINIMESSAGElIST("微信小程序获取模板列表","miniMessageList", WxMiniMessageTemplateListRequest.class), | |||
MINIMESSAGELIST("微信小程序获取模板列表","miniMessageList", WxMiniMessageTemplateListRequest.class), | |||
; | |||
@@ -24,7 +24,7 @@ import lombok.Setter; | |||
public class WxMiniMessageTemplateListRequest extends AbstractAtsRequest<WxMiniMessageTemplateListResponse> { | |||
public WxMiniMessageTemplateListRequest() { | |||
super(WeiXinServiceCmd.MINIMESSAGElIST); | |||
super(WeiXinServiceCmd.MINIMESSAGELIST); | |||
} | |||
private String clientId; | |||
@@ -24,7 +24,7 @@ import lombok.Setter; | |||
public class WxMpMessageTemplateListRequest extends AbstractAtsRequest<WxMpMessageTemplateListResponse> { | |||
public WxMpMessageTemplateListRequest() { | |||
super(WeiXinServiceCmd.MPMESSAGElIST); | |||
super(WeiXinServiceCmd.MPMESSAGELIST); | |||
} | |||
private String clientId; | |||
@@ -10,6 +10,7 @@ import cn.com.taiji.core.entity.invw.InvwCardDetails; | |||
import cn.com.taiji.core.entity.invw.InvwQryCardBatch; | |||
import cn.com.taiji.core.entity.invw.InvwQryCards; | |||
import cn.com.taiji.core.entity.invw.InvwWarehouse; | |||
import cn.com.taiji.core.manager.tools.easyExcel.EasyExcelUtil; | |||
import cn.com.taiji.core.manager.tools.minio.MinioUtil; | |||
import cn.com.taiji.core.repo.jpa.invw.InvwCardDetailsRepo; | |||
import cn.com.taiji.core.repo.jpa.invw.InvwQryCardBatchRepo; | |||
@@ -20,7 +21,6 @@ import cn.com.taiji.invw.dto.card.*; | |||
import cn.com.taiji.invw.dto.comm.CommExcelFileResponseDTO; | |||
import cn.com.taiji.invw.manager.AbstractInvwManager; | |||
import cn.com.taiji.invw.model.card.InvwCardDetailsExcelModel; | |||
import cn.com.taiji.invw.tools.EasyExcelUtil; | |||
import cn.com.taiji.invw.tools.SourceTargetMapper; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.stereotype.Service; |
@@ -14,6 +14,7 @@ import cn.com.taiji.core.entity.invw.InvwCardDetails; | |||
import cn.com.taiji.core.entity.invw.InvwEnterApply; | |||
import cn.com.taiji.core.entity.invw.InvwEnterApplyDetails; | |||
import cn.com.taiji.core.entity.invw.InvwObuDetails; | |||
import cn.com.taiji.core.manager.tools.easyExcel.EasyExcelUtil; | |||
import cn.com.taiji.core.manager.tools.minio.MinioUtil; | |||
import cn.com.taiji.core.repo.jpa.invw.InvwCardDetailsRepo; | |||
import cn.com.taiji.core.repo.jpa.invw.InvwEnterApplyDetailsRepo; | |||
@@ -23,7 +24,6 @@ import cn.com.taiji.core.repo.request.invw.InvwEnterApplyPageRequest; | |||
import cn.com.taiji.invw.dto.enter.*; | |||
import cn.com.taiji.invw.manager.AbstractInvwManager; | |||
import cn.com.taiji.invw.model.enter.EnterApplyDetailModel; | |||
import cn.com.taiji.invw.tools.EasyExcelUtil; | |||
import cn.com.taiji.invw.tools.GenerateNoUtil; | |||
import cn.com.taiji.invw.tools.SourceTargetMapper; | |||
import org.apache.commons.compress.utils.Lists; |
@@ -8,6 +8,7 @@ import cn.com.taiji.core.entity.dict.basic.ObuType; | |||
import cn.com.taiji.core.entity.dict.invw.InvDeviceStatus; | |||
import cn.com.taiji.core.entity.dict.log.OperateType; | |||
import cn.com.taiji.core.entity.invw.*; | |||
import cn.com.taiji.core.manager.tools.easyExcel.EasyExcelUtil; | |||
import cn.com.taiji.core.manager.tools.minio.MinioUtil; | |||
import cn.com.taiji.core.repo.jpa.invw.*; | |||
import cn.com.taiji.core.repo.request.invw.InvwObuDetailsPageRequest; | |||
@@ -16,7 +17,6 @@ import cn.com.taiji.invw.dto.comm.CommExcelFileResponseDTO; | |||
import cn.com.taiji.invw.dto.obu.*; | |||
import cn.com.taiji.invw.manager.AbstractInvwManager; | |||
import cn.com.taiji.invw.model.card.InvwObuDetailsExcelModel; | |||
import cn.com.taiji.invw.tools.EasyExcelUtil; | |||
import cn.com.taiji.invw.tools.SourceTargetMapper; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.stereotype.Service; |
@@ -11,15 +11,14 @@ import cn.com.taiji.core.entity.dict.log.OperateType; | |||
import cn.com.taiji.core.entity.invw.InvwStocktakingInfo; | |||
import cn.com.taiji.core.entity.invw.InvwStocktakingResult; | |||
import cn.com.taiji.core.entity.invw.InvwWarehouse; | |||
import cn.com.taiji.core.manager.tools.easyExcel.EasyExcelUtil; | |||
import cn.com.taiji.core.manager.tools.minio.MinioUtil; | |||
import cn.com.taiji.core.repo.jpa.invw.*; | |||
import cn.com.taiji.core.repo.request.invw.InvwStocktakingInfoPageRequest; | |||
import cn.com.taiji.invw.dto.stocktaking.*; | |||
import cn.com.taiji.invw.manager.AbstractCommManager; | |||
import cn.com.taiji.invw.manager.AbstractInvwManager; | |||
import cn.com.taiji.invw.model.stocktaking.*; | |||
import cn.com.taiji.invw.tools.ConvertUtils; | |||
import cn.com.taiji.invw.tools.EasyExcelUtil; | |||
import cn.hutool.core.collection.CollectionUtil; | |||
import cn.hutool.core.io.FileUtil; | |||
import cn.hutool.core.util.NumberUtil; | |||
@@ -34,7 +33,6 @@ import org.springframework.stereotype.Service; | |||
import org.springframework.transaction.annotation.Transactional; | |||
import java.io.File; | |||
import java.math.BigDecimal; | |||
import java.time.LocalDateTime; | |||
import java.time.format.DateTimeFormatter; | |||
import java.util.*; |
@@ -10,6 +10,7 @@ import cn.com.taiji.core.entity.dict.log.OperateType; | |||
import cn.com.taiji.core.entity.invw.InvwTransferApply; | |||
import cn.com.taiji.core.entity.invw.InvwTransferApplyDetails; | |||
import cn.com.taiji.core.entity.invw.InvwWarehouse; | |||
import cn.com.taiji.core.manager.tools.easyExcel.EasyExcelUtil; | |||
import cn.com.taiji.core.manager.tools.minio.MinioUtil; | |||
import cn.com.taiji.core.repo.jpa.invw.*; | |||
import cn.com.taiji.core.repo.request.invw.InvwTransferApplyPageRequest; | |||
@@ -17,7 +18,6 @@ import cn.com.taiji.invw.dto.transfer.*; | |||
import cn.com.taiji.invw.manager.AbstractInvwManager; | |||
import cn.com.taiji.invw.model.transfer.InvwTransferApplyCommModel; | |||
import cn.com.taiji.invw.model.transfer.InvwTransferApplyDetailsModel; | |||
import cn.com.taiji.invw.tools.EasyExcelUtil; | |||
import cn.com.taiji.invw.tools.GenerateNoUtil; | |||
import org.springframework.beans.BeanUtils; | |||
import org.springframework.beans.factory.annotation.Autowired; |
@@ -3,7 +3,7 @@ package cn.com.taiji.invw.model.card; | |||
import cn.com.taiji.core.entity.dict.basic.CardType; | |||
import cn.com.taiji.core.entity.dict.basic.DeviceVersion; | |||
import cn.com.taiji.core.entity.dict.invw.InvDeviceStatus; | |||
import cn.com.taiji.invw.tools.EasyExcelEnumConverter; | |||
import cn.com.taiji.core.manager.tools.easyExcel.EasyExcelEnumConverter; | |||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; | |||
import com.alibaba.excel.annotation.ExcelProperty; | |||
import com.alibaba.excel.annotation.write.style.*; |
@@ -4,7 +4,7 @@ import cn.com.taiji.core.entity.dict.basic.CardType; | |||
import cn.com.taiji.core.entity.dict.basic.DeviceVersion; | |||
import cn.com.taiji.core.entity.dict.basic.ObuType; | |||
import cn.com.taiji.core.entity.dict.invw.InvDeviceStatus; | |||
import cn.com.taiji.invw.tools.EasyExcelEnumConverter; | |||
import cn.com.taiji.core.manager.tools.easyExcel.EasyExcelEnumConverter; | |||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; | |||
import com.alibaba.excel.annotation.ExcelProperty; | |||
import com.alibaba.excel.annotation.write.style.*; |
@@ -1,85 +0,0 @@ | |||
package cn.com.taiji.invw.tools; | |||
import cn.com.taiji.common.manager.ManagerException; | |||
import cn.com.taiji.invw.model.enter.EnterApplyDetailModel; | |||
import com.alibaba.excel.EasyExcel; | |||
import com.alibaba.excel.EasyExcelFactory; | |||
import com.alibaba.excel.ExcelWriter; | |||
import com.alibaba.excel.context.AnalysisContext; | |||
import com.alibaba.excel.event.AnalysisEventListener; | |||
import com.alibaba.excel.write.metadata.WriteSheet; | |||
import org.apache.poi.ss.formula.functions.T; | |||
import org.slf4j.Logger; | |||
import org.slf4j.LoggerFactory; | |||
import java.io.File; | |||
import java.io.FileOutputStream; | |||
import java.util.ArrayList; | |||
import java.util.List; | |||
/** | |||
* @Auther: humh | |||
* @Description: | |||
* @Date: 2025/4/21 17:32 | |||
* @email: huminghao@mail.taiji.com.cn | |||
* @version: 1.0 | |||
*/ | |||
public class EasyExcelUtil extends EasyExcelFactory { | |||
protected static Logger logger = LoggerFactory.getLogger(EasyExcelUtil.class); | |||
/** | |||
* 导出Excel返回 File | |||
*/ | |||
public static File exportExcelFile(Class<?> clazz, List<?> list, String fileName) throws ManagerException { | |||
try { | |||
// 临时目录 临时文件名 | |||
File file = new File(fileName + ".xlsx"); | |||
FileOutputStream fileOutputStream = new FileOutputStream(file); | |||
ExcelWriter excelWriter = write(fileOutputStream).build(); | |||
WriteSheet writeSheet = writerSheet(0, fileName).head(clazz).build(); | |||
excelWriter.write(list, writeSheet); | |||
excelWriter.finish(); | |||
return file; | |||
} catch (Exception e) { | |||
logger.debug("导出Excel异常:{}", e.getMessage()); | |||
throw new ManagerException("导出Excel异常"); | |||
} | |||
} | |||
/** | |||
* 从第一行开始读取excel,根据列数读取数据 | |||
* 泛型方法:读取Excel到指定Model的List | |||
* @param file Excel文件 | |||
* @param modelClass 目标Model类(需标注@ExcelProperty) | |||
* @return List<T> 数据集合 | |||
*/ | |||
public static <T> List<T> readExcelColToModelList(File file, Class<T> modelClass, Integer row) { | |||
List<T> dataList = new ArrayList<>(); | |||
EasyExcel.read(file, modelClass, new AnalysisEventListener<T>() { | |||
@Override | |||
public void invoke(T data, AnalysisContext context) { | |||
dataList.add(data); // 逐行映射到Model | |||
} | |||
@Override | |||
public void doAfterAllAnalysed(AnalysisContext context) { | |||
logger.info("Excel解析完成,共读取{}行", dataList.size()); | |||
} | |||
@Override | |||
public void onException(Exception exception, AnalysisContext context) { | |||
throw new RuntimeException("第" + context.readRowHolder().getRowIndex() + "行解析失败", exception); | |||
} | |||
}).sheet() | |||
.headRowNumber(row) // 关键修改:设置从第0行开始读取(Excel行号从0开始计数) | |||
.doRead(); | |||
return dataList; | |||
} | |||
} |
@@ -3,6 +3,7 @@ package cn.com.taiji.managew.manager.bls; | |||
import cn.com.taiji.common.manager.ManagerException; | |||
import cn.com.taiji.common.pub.BeanTools; | |||
import cn.com.taiji.core.entity.dict.basic.CardBlackType; | |||
import cn.com.taiji.core.manager.tools.easyExcel.EasyExcelUtil; | |||
import cn.com.taiji.core.manager.tools.minio.MinioUtil; | |||
import cn.com.taiji.core.model.comm.protocol.bls.*; | |||
import cn.com.taiji.managew.dto.bls.*; | |||
@@ -10,7 +11,6 @@ import cn.com.taiji.managew.manager.AbstractCommManager; | |||
import cn.com.taiji.managew.model.bls.BlackCardImportErrorModel; | |||
import cn.com.taiji.managew.model.bls.BlackCardImportModel; | |||
import cn.com.taiji.managew.model.bls.BlackCardQueryModel; | |||
import cn.com.taiji.managew.tools.EasyExcelUtil; | |||
import cn.com.taiji.managew.tools.SourceTargetMapper; | |||
import org.apache.commons.compress.utils.Lists; | |||
import org.apache.commons.lang3.StringUtils; |
@@ -3,12 +3,12 @@ package cn.com.taiji.managew.manager.bls; | |||
import cn.com.taiji.common.manager.ManagerException; | |||
import cn.com.taiji.common.pub.BeanTools; | |||
import cn.com.taiji.core.entity.dict.basic.ObuBlackType; | |||
import cn.com.taiji.core.manager.tools.easyExcel.EasyExcelUtil; | |||
import cn.com.taiji.core.manager.tools.minio.MinioUtil; | |||
import cn.com.taiji.core.model.comm.protocol.bls.*; | |||
import cn.com.taiji.managew.dto.bls.*; | |||
import cn.com.taiji.managew.manager.AbstractCommManager; | |||
import cn.com.taiji.managew.model.bls.*; | |||
import cn.com.taiji.managew.tools.EasyExcelUtil; | |||
import cn.com.taiji.managew.tools.SourceTargetMapper; | |||
import org.apache.commons.compress.utils.Lists; | |||
import org.apache.commons.lang3.StringUtils; |
@@ -14,7 +14,7 @@ spring: | |||
discovery: | |||
enabled: true | |||
server-addr: 100.64.2.105:8848 | |||
namespace: guizhou-issuer | |||
namespace: zhywpt-new-test | |||
username: nacos | |||
password: '!@#$%qwertASDFG' | |||
ip: 127.0.0.1 | |||
@@ -23,7 +23,7 @@ spring: | |||
enabled: true | |||
file-extension: yaml # 必须修改成yaml | |||
server-addr: 100.64.2.105:8848 | |||
namespace: guizhou-issuer | |||
namespace: zhywpt-new-test | |||
username: nacos | |||
password: '!@#$%qwertASDFG' | |||
extension-configs: | |||
@@ -35,6 +35,8 @@ spring: | |||
refresh: true | |||
- data-id: msgw-config.yaml | |||
refresh: true | |||
- data-id: minio-client.yaml | |||
refresh: true | |||
server: | |||
port: 9084 | |||
servlet: |
@@ -75,11 +75,11 @@ public class WinXinServiceHandler extends AbstractAtsServiceHandler<WeiXinServic | |||
return wxMessageManager.isSubscribed((WxMpIsSubscribedRequest) request); | |||
case MPSENDMESSAGE: | |||
return wxMessageManager.wxMpSendMessageHandler((WxMpSendMessageRequest) request); | |||
case MPMESSAGElIST: | |||
case MPMESSAGELIST: | |||
return wxMessageManager.wxMpMessageTemplateList((WxMpMessageTemplateListRequest) request); | |||
case MINISENDMESSAGE: | |||
return wxMessageManager.wxMiniSendMessageHandler((WxMiniSendMessageRequest) request); | |||
case MINIMESSAGElIST: | |||
case MINIMESSAGELIST: | |||
return wxMessageManager.wxMiniMessageTemplateList((WxMiniMessageTemplateListRequest) request); | |||
case VEHICLEUSERSTATE: | |||
return vehicleUserStateManager.serviceHandle((AtsVehicleUserStateRequest) request); |