diff --git a/jsowell-admin/src/main/java/com/jsowell/thirdparty/lianlian/LianLianController.java b/jsowell-admin/src/main/java/com/jsowell/thirdparty/lianlian/LianLianController.java index 5f9969489..242a387db 100644 --- a/jsowell-admin/src/main/java/com/jsowell/thirdparty/lianlian/LianLianController.java +++ b/jsowell-admin/src/main/java/com/jsowell/thirdparty/lianlian/LianLianController.java @@ -343,7 +343,7 @@ public class LianLianController extends BaseController { String dataStr = new String(plainText, StandardCharsets.UTF_8); // 转换成相应对象 QueryStartChargeDTO queryStartChargeDTO = JSONObject.parseObject(dataStr, QueryStartChargeDTO.class); - queryStartChargeDTO.setOperatorID(dto.getOperatorID()); + queryStartChargeDTO.setOperatorId(dto.getOperatorID()); Map map = lianLianService.query_start_charge(queryStartChargeDTO); return CommonResult.success(0, "请求启动充电成功!", map.get("Data"), map.get("Sig")); @@ -467,7 +467,7 @@ public class LianLianController extends BaseController { String dataStr = new String(plainText, StandardCharsets.UTF_8); // 转换成相应对象 QueryStartChargeDTO queryStartChargeDTO = JSONObject.parseObject(dataStr, QueryStartChargeDTO.class); - queryStartChargeDTO.setOperatorID(dto.getOperatorID()); + queryStartChargeDTO.setOperatorId(dto.getOperatorID()); Map map = lianLianService.query_stop_charge(queryStartChargeDTO); return CommonResult.success(0, "请求停止充电成功!", map.get("Data"), map.get("Sig")); diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryEquipmentDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryEquipmentDTO.java index b2fc0f30d..79b0ae060 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryEquipmentDTO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryEquipmentDTO.java @@ -17,14 +17,14 @@ public class QueryEquipmentDTO { * 27 字符 */ @JsonProperty(value = "EquipAuthSeq") - private String EquipAuthSeq; + private String equipAuthSeq; /** * 充电设备接口编码 */ @JsonProperty(value = "ConnectorID") - private String ConnectorID; + private String connectorID; @JsonProperty(value = "OperatorID") - private String OperatorID; + private String operatorID; } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryStartChargeDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryStartChargeDTO.java index 42ae9015f..553c1b534 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryStartChargeDTO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryStartChargeDTO.java @@ -15,32 +15,32 @@ public class QueryStartChargeDTO { * 充电订单号 */ @JsonProperty(value = "StartChargeSeq") - private String StartChargeSeq; + private String startChargeSeq; /** * 充电设备接口编码 */ @JsonProperty(value = "ConnectorID") - private String ConnectorID; + private String connectorID; /** * 二维码 */ @JsonProperty(value = "QRCode") - private String QRCode; + private String qrCode; /** * 用户手机号 */ @JsonProperty(value = "PhoneNum") - private String PhoneNum; + private String phoneNum; /** * 车牌号 */ @JsonProperty(value = "PlateNum") - private String PlateNum; + private String plateNum; @JsonProperty(value = "OperatorID") - private String OperatorID; + private String operatorId; } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/MerchantClearingBillVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/MerchantClearingBillVO.java index 759be6d48..f20eedf3b 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/MerchantClearingBillVO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/MerchantClearingBillVO.java @@ -46,4 +46,7 @@ public class MerchantClearingBillVO { // 提现单号 private String withdrawCode; + + // 提现申请时间 + private String applicationTime; } diff --git a/jsowell-pile/src/main/resources/mapper/pile/ClearingBillInfoMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/ClearingBillInfoMapper.xml index 2ff38f6b2..e19a8cbed 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/ClearingBillInfoMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/ClearingBillInfoMapper.xml @@ -774,9 +774,11 @@ t1.actual_clearing_amount as actualClearingAmount, t1.fee_amount as feeAmount, t1.withdrawable_amount as withdrawAbleAmount, - t1.withdraw_code as withdrawCode + t1.withdraw_code as withdrawCode, + t3.application_time as applicationTime from clearing_bill_info t1 join pile_merchant_info t2 on t1.merchant_id = t2.id and t1.del_flag = '0' + left join clearing_withdraw_info t3 on t3.withdraw_code = t1.withdraw_code and t3.del_flag = '0' where t1.merchant_id = #{merchantId,jdbcType=VARCHAR} and t1.trade_date between #{startTime,jdbcType=VARCHAR} and #{endTime,jdbcType=VARCHAR} order by diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/service/impl/LianLianServiceImpl.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/service/impl/LianLianServiceImpl.java index e20dc5334..9b81187bd 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/service/impl/LianLianServiceImpl.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/service/impl/LianLianServiceImpl.java @@ -605,7 +605,7 @@ public class LianLianServiceImpl implements LianLianService { // 平台已存在订单 return null; } - ThirdPartyPlatformConfig configInfo = thirdPartyPlatformConfigService.getInfoByOperatorId(dto.getOperatorID()); + ThirdPartyPlatformConfig configInfo = thirdPartyPlatformConfigService.getInfoByOperatorId(dto.getOperatorId()); if (configInfo == null) { return null; } @@ -737,7 +737,7 @@ public class LianLianServiceImpl implements LianLianService { if (orderInfo == null) { return null; } - ThirdPartyPlatformConfig configInfo = thirdPartyPlatformConfigService.getInfoByOperatorId(dto.getOperatorID()); + ThirdPartyPlatformConfig configInfo = thirdPartyPlatformConfigService.getInfoByOperatorId(dto.getOperatorId()); if (configInfo == null) { return null; } @@ -752,6 +752,8 @@ public class LianLianServiceImpl implements LianLianService { vo.setStartChargeSeq(orderCode); vo.setStartChargeSeqStat(3); // 3-停止中 } + vo.setSuccStat(0); + vo.setFailReason(0); // 加密 Map resultMap = Maps.newLinkedHashMap(); // 加密数据 diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/yongchengboche/dto/YCBCGetTokenDTO.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/yongchengboche/dto/YCBCGetTokenDTO.java new file mode 100644 index 000000000..3785867e9 --- /dev/null +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/yongchengboche/dto/YCBCGetTokenDTO.java @@ -0,0 +1,12 @@ +package com.jsowell.thirdparty.yongchengboche.dto; + +import com.jsowell.thirdparty.zhongdianlian.dto.ZDLGetTokenDTO; + +/** + * TODO + * + * @author Lemon + * @Date 2023/10/30 15:49:51 + */ +public class YCBCGetTokenDTO extends ZDLGetTokenDTO { +} diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/yongchengboche/dto/YCCommonParamsDTO.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/yongchengboche/dto/YCCommonParamsDTO.java new file mode 100644 index 000000000..ac8ab4d3f --- /dev/null +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/yongchengboche/dto/YCCommonParamsDTO.java @@ -0,0 +1,18 @@ +package com.jsowell.thirdparty.yongchengboche.dto; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.jsowell.thirdparty.lianlian.dto.CommonParamsDTO; +import lombok.Data; + +/** + * 甬城泊车通用请求参数DTO + * + * @author Lemon + * @Date 2023/10/30 15:53:35 + */ +@Data +public class YCCommonParamsDTO extends CommonParamsDTO { + + @JsonProperty(value = "AccessName") + private String accessName; +} diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/yongchengboche/service/YCBCService.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/yongchengboche/service/YCBCService.java new file mode 100644 index 000000000..d40343bfe --- /dev/null +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/yongchengboche/service/YCBCService.java @@ -0,0 +1,105 @@ +package com.jsowell.thirdparty.yongchengboche.service; + +import com.jsowell.pile.dto.QueryEquipChargeStatusDTO; +import com.jsowell.pile.dto.QueryEquipmentDTO; +import com.jsowell.pile.dto.QueryStartChargeDTO; +import com.jsowell.pile.dto.QueryStationInfoDTO; +import com.jsowell.thirdparty.yongchengboche.dto.YCBCGetTokenDTO; + +import java.io.UnsupportedEncodingException; +import java.util.Map; + +/** + * 甬城泊车 Service + * + * @author Lemon + * @Date 2023/10/30 15:44:09 + */ +public interface YCBCService { + /** + * 获取令牌 + * @param dto + * @return + */ + public String YCBCGetToken(YCBCGetTokenDTO dto); + + /** + * 查询站点信息 + * @param dto + * @return + */ + public Map queryStationsInfo(QueryStationInfoDTO dto); + + /** + * 设备接口状态查询 + * 此接口用于批量查询设备实时状态 + * + * @param dto + * @return + */ + Map queryStationStatus(QueryStationInfoDTO dto); + + + /** + * 设备状态变化推送 + * @param pileConnectorCode + * @param status + * @return + */ + String notificationStationStatus(String pileConnectorCode, String status); + + + /** + * 请求设备认证 + * @param dto + * @return + */ + Map queryEquipAuth(QueryEquipmentDTO dto); + + /** + * 请求开始充电 + * @param dto + * @return + */ + Map queryStartCharge(QueryStartChargeDTO dto); + + /** + * 推送启动充电结果 + * @return + */ + String pushStartChargeResult(String orderCode); + + /** + * 查询充电状态 + * @param dto + */ + Map queryEquipChargeStatus(QueryEquipChargeStatusDTO dto); + + /** + * 推送充电状态 + * @param orderCode + * @return + */ + String pushChargeStatus(String orderCode) throws UnsupportedEncodingException; + + /** + * 请求停止充电 + * @param dto + * @return + */ + Map queryStopCharge(QueryStartChargeDTO dto); + + /** + * 推送停止充电结果(仅在 0x19的帧类型中调用) + * @param orderCode + * @return + */ + String pushStopChargeResult(String orderCode); + + /** + * 推送充电订单信息 + * @param orderCode + * @return + */ + String pushChargeOrderInfo(String orderCode); +} \ No newline at end of file diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/yongchengboche/service/impl/YCBCServiceImpl.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/yongchengboche/service/impl/YCBCServiceImpl.java new file mode 100644 index 000000000..b2f737094 --- /dev/null +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/yongchengboche/service/impl/YCBCServiceImpl.java @@ -0,0 +1,154 @@ +package com.jsowell.thirdparty.yongchengboche.service.impl; + +import com.jsowell.pile.dto.QueryEquipChargeStatusDTO; +import com.jsowell.pile.dto.QueryEquipmentDTO; +import com.jsowell.pile.dto.QueryStartChargeDTO; +import com.jsowell.pile.dto.QueryStationInfoDTO; +import com.jsowell.thirdparty.lianlian.service.LianLianService; +import com.jsowell.thirdparty.yongchengboche.dto.YCBCGetTokenDTO; +import com.jsowell.thirdparty.yongchengboche.service.YCBCService; +import com.jsowell.thirdparty.zhongdianlian.service.ZDLService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.io.UnsupportedEncodingException; +import java.util.Map; + +/** + * 甬城泊车 Service + * + * @author Lemon + * @Date 2023/10/30 15:44:58 + */ +@Service +public class YCBCServiceImpl implements YCBCService { + + @Autowired + private ZDLService zdlService; + + @Autowired + private LianLianService lianLianService; + + + /** + * 获取令牌 + * @param dto + * @return + */ + @Override + public String YCBCGetToken(YCBCGetTokenDTO dto) { + return zdlService.ZDLGetToken(dto); + } + + /** + * 获取充电站信息 + * @param dto + * @return + */ + @Override + public Map queryStationsInfo(QueryStationInfoDTO dto) { + return zdlService.queryStationsInfo(dto); + } + + + /** + * 设备接口状态查询 + * @param dto + * @return + */ + @Override + public Map queryStationStatus(QueryStationInfoDTO dto) { + return zdlService.queryStationStatus(dto); + } + + /** + * 设备状态变化推送 + * @param pileConnectorCode + * @param status + * @return + */ + @Override + public String notificationStationStatus(String pileConnectorCode, String status) { + return zdlService.notificationStationStatus(pileConnectorCode, status); + } + + /** + * 请求设备认证 + * @param dto + * @return + */ + @Override + public Map queryEquipAuth(QueryEquipmentDTO dto) { + return lianLianService.query_equip_auth(dto); + } + + /** + * 请求开始充电 + * @param dto + * @return + */ + @Override + public Map queryStartCharge(QueryStartChargeDTO dto) { + return lianLianService.query_start_charge(dto); + } + + /** + * 推送启动充电结果 + * @return + */ + @Override + public String pushStartChargeResult(String orderCode) { + return lianLianService.pushStartChargeResult(orderCode); + } + + /** + * 查询充电状态 + * @param dto + */ + @Override + public Map queryEquipChargeStatus(QueryEquipChargeStatusDTO dto) { + return lianLianService.query_equip_charge_status(dto); + } + + /** + * 推送充电状态 + * @param orderCode + * @return + */ + @Override + public String pushChargeStatus(String orderCode) throws UnsupportedEncodingException { + return lianLianService.pushChargeStatus(orderCode); + } + + /** + * 请求停止充电 + * @param dto + * @return + */ + @Override + public Map queryStopCharge(QueryStartChargeDTO dto) { + return lianLianService.query_stop_charge(dto); + } + + /** + * 推送停止充电结果(仅在 0x19的帧类型中调用) + * @param orderCode + * @return + */ + @Override + public String pushStopChargeResult(String orderCode) { + return lianLianService.pushStopChargeResult(orderCode); + } + + /** + * 推送充电订单信息 + * @param orderCode + * @return + */ + @Override + public String pushChargeOrderInfo(String orderCode) { + return lianLianService.pushChargeOrderInfo(orderCode); + } + + +} diff --git a/jsowell-ui/src/views/financial/financeDetail.vue b/jsowell-ui/src/views/financial/financeDetail.vue index 7429dfe80..553f78f78 100644 --- a/jsowell-ui/src/views/financial/financeDetail.vue +++ b/jsowell-ui/src/views/financial/financeDetail.vue @@ -1,6 +1,6 @@ @@ -428,10 +301,8 @@ export default { if (code == null) { return ""; } - // if (code === undefined) return; const bankList = text.bankList; let arr = bankList.find((item) => item.bankCode === code); - // console.log("银行编码对应的银行名称 arr", arr); if (arr.bankName != null) { this.bankName = arr.bankName; } @@ -484,7 +355,6 @@ export default { this.orderList = res.rows; this.orderTotal = res.total; this.orderLoading = false; - // console.log("this.orderTotal", this.orderTotal); }); }, // 弹层关闭之前执行的事情 @@ -508,7 +378,6 @@ export default { getList() { console.log("queryParams", this.queryParams); getMerchantOrderReport(this.reportQueryParams).then((response) => { - // console.log("查询报表", reportList, merchantOrderReport); console.log("getMerchantOrderReport", response); if (response.data) { this.merchantOrderReport = response.data.merchantOrderReport; @@ -540,7 +409,7 @@ export default { }); this.dialogVisible = false; }) - .catch((_) => {}); + .catch((_) => { }); }, // 点击提交按钮 submit() { @@ -581,6 +450,9 @@ export default { this.reportQueryParams.endTime = end; this.getList(); }, + already() { + this.recordDialog = true + } }, created() { this.defaultDate(); @@ -594,58 +466,83 @@ export default { .color60 { color: #606266; } + .center { display: flex; align-content: center; margin-top: 30px; } + .margin-20 { margin: 20px 0; font-size: 20px; } + .font-13 { font-size: 13px; } + .header { + display: flex; + align-items: center; +} + +.header-cont { display: flex; justify-content: space-between; align-items: center; } + .header-txt { font-size: 24px; } + .text { font-size: 12px; color: red; } + .foot1 { - width: 25%; + width: 20%; margin-top: 10px; - // .el-descriptions__body .el-descriptions__table { - // width: 0 !important; - // } + + ::v-deep .el-descriptions-item__label { + width: 80px; + margin-right: 0; + } } + .foot2 { margin-left: 10px; margin-right: 10px; - width: 200px; + width: 450px; + + ::v-deep .el-descriptions-item__label { + width: 105px; + margin-right: 0; + } } + .foot3 { - width: 200px; + width: 400px; margin-right: 10px; + + ::v-deep .el-descriptions-item__label { + width: 108px; + margin-right: 0; + } } + .foot4 { display: inline-block; - // flex: 1; - // display: flex; - // justify-content: space-between; - // margin-left: 50px; } + .margin-right { - width: 180px; - margin-right: 10px; + width: 500px; + // margin-right: 50px; text-align: center; } + .color { color: #000; font-weight: bolder;