From 5efbc8580494fbdfe1f05082c2084244cf9fa7d5 Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Fri, 7 Jul 2023 11:22:10 +0800 Subject: [PATCH 1/5] update --- .../com/jsowell/service/OrderService.java | 22 +++++++++++++++++++ .../common/constant/CacheConstants.java | 4 +++- .../impl/AdapayCallbackRecordServiceImpl.java | 2 +- .../impl/WxpayCallbackRecordServiceImpl.java | 2 +- 4 files changed, 27 insertions(+), 3 deletions(-) diff --git a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java index 6889f23bf..875969937 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java @@ -909,6 +909,28 @@ public class OrderService { // 使用微信支付 payInfo.setPayMode(OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue()); payInfo.setPayModeDesc(OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getLabel()); + + // 判断是微信支付还是汇付支付 + MemberTransactionRecord record = memberTransactionRecordService.selectByOrderCode(orderCode); + if (record != null) { + String paymentInstitutions = record.getPaymentInstitutions(); + if (StringUtils.equals(paymentInstitutions, PaymentInstitutionsEnum.WECHAT_PAY.getValue())) { + // 查微信支付回调记录 + WxpayCallbackRecord wxpayCallbackRecord = wxpayCallbackRecordService.selectByOrderCode(orderCode); + if (wxpayCallbackRecord != null) { + payInfo.setOutTradeNo(wxpayCallbackRecord.getOutTradeNo()); + payInfo.setTransactionId(wxpayCallbackRecord.getTransactionId()); + } + } else if (StringUtils.equals(paymentInstitutions, PaymentInstitutionsEnum.ADAPAY.getValue())) { + // 查询汇付支付回调 + AdapayCallbackRecord adapayCallbackRecord = adapayCallbackRecordService.selectByOrderCode(orderCode); + if (adapayCallbackRecord != null) { + payInfo.setOutTradeNo(adapayCallbackRecord.getPaymentId()); + payInfo.setTransactionId(adapayCallbackRecord.getOutTransId()); + } + } + } + // 查微信支付回调记录 WxpayCallbackRecord wxpayCallbackRecord = wxpayCallbackRecordService.selectByOrderCode(orderCode); if (wxpayCallbackRecord != null) { diff --git a/jsowell-common/src/main/java/com/jsowell/common/constant/CacheConstants.java b/jsowell-common/src/main/java/com/jsowell/common/constant/CacheConstants.java index 6c829a447..de89ff523 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/constant/CacheConstants.java +++ b/jsowell-common/src/main/java/com/jsowell/common/constant/CacheConstants.java @@ -40,7 +40,9 @@ public class CacheConstants { public static final String PILE_PROGRAM_VERSION = "pile_program_version_"; // 查询订单回调 - public static final String QUERY_ORDER_CALLBACK = "query_order_callback:"; + public static final String QUERY_ORDER_WECHAT_CALLBACK = "query_order_wechat_callback:"; + + public static final String QUERY_ORDER_ADAPAY_CALLBACK = "query_order_adapay_callback:"; // 汇付支付参数 public static final String ADAPAY_ORDER_PARAM = "adapay_order_param:"; diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/AdapayCallbackRecordServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/AdapayCallbackRecordServiceImpl.java index dcff64c2f..f1de52ee3 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/AdapayCallbackRecordServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/AdapayCallbackRecordServiceImpl.java @@ -64,7 +64,7 @@ public class AdapayCallbackRecordServiceImpl implements AdapayCallbackRecordServ if (StringUtils.isBlank(orderCode)) { return null; } - String redisKey = CacheConstants.QUERY_ORDER_CALLBACK + orderCode; + String redisKey = CacheConstants.QUERY_ORDER_ADAPAY_CALLBACK + orderCode; AdapayCallbackRecord record = redisCache.getCacheObject(redisKey); if (record != null) { return record; diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/WxpayCallbackRecordServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/WxpayCallbackRecordServiceImpl.java index d21f37cdc..cb5808e6a 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/WxpayCallbackRecordServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/WxpayCallbackRecordServiceImpl.java @@ -61,7 +61,7 @@ public class WxpayCallbackRecordServiceImpl implements WxpayCallbackRecordServic if (StringUtils.isBlank(orderCode)) { return null; } - String redisKey = CacheConstants.QUERY_ORDER_CALLBACK + orderCode; + String redisKey = CacheConstants.QUERY_ORDER_WECHAT_CALLBACK + orderCode; WxpayCallbackRecord wxpayCallbackRecord = redisCache.getCacheObject(redisKey); if (wxpayCallbackRecord != null) { return wxpayCallbackRecord; From 923cc6489202d0a830aa95ee91d879969a601ca1 Mon Sep 17 00:00:00 2001 From: Lemon Date: Fri, 7 Jul 2023 11:23:17 +0800 Subject: [PATCH 2/5] update --- .../netty/handler/LoginRequestHandler.java | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/jsowell-netty/src/main/java/com/jsowell/netty/handler/LoginRequestHandler.java b/jsowell-netty/src/main/java/com/jsowell/netty/handler/LoginRequestHandler.java index 3d921835e..414ae3c98 100644 --- a/jsowell-netty/src/main/java/com/jsowell/netty/handler/LoginRequestHandler.java +++ b/jsowell-netty/src/main/java/com/jsowell/netty/handler/LoginRequestHandler.java @@ -53,6 +53,63 @@ public class LoginRequestHandler extends AbstractHandler{ YKCOperateFactory.register(type, this); } + public static void main(String[] args) { + String msg = "8800000000009000020f56312e323035303000898604940121c138531304"; + byte[] msgBody = BytesUtil.str2Bcd(msg); + + int startIndex = 0; + int length = 7; + + // 桩编码 + byte[] pileSnByte = BytesUtil.copyBytes(msgBody, startIndex, length); + String pileSn = BytesUtil.binary(pileSnByte, 16); + // log.info("桩号:{}", pileSn); + + // 桩类型 0 表示直流桩, 1 表示交流桩 + startIndex += length; + length = 1; + byte[] pileTypeByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); + String pileType = BytesUtil.bcd2Str(pileTypeByteArr); + + // 充电枪数量 + startIndex += length; + byte[] connectorNumByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); + String connectorNum = BytesUtil.bcd2Str(connectorNumByteArr); + + // 通信协议版本 版本号乘 10,v1.0 表示 0x0A + startIndex += length; + byte[] communicationVersionByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); + // int i = Integer.parseInt(BytesUtil.bcd2Str(communicationVersionByteArr)); // 0F --> 15 + BigDecimal bigDecimal = new BigDecimal(BytesUtil.bcd2Str(communicationVersionByteArr)); + BigDecimal communicationVersionTemp = bigDecimal.divide(new BigDecimal(10)); + String communicationVersion = "v" + communicationVersionTemp; + + // 程序版本 + startIndex += length; + length = 8; + byte[] programVersionByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); + String programVersion = BytesUtil.ascii2Str(programVersionByteArr); + log.info("程序版本:{} length:{}", programVersion, programVersion.length()); + + // 网络连接类型 0x00 SIM 卡 0x01 LAN 0x02 WAN 0x03 其他 + startIndex += length; + length = 1; + byte[] internetConnectionTypeByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); + String internetConnection = BytesUtil.bcd2Str(internetConnectionTypeByteArr); + + // sim卡 + startIndex += length; + length = 10; + byte[] simCardNumByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); + String iccid = BytesUtil.bin2HexStr(simCardNumByteArr); + + // 运营商 0x00 移动 0x02 电信 0x03 联通 0x04 其他 + startIndex += length; + length = 1; + byte[] businessTypeByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); + String business = BytesUtil.bcd2Str(businessTypeByteArr); + } + @Override public byte[] supplyProcess(YKCDataProtocol ykcDataProtocol, Channel channel) { log.info("[===执行登录逻辑===] param:{}, channel:{}", JSONObject.toJSONString(ykcDataProtocol), channel.toString()); From 193fa58b2e22cfa078116e080effccc0bf3e1538 Mon Sep 17 00:00:00 2001 From: Lemon Date: Fri, 7 Jul 2023 11:44:36 +0800 Subject: [PATCH 3/5] update --- .../jsowell/web/controller/pile/OrderBasicInfoController.java | 1 - .../src/main/java/com/jsowell/pile/dto/QueryOrderDTO.java | 4 ++++ .../jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java | 3 +++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/OrderBasicInfoController.java b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/OrderBasicInfoController.java index d445aa540..67d902d53 100644 --- a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/OrderBasicInfoController.java +++ b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/OrderBasicInfoController.java @@ -156,7 +156,6 @@ public class OrderBasicInfoController extends BaseController { @PreAuthorize("@ss.hasPermi('order:order:list')") @PostMapping("/getMerchantOrderList") public TableDataInfo getMerchantOrderList(@RequestBody QueryOrderDTO dto) { - PageUtils.startPage(); return getDataTable(orderBasicInfoService.getMerchantOrderInfoList(dto)); } } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryOrderDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryOrderDTO.java index 8e41fa315..b648563c6 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryOrderDTO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryOrderDTO.java @@ -63,4 +63,8 @@ public class QueryOrderDTO extends BaseEntity { * 结束时间 */ private String endTime; + + private int pageSize; + + private int pageNum; } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index 7968050f5..bff689a09 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -1987,11 +1987,14 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { */ @Override public List getMerchantOrderInfoList(QueryOrderDTO dto) { + int pageNum = dto.getPageNum() == 0 ? 1 : dto.getPageNum(); + int pageSize = dto.getPageSize() == 0 ? 10 : dto.getPageSize(); String startTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.addDays(new Date(), -7)); startTime = dto.getStartTime() == null ? startTime : dto.getStartTime(); dto.setStartTime(startTime); + PageUtils.startPage(pageNum, pageSize); return orderBasicInfoMapper.getMerchantOrderInfoList(dto); } } From 753ed465f19b4bcea74efcad3f329bab1c7a9d99 Mon Sep 17 00:00:00 2001 From: Lemon Date: Fri, 7 Jul 2023 13:15:19 +0800 Subject: [PATCH 4/5] update --- .../web/controller/pile/PileMerchantInfoController.java | 7 ++++++- .../pile/service/impl/PileMerchantInfoServiceImpl.java | 1 - jsowell-ui/src/api/pile/merchant.js | 5 +++-- jsowell-ui/src/views/financial/merchant.vue | 5 ++++- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileMerchantInfoController.java b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileMerchantInfoController.java index 705c1fa6b..089b2538a 100644 --- a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileMerchantInfoController.java +++ b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileMerchantInfoController.java @@ -5,9 +5,11 @@ import com.jsowell.common.annotation.Log; import com.jsowell.common.core.controller.BaseController; import com.jsowell.common.core.domain.AjaxResult; import com.jsowell.common.core.domain.vo.AuthorizedDeptVO; +import com.jsowell.common.core.page.PageResponse; import com.jsowell.common.core.page.TableDataInfo; import com.jsowell.common.enums.BusinessType; import com.jsowell.common.exception.BusinessException; +import com.jsowell.common.util.PageUtils; import com.jsowell.common.util.SecurityUtils; import com.jsowell.common.util.StringUtils; import com.jsowell.common.util.poi.ExcelUtil; @@ -121,13 +123,16 @@ public class PileMerchantInfoController extends BaseController { */ @PreAuthorize("@ss.hasPermi('pile:merchant:query')") @GetMapping("/getFinancialMerchantList") - public TableDataInfo getFinancialMerchantList() { + public TableDataInfo getFinancialMerchantList(PageResponse pageResponse) { + int pageNum = pageResponse.getPageNum() == 0 ? 1 : pageResponse.getPageNum(); + int pageSize = pageResponse.getPageSize() == 0 ? 10 : pageResponse.getPageSize(); // 权限过滤 AuthorizedDeptVO authorizedMap = SecurityUtils.getAuthorizedMap(); if (authorizedMap == null) { // 为空表示没有权限,返回空数组 return new TableDataInfo(); } + PageUtils.startPage(pageNum, pageSize); return getDataTable(pileMerchantInfoService.queryInfoListByIds(authorizedMap)); } } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileMerchantInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileMerchantInfoServiceImpl.java index c3ea1738a..3580d5bfc 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileMerchantInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileMerchantInfoServiceImpl.java @@ -262,7 +262,6 @@ public class PileMerchantInfoServiceImpl implements IPileMerchantInfoService { String deptId = authorizedMap.getDeptId(); deptIds.add(deptId); } - PageUtils.startPage(); return pileMerchantInfoMapper.queryInfoListByIds(deptIds); } } diff --git a/jsowell-ui/src/api/pile/merchant.js b/jsowell-ui/src/api/pile/merchant.js index 605759392..66067d6b4 100644 --- a/jsowell-ui/src/api/pile/merchant.js +++ b/jsowell-ui/src/api/pile/merchant.js @@ -53,9 +53,10 @@ export function getMerchantList(query) { } // 财务管理页面获取运营商列表 -export function getFinancialMerchantList() { +export function getFinancialMerchantList(param) { return request({ url: '/pile/merchant/getFinancialMerchantList', - method: 'get' + method: 'get', + params: param }) } diff --git a/jsowell-ui/src/views/financial/merchant.vue b/jsowell-ui/src/views/financial/merchant.vue index 3ef64aa81..5cb2a4e49 100644 --- a/jsowell-ui/src/views/financial/merchant.vue +++ b/jsowell-ui/src/views/financial/merchant.vue @@ -243,7 +243,10 @@ export default { }, // 获取运营商列表 getFinancialMerchantList() { - getFinancialMerchantList().then((response) => { + const params = { + + } + getFinancialMerchantList(params).then((response) => { console.log("response", response) this.merchantList = response.rows; console.log("response.total", response.total) From 583dbdbd8a20efd5fdb9b7dcd24b2eb58001c739 Mon Sep 17 00:00:00 2001 From: Lemon Date: Fri, 7 Jul 2023 13:29:36 +0800 Subject: [PATCH 5/5] update --- .../pile/PileMerchantInfoController.java | 9 +++++---- .../main/java/com/jsowell/pile/dto/PageDTO.java | 16 ++++++++++++++++ jsowell-ui/src/api/pile/merchant.js | 6 +++--- jsowell-ui/src/views/financial/merchant.vue | 3 ++- 4 files changed, 26 insertions(+), 8 deletions(-) create mode 100644 jsowell-pile/src/main/java/com/jsowell/pile/dto/PageDTO.java diff --git a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileMerchantInfoController.java b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileMerchantInfoController.java index 089b2538a..eb41832ce 100644 --- a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileMerchantInfoController.java +++ b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileMerchantInfoController.java @@ -15,6 +15,7 @@ import com.jsowell.common.util.StringUtils; import com.jsowell.common.util.poi.ExcelUtil; import com.jsowell.pile.domain.PileMerchantInfo; import com.jsowell.pile.dto.CreateMerchantDTO; +import com.jsowell.pile.dto.PageDTO; import com.jsowell.pile.service.IPileMerchantInfoService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; @@ -122,10 +123,10 @@ public class PileMerchantInfoController extends BaseController { * @return */ @PreAuthorize("@ss.hasPermi('pile:merchant:query')") - @GetMapping("/getFinancialMerchantList") - public TableDataInfo getFinancialMerchantList(PageResponse pageResponse) { - int pageNum = pageResponse.getPageNum() == 0 ? 1 : pageResponse.getPageNum(); - int pageSize = pageResponse.getPageSize() == 0 ? 10 : pageResponse.getPageSize(); + @PostMapping("/getFinancialMerchantList") + public TableDataInfo getFinancialMerchantList(@RequestBody PageDTO dto) { + int pageNum = dto.getPageNum() == 0 ? 1 : dto.getPageNum(); + int pageSize = dto.getPageSize() == 0 ? 10 : dto.getPageSize(); // 权限过滤 AuthorizedDeptVO authorizedMap = SecurityUtils.getAuthorizedMap(); if (authorizedMap == null) { diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/dto/PageDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/dto/PageDTO.java new file mode 100644 index 000000000..be1af36e1 --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/dto/PageDTO.java @@ -0,0 +1,16 @@ +package com.jsowell.pile.dto; + +import lombok.Data; + +/** + * TODO + * + * @author Lemon + * @Date 2023/7/7 13:27 + */ +@Data +public class PageDTO { + private Integer pageSize; + private Integer pageNum; + +} diff --git a/jsowell-ui/src/api/pile/merchant.js b/jsowell-ui/src/api/pile/merchant.js index 66067d6b4..37ef44884 100644 --- a/jsowell-ui/src/api/pile/merchant.js +++ b/jsowell-ui/src/api/pile/merchant.js @@ -53,10 +53,10 @@ export function getMerchantList(query) { } // 财务管理页面获取运营商列表 -export function getFinancialMerchantList(param) { +export function getFinancialMerchantList(data) { return request({ url: '/pile/merchant/getFinancialMerchantList', - method: 'get', - params: param + method: 'post', + data: data }) } diff --git a/jsowell-ui/src/views/financial/merchant.vue b/jsowell-ui/src/views/financial/merchant.vue index 5cb2a4e49..ed621fe4a 100644 --- a/jsowell-ui/src/views/financial/merchant.vue +++ b/jsowell-ui/src/views/financial/merchant.vue @@ -244,7 +244,8 @@ export default { // 获取运营商列表 getFinancialMerchantList() { const params = { - + pageNum:1, + pageSize:2 } getFinancialMerchantList(params).then((response) => { console.log("response", response)