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 5c1bf3cbd..486135d61 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java @@ -1,6 +1,7 @@ package com.jsowell.service; import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; @@ -274,9 +275,10 @@ public class OrderService { } // 封装对象 + String amount = AdapayUtil.formatAmount(dto.getPayAmount()); // 用户支付金额 CreateAdaPaymentParam createAdaPaymentParam = new CreateAdaPaymentParam(); createAdaPaymentParam.setOrder_no(orderInfo.getOrderCode()); - createAdaPaymentParam.setPay_amt(AdapayUtil.formatAmount(dto.getPayAmount())); + createAdaPaymentParam.setPay_amt(amount); createAdaPaymentParam.setApp_id(ADAPAY_APP_ID); // todo 后面移动到配置文件中 createAdaPaymentParam.setPay_channel("wx_lite"); // todo 如果以后有支付宝等别的渠道,这里需要做修改,判断是什么渠道的请求 createAdaPaymentParam.setGoods_title("充电费用"); @@ -288,12 +290,26 @@ public class OrderService { //异步通知地址,url为http/https路径,服务器POST回调,URL 上请勿附带参数 createAdaPaymentParam.setNotify_url(ADAPAY_CALLBACK_URL); createAdaPaymentParam.setExpend(JSONObject.toJSONString( ImmutableMap.of("open_id", openId))); + + // 分账对象信息 + String adapayMemberId = pileStationInfoService.selectAdapayMemberId(orderInfo.getStationId()); + if (StringUtils.isNotBlank(adapayMemberId)) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("member_id", adapayMemberId); + jsonObject.put("amount", amount); + jsonObject.put("fee_flag", Constants.Y); + + // 分账对象信息列表,最多仅支持7个分账方,json 数组形式 + JSONArray jsonArray = new JSONArray(); + jsonArray.add(jsonObject); + createAdaPaymentParam.setDiv_members(jsonArray.toString()); + } try { log.info("创建汇付支付参数:{}", JSONObject.toJSONString(createAdaPaymentParam)); Map response = Payment.create(BeanMap.create(createAdaPaymentParam)); if (response != null && !response.isEmpty()) { - JSONObject jsonObject = JSONObject.parseObject(response.get("expend").toString()); - JSONObject pay_info = jsonObject.getJSONObject("pay_info"); + JSONObject expend = JSONObject.parseObject(response.get("expend").toString()); + JSONObject pay_info = expend.getJSONObject("pay_info"); Map resultMap = JSONObject.parseObject(pay_info.toJSONString(), new TypeReference>() { }); if (resultMap != null) { diff --git a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/AdapayMemberController.java b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/AdapayMemberController.java index 7445eace0..ef70553fb 100644 --- a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/AdapayMemberController.java +++ b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/AdapayMemberController.java @@ -56,4 +56,12 @@ public class AdapayMemberController extends BaseController { } return result; } + + /** + * 查询汇付结算账户 + */ + @PostMapping("/selectSettleAccount") + public AjaxResult selectSettleAccount(@RequestBody AdapayMemberInfoDTO dto) { + return null; + } } diff --git a/jsowell-common/src/main/java/com/jsowell/common/constant/Constants.java b/jsowell-common/src/main/java/com/jsowell/common/constant/Constants.java index 76854b2c5..ea7c347d5 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/constant/Constants.java +++ b/jsowell-common/src/main/java/com/jsowell/common/constant/Constants.java @@ -217,4 +217,10 @@ public class Constants { */ public static final String[] JOB_ERROR_STR = {"java.net.URL", "javax.naming.InitialContext", "org.yaml.snakeyaml", "org.springframework", "org.apache", "com.jsowell.common.util.file"}; + + // Y-是 + public static final String Y = "Y"; + + // N-否 + public static final String N = "N"; } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileStationInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileStationInfoService.java index 625e292ad..20f502766 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileStationInfoService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileStationInfoService.java @@ -94,4 +94,6 @@ public interface IPileStationInfoService { List getStationInfoForLianLian(); List queryByStationDeptIds(List stationIds); + + String selectAdapayMemberId(String stationId); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationInfoServiceImpl.java index 882734b6d..e7c4d3e9e 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationInfoServiceImpl.java @@ -118,7 +118,7 @@ public class PileStationInfoServiceImpl implements IPileStationInfoService { if (StringUtils.isNotBlank(pileStationInfo.getQrcodePrefix())) { vo.setQrcodePrefix(pileStationInfo.getQrcodePrefix()); } - vo.setMerchantId(pileStationInfo.getMerchantId().toString()); + // vo.setMerchantId(pileStationInfo.getMerchantId().toString()); // vo.setMerchantName(pileStationInfo.getmer()); vo.setMerchantAdminName(pileStationInfo.getStationAdminName()); vo.setStationStatus(Integer.parseInt(pileStationInfo.getStationStatus())); @@ -326,18 +326,7 @@ public class PileStationInfoServiceImpl implements IPileStationInfoService { // 小程序站点列表页只展示对外开放的站点 dto.setPublicFlag(Constants.ONE); // 根据前台参数分页 - // PageHelper.startPage(pageNum, pageSize); List list = pileStationInfoMapper.queryStationInfos(dto); - // PageInfo pageInfo = new PageInfo<>(list); - // if (CollectionUtils.isEmpty(pageInfo.getList())) { - // return PageResponse.builder() - // .pageNum(pageInfo.getPageNum()) - // .pageSize(pageInfo.getPageSize()) - // .list(Lists.newArrayList()) - // .pages(pageInfo.getPages()) - // .total(pageInfo.getTotal()) - // .build(); - // } List stationVOList = Lists.newArrayList(); StationInfoVO stationVO = null; @@ -430,5 +419,15 @@ public class PileStationInfoServiceImpl implements IPileStationInfoService { .build(); } + /** + * 根据站点id查询运营商配置的汇付会员id + * @param stationId + * @return + */ + @Override + public String selectAdapayMemberId(String stationId) { + return null; + } + } diff --git a/jsowell-ui/src/views/pile/merchant/components/adapayMember.vue b/jsowell-ui/src/views/pile/merchant/components/adapayMember.vue index e8accdcc0..de75c9922 100644 --- a/jsowell-ui/src/views/pile/merchant/components/adapayMember.vue +++ b/jsowell-ui/src/views/pile/merchant/components/adapayMember.vue @@ -312,7 +312,7 @@ export default { this.$refs[formName].resetFields(); }, // 查询汇付会员 - getList() { + selectAdapayMember() { console.log("this.merchantId", this.merchantId); let param = { merchantId: this.merchantId, @@ -323,9 +323,14 @@ export default { this.adapayMember = response.data; }); }, + // 查询汇付结算账户 + selectSettleAccount() { + + } }, created() { - this.getList(); + this.selectAdapayMember(); + this.selectSettleAccount(); }, };