diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxAllBillController.java b/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxAllBillController.java index cd1b1b014..3710393ac 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxAllBillController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxAllBillController.java @@ -227,6 +227,7 @@ public class WxAllBillController extends BillBaseController { vo.setMerchantId(m.getId()); vo.setMerchantName(m.getName()); vo.setShopNumber(billAllHelper.getMerchantShopNumber(m)); + vo.setRentArea(billAllHelper.getMerchantShopRentArea(m)); wxMerchant.setIsPreview(EnumYesOrNo.NO.getCode()); if (null != wxMerchant.getOnlyOwe() && EnumYesOrNo.YES.getCode().intValue() == wxMerchant.getOnlyOwe().intValue()) { wxMerchant.setOweBillBeforeDays(getOweBillBeforeDays()); diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxBillController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxBillController.java index 40f32180d..e1d0ddf35 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxBillController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxBillController.java @@ -116,7 +116,9 @@ public class WxBillController extends BaseController { */ @GetMapping("notifyList") public ResultData notifyList(@ModelAttribute WxMerchant wxMerchant) { - wxMerchant.setId(this.getLoginBUser().getMerchantId()); + WxMerchantBUser buser = this.getLoginBUser(); + wxMerchant.setId(buser.getMerchantId()); + wxMerchant.updateTenantInfo(buser); return new ResultData(billAllHelper.getBillNotifyList(wxMerchant,EnumYesOrNo.YES.getCode())); } @@ -129,8 +131,10 @@ public class WxBillController extends BaseController { */ @GetMapping("oweBillList") public ResultData oweBillList(@ModelAttribute WxMerchant wxMerchant) { - wxMerchant.setId(this.getLoginBUser().getMerchantId()); + WxMerchantBUser buser = this.getLoginBUser(); + wxMerchant.setId(buser.getMerchantId()); wxMerchant.setOweBillBeforeDays(getOweBillBeforeDays()); + wxMerchant.updateTenantInfo(buser); return new ResultData(billAllHelper.getBillNotifyList(wxMerchant,null)); } @@ -152,7 +156,9 @@ public class WxBillController extends BaseController { */ @GetMapping("nearBillList") public ResultData nearBillList(@ModelAttribute WxMerchant wxMerchant) { - wxMerchant.setId(this.getLoginBUser().getMerchantId()); + WxMerchantBUser buser = this.getLoginBUser(); + wxMerchant.updateTenantInfo(buser); + wxMerchant.setId(buser.getMerchantId()); wxMerchant.setOweBillBeforeDays(getOweBillBeforeDays()); wxMerchant.setNearBillBeforeDays(getNearBillBeforeDays()); return new ResultData(billAllHelper.getBillNotifyList(wxMerchant,null)); @@ -272,7 +278,7 @@ public class WxBillController extends BaseController { } try { Object result = payBillServiceFactory.getPayAdapterService(wxPayAccountBill.getPayChannel()) - .createPay(wxPayAccountBill,this.getLoginBUser(),billdetail,Double.parseDouble(payMoney), paramMap); + .createPay(wxPayAccountBill,this.getLoginBUser(),this.getCUser(),billdetail,Double.parseDouble(payMoney), paramMap); if (null == result) { return new ResultData(Result.ERROR,"账单支付错误,请联系管理员"); } diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxInfoController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxInfoController.java index 10781ccbf..20e139b55 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxInfoController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxInfoController.java @@ -273,6 +273,9 @@ public class WxInfoController extends BaseController { tenantEntity.setTenantId(wxAppinfo.getTenantId()); CUser buser = cuserFactory.getBUserService(appPlat).getByOpenId(openId,tenantEntity.getTenantId()); + if (null == buser) { + return new ResultData(ErrorCode.APP_PLAT_ERROR.getCode(),"请先登录小程序授权之后再进入。"); + } try { // 解密 diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxAllBill.java b/mallinkService/src/main/java/com/iformall/domain/po/WxAllBill.java index 4b7e10341..dfc929d58 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxAllBill.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxAllBill.java @@ -266,6 +266,9 @@ public class WxAllBill extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value = "账单额外生成来源EnumBillExtraCreateFrom", name = "extraCreateFrom") private Integer extraCreateFrom; + @io.swagger.annotations.ApiModelProperty(value = "计费面积", name = "rentArea") + private String rentArea; + @io.swagger.annotations.ApiModelProperty(value="楼座号",name="building") @TableField(exist = false) public Long building; diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxMerchantBillVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxMerchantBillVo.java index e7aa89fc5..6c387bf3b 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxMerchantBillVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxMerchantBillVo.java @@ -26,6 +26,8 @@ public class WxMerchantBillVo implements Serializable { @Excel(name = "商铺号", width = 20, orderNum = "3") @TableField(exist = false) private String shopNumber; + @TableField(exist = false) + private String rentArea; private String needPay; diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxShopVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxShopVo.java index 61ff98b0a..6f785f82e 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxShopVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxShopVo.java @@ -41,4 +41,8 @@ public class WxShopVo extends WxShop { @io.swagger.annotations.ApiModelProperty(value="经营业态",name="business") @Excel(name="经营业态",width = 20,orderNum = "9") private String business; + + @io.swagger.annotations.ApiModelProperty(value="计租面积",name="operationArea") + @Excel(name="计租面积",width = 20,orderNum = "13") + private String operationArea; } diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumBillPayChannel.java b/mallinkService/src/main/java/com/iformall/enums/EnumBillPayChannel.java index 47d23323f..eb8fef4a4 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumBillPayChannel.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumBillPayChannel.java @@ -4,7 +4,8 @@ package com.iformall.enums; */ public enum EnumBillPayChannel { WX_MINI_PROGRAM(1, "微信小程序支付"), - BANK_JIANSHE_MA(2, "建设银行收款码"); + BANK_JIANSHE_MA(2, "建设银行收款码"), + BANK_JIANSHE_WX_MINIPROGRAM(3, "建设银行小程序收款"); public static EnumBillPayChannel getEnum(Integer code) { for (EnumBillPayChannel value : values()) { diff --git a/mallinkService/src/main/java/com/iformall/print/data/impl/PrintMerchantSettleDataHandler.java b/mallinkService/src/main/java/com/iformall/print/data/impl/PrintMerchantSettleDataHandler.java index 3f9860664..90757771a 100644 --- a/mallinkService/src/main/java/com/iformall/print/data/impl/PrintMerchantSettleDataHandler.java +++ b/mallinkService/src/main/java/com/iformall/print/data/impl/PrintMerchantSettleDataHandler.java @@ -43,6 +43,8 @@ public class PrintMerchantSettleDataHandler implements PrintDataParser{ return receive.getShopNumber(); }else if (name.equals("merchantName")) { return receive.getMerchantName(); + }else if (name.equals("rentArea")) { + return receive.getRentArea(); }else if (name.equals("merchantId")) { if (null != merchantMap) { WxMerchant m = merchantMap.get(receive.getMerchantId()); diff --git a/mallinkService/src/main/java/com/iformall/service/helper/WxBillAllHelper.java b/mallinkService/src/main/java/com/iformall/service/helper/WxBillAllHelper.java index 54403b316..7dd8595c2 100644 --- a/mallinkService/src/main/java/com/iformall/service/helper/WxBillAllHelper.java +++ b/mallinkService/src/main/java/com/iformall/service/helper/WxBillAllHelper.java @@ -196,6 +196,21 @@ public class WxBillAllHelper { return null; } + public String getMerchantShopRentArea(WxMerchant merchant) { + List shopList = wxShopService.findMerchantShopVoList(merchant, merchant.getId()); + if (null != shopList && shopList.size() > 0 ) { + BigDecimal rs = new BigDecimal(0); + for (int i = 0 ; i < shopList.size() ; i ++) { + WxShopVo v = shopList.get(i); + if (null != v.getOperationArea()) { + rs = rs.add(new BigDecimal(v.getOperationArea())); + } + } + return rs.toPlainString(); + } + return "0"; + } + public List getOwdMerchantIds(WxMerchant wxMerchant,Date starttime, Date enttime) { WxAllBill br = new WxAllBill(); updateQueryParm(wxMerchant, br,starttime,enttime); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java index eac59a262..b176e5f4b 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java @@ -569,6 +569,7 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService //wxBillDeposit.setUpdateByName(user.getName()); wxBillDeposit.setRentShopType(wxPropertyContract.getRentShopType()); wxBillDeposit.setShopInfo(getShopInfoStr(wxPropertyContract)); + wxBillDeposit.setRentArea(wxPropertyContract.getRentArea()); wxBillDeposit.setEnergyFeesId(EnumBillAllType.PROPERTY_DEPOSIT.getEnergyFeesId()); try { wxAllBillMapper.insert(wxBillDeposit); @@ -864,6 +865,7 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService if (shopInfo != null) { wxBillProperty.setShopInfo(JSONObject.toJSONString(shopInfo)); } + wxBillProperty.setRentArea(wxPropertyContract.getRentArea()); //wxBillProperty.setLatePayRatio(0); wxBillProperty.setTotalFee(new BigDecimal(needpay).add(new BigDecimal(standarsTotal)).toPlainString()); wxBillProperty.setBillRemark(remark); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java index da7ab0cb2..254b815b3 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -857,6 +857,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { if (wxRentContract.shopIdsByRentInfo().size()==1) { wxBillDeposit.setShopId(wxRentContract.shopIdsByRentInfo().get(0)); } + wxBillDeposit.setRentArea(wxRentContract.getRentArea()); wxBillDeposit.setCreatetime(date); if (null != user) { wxBillDeposit.setCreateBy(user.getId()); @@ -1320,6 +1321,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { if (null != wxRentContract.shopIdsByRentInfo() && wxRentContract.shopIdsByRentInfo().size() == 1) { wxBillRent.setShopId(wxRentContract.shopIdsByRentInfo().get(0)); } + wxBillRent.setRentArea(wxRentContract.getRentArea()); wxBillRent.setCreatetime(date); wxBillRent.setCreateBy(user.getId()); wxBillRent.setCreateByName(user.getName()); @@ -1381,6 +1383,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { manage.setUpdatetime(wxBillRent.getUpdatetime()); manage.setUpdateByName(wxBillRent.getUpdateByName()); manage.setRentShopType(wxBillRent.getRentShopType()); + manage.setRentArea(wxBillRent.getRentArea()); if (feeType.getCode().intValue() == EnumRentContractManageFeeType.RENT_BUSSINESS_MANAGE_FEE.getCode().intValue()){ manage.setEnergyFeesId(EnumBillAllType.RENT_BUSSINESS_MANAGE.getEnergyFeesId()); manage.setBillType(EnumBillAllType.RENT_BUSSINESS_MANAGE.getCode()); diff --git a/mallinkService/src/main/java/com/iformall/service/payBill/PayBillAdapterService.java b/mallinkService/src/main/java/com/iformall/service/payBill/PayBillAdapterService.java index a602b931e..9b27d926e 100644 --- a/mallinkService/src/main/java/com/iformall/service/payBill/PayBillAdapterService.java +++ b/mallinkService/src/main/java/com/iformall/service/payBill/PayBillAdapterService.java @@ -2,6 +2,7 @@ package com.iformall.service.payBill; import java.util.Map; +import com.iformall.domain.po.CUser; import com.iformall.domain.po.WxAllBill; import com.iformall.domain.po.WxBillPayWay; import com.iformall.domain.po.WxMerchantBUser; @@ -10,7 +11,7 @@ import com.iformall.domain.po.WxPayAccountBill; public interface PayBillAdapterService { //发起支付,有可能是码,小程序支付,或者其他支付 - public Object createPay(WxPayAccountBill wxPayAccountBill,WxMerchantBUser buser,WxAllBill billdetail,Double money,Map params) throws Exception; + public Object createPay(WxPayAccountBill wxPayAccountBill,WxMerchantBUser buser,CUser bOpenUser,WxAllBill billdetail,Double money,Map params) throws Exception; //支付通知处理 public void paidCallBack(String tenantId,WxBillPayWay payWay,Map paramMap); diff --git a/mallinkService/src/main/java/com/iformall/service/payBill/PayBillServiceFactory.java b/mallinkService/src/main/java/com/iformall/service/payBill/PayBillServiceFactory.java index 6f28b2474..d2b82ac29 100644 --- a/mallinkService/src/main/java/com/iformall/service/payBill/PayBillServiceFactory.java +++ b/mallinkService/src/main/java/com/iformall/service/payBill/PayBillServiceFactory.java @@ -4,6 +4,7 @@ import com.iformall.common.ErrorCode; import com.iformall.enums.EnumBillPayChannel; import com.iformall.exception.MallinkException; import com.iformall.service.payBill.impl.jianhang.JianHangMaServiceImpl; +import com.iformall.service.payBill.impl.jianhang.JianHangWxMiniProgramServiceImpl; import com.iformall.service.payBill.impl.wx.WxMiniProgramServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -23,6 +24,8 @@ public class PayBillServiceFactory { JianHangMaServiceImpl jianHangMaService; @Autowired WxMiniProgramServiceImpl wxMiniProgramService; + @Autowired + JianHangWxMiniProgramServiceImpl jianHangWxMiniProgrameServiceImpl; private Map getServiceMap() { @@ -30,6 +33,7 @@ public class PayBillServiceFactory { serviceMap = new ConcurrentHashMap(); serviceMap.put(EnumBillPayChannel.BANK_JIANSHE_MA.getCode()+"", jianHangMaService); serviceMap.put(EnumBillPayChannel.WX_MINI_PROGRAM.getCode()+"", wxMiniProgramService); + serviceMap.put(EnumBillPayChannel.BANK_JIANSHE_WX_MINIPROGRAM.getCode()+"", jianHangWxMiniProgrameServiceImpl); } return serviceMap; } diff --git a/mallinkService/src/main/java/com/iformall/service/payBill/impl/jianhang/JianHangMaServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/payBill/impl/jianhang/JianHangMaServiceImpl.java index b8a41a096..2dd32df15 100644 --- a/mallinkService/src/main/java/com/iformall/service/payBill/impl/jianhang/JianHangMaServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/payBill/impl/jianhang/JianHangMaServiceImpl.java @@ -13,8 +13,10 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils; import com.iformall.common.IdWorker; +import com.iformall.domain.po.CUser; import com.iformall.domain.po.WxAllBill; import com.iformall.domain.po.WxBillPayWay; +import com.iformall.domain.po.WxBuser; import com.iformall.domain.po.WxMerchantBUser; import com.iformall.domain.po.WxPayAccountBill; import com.iformall.enums.EnumBillAllType; @@ -40,7 +42,7 @@ public class JianHangMaServiceImpl extends PayBillBaseService implements PayBill //建行动态二维码接口 @Override - public Object createPay(WxPayAccountBill wxPayAccountBill,WxMerchantBUser buser,WxAllBill billdetail,Double money,Map params) throws Exception { + public Object createPay(WxPayAccountBill wxPayAccountBill,WxMerchantBUser buser,CUser bOpenUser,WxAllBill billdetail,Double money,Map params) throws Exception { return QrDemo.getMa(wxPayAccountBill, buser, billdetail, money); } diff --git a/mallinkService/src/main/java/com/iformall/service/payBill/impl/jianhang/JianHangWxMiniProgramServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/payBill/impl/jianhang/JianHangWxMiniProgramServiceImpl.java new file mode 100644 index 000000000..77d786e8a --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/service/payBill/impl/jianhang/JianHangWxMiniProgramServiceImpl.java @@ -0,0 +1,70 @@ +package com.iformall.service.payBill.impl.jianhang; + +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import java.net.URLEncoder; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; +import org.apache.commons.codec.digest.DigestUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils; +import com.iformall.common.IdWorker; +import com.iformall.domain.po.CUser; +import com.iformall.domain.po.WxAllBill; +import com.iformall.domain.po.WxBillPayWay; +import com.iformall.domain.po.WxBuser; +import com.iformall.domain.po.WxMerchantBUser; +import com.iformall.domain.po.WxPayAccountBill; +import com.iformall.enums.EnumBillAllType; +import com.iformall.mapper.WxBuserMapper; +import com.iformall.service.payBill.PayBillAdapterService; +import com.iformall.service.payBill.impl.PayBillBaseService; +import com.iformall.utils.DateUtils; +import com.iformall.utils.HttpUtil; +import lombok.extern.slf4j.Slf4j; + +/** + * 建行收款码支付 + * + * 需银行配置回调地址 + * + * @author Administrator + * + */ +@Slf4j +@Service +public class JianHangWxMiniProgramServiceImpl extends PayBillBaseService implements PayBillAdapterService { + + private static final String url = "https://ibsbjstar.ccb.com.cn/CCBIS/ccbMain?CCB_IBSVersion=V6"; + + @Autowired + WxBuserMapper wxBuserMapper; + + //建行微信支付接口 + @Override + public Object createPay(WxPayAccountBill wxPayAccountBill,WxMerchantBUser buser,CUser bOpenUser,WxAllBill billdetail,Double money,Map params) throws Exception { + return MiniProgramDemo.getMa(wxPayAccountBill,bOpenUser, buser, billdetail, money); + } + + @Override + public void paidCallBack(String tenantId,WxBillPayWay payWay, Map paramMap) { + String success = (String) paramMap.get("SUCCESS"); + if ("Y".equals(success.toUpperCase())) { + String money = (String) paramMap.get("PAYMENT"); + String remark1 = (String) paramMap.get("REMARK1"); + String[] remark1_args = remark1.split("_"); + Integer billType = Integer.parseInt(remark1_args[0]); + Long billId = Long.parseLong(remark1_args[1]); + Long merchantBUserId = Long.parseLong((String)paramMap.get("REMARK2")); + String orderId = (String) paramMap.get("ORDERID"); + this.updateBillPaid(tenantId, merchantBUserId, EnumBillAllType.getEnum(billType), billId, + money, payWay, "商户单号"+orderId); + } + } + +} diff --git a/mallinkService/src/main/java/com/iformall/service/payBill/impl/jianhang/MiniProgramDemo.java b/mallinkService/src/main/java/com/iformall/service/payBill/impl/jianhang/MiniProgramDemo.java new file mode 100644 index 000000000..4ade4f2c0 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/service/payBill/impl/jianhang/MiniProgramDemo.java @@ -0,0 +1,103 @@ +package com.iformall.service.payBill.impl.jianhang; + +import java.util.Date; +import java.util.HashMap; +import java.util.Map; +import com.google.gson.Gson; +import com.iformall.common.IdWorker; +import com.iformall.domain.po.CUser; +import com.iformall.domain.po.WxAllBill; +import com.iformall.domain.po.WxMerchantBUser; +import com.iformall.domain.po.WxPayAccountBill; +import com.iformall.utils.DateUtils; +import com.iformall.utils.HttpUtil; + +import lombok.extern.slf4j.Slf4j; + +@Slf4j +public class MiniProgramDemo { + + private static final String bankURL="https://ibsbjstar.ccb.com.cn/CCBIS/ccbMain?CCB_IBSVersion=V6"; + + public static String getMa(WxPayAccountBill wxPayAccountBill,CUser bOpenIdUser,WxMerchantBUser buser,WxAllBill billdetail,Double money) throws Exception { + String MERCHANTID = wxPayAccountBill.getPayConfigString("MERCHANTID"); + String POSID = wxPayAccountBill.getPayConfigString("POSID"); + String BRANCHID = wxPayAccountBill.getPayConfigString("BRANCHID"); + final IdWorker idWorker = IdWorker.get(); + String ORDERID = billdetail.getBillType()+"_"+idWorker.nextId(); + String PAYMENT= money.toString(); + String CURCODE="01"; + String TXCODE = "530590"; + String REMARK1 = billdetail.getBillType()+"_"+billdetail.getId(); + String REMARK2 = String.valueOf(buser.getId()); + String TYPE = "1"; + String GATEWAY="0"; + String TRADE_TYPE="MINIPRO";//JSAPI-- 公 众 号 支 付 、MINIPRO--小程序 + String SUB_APPID=bOpenIdUser.getAppId(); + String SUB_OPENID=bOpenIdUser.getOpenId(); + String TIMEOUT = DateUtils.date2String(DateUtils.getSecondsTimeAfter(10*60, new Date()), DateUtils.DATE_PATTERN_ALL_NOSPACE); + String PUB32TR2= wxPayAccountBill.getPayConfigString("PUB_30"); + + StringBuffer tmp = new StringBuffer(); //��ǩ�ֶ� + tmp.append("MERCHANTID="); + tmp.append(MERCHANTID); + tmp.append("&POSID="); + tmp.append(POSID); + tmp.append("&BRANCHID="); + tmp.append(BRANCHID); + tmp.append("&ORDERID="); + tmp.append(ORDERID); + tmp.append("&PAYMENT="); + tmp.append(PAYMENT); + tmp.append("&CURCODE="); + tmp.append(CURCODE); + tmp.append("&TXCODE="); + tmp.append(TXCODE); + tmp.append("&REMARK1="); + tmp.append(REMARK1); + tmp.append("&REMARK2="); + tmp.append(REMARK2); + tmp.append("&TYPE="); + tmp.append(TYPE); + tmp.append("&GATEWAY="); + tmp.append(GATEWAY); + tmp.append("&TRADE_TYPE="); + tmp.append(TRADE_TYPE); + tmp.append("&SUB_APPID="); + tmp.append(SUB_APPID); + tmp.append("&SUB_OPENID="); + tmp.append(SUB_OPENID); + tmp.append("&TIMEOUT="); + tmp.append(TIMEOUT); + + Map map = new HashMap(); + map.put("MERCHANTID",MERCHANTID); + map.put("POSID",POSID); + map.put("BRANCHID",BRANCHID); + map.put("ORDERID",ORDERID); + map.put("PAYMENT",PAYMENT); + map.put("CURCODE",CURCODE); + map.put("TXCODE",TXCODE); + map.put("REMARK1",REMARK1); + map.put("REMARK2",REMARK2); + map.put("TYPE",TYPE); + map.put("PUB",PUB32TR2); + map.put("GATEWAY",GATEWAY); + map.put("TRADE_TYPE",TRADE_TYPE); + map.put("SUB_APPID",SUB_APPID); + map.put("SUB_OPENID",SUB_OPENID); + map.put("MAC",MD5.md5Str(tmp.toString())); + + String ret = HttpUtil.doPost(bankURL, map); //�����ά���������Ӵ� + Gson gson = new Gson(); + QrURLDemo qrurl = (QrURLDemo) gson.fromJson(ret, QrURLDemo.class); + log.info("jianhang payUrl:"+qrurl.getPAYURL()); + //ret = HttpUtil.httpGet(qrurl.getPAYURL(), "UTF-8"); //��ȡ��ά�봮 + ret = HttpUtil.doGet(qrurl.getPAYURL()); + log.info(" jianhang ret :"+ret); + String result = HttpUtil.doPost(ret,null); + log.info("jianhang request miniprograme:"+ret+"[result]"+result); + return result; + } + +} diff --git a/mallinkService/src/main/java/com/iformall/service/payBill/impl/jianhang/QrDemo.java b/mallinkService/src/main/java/com/iformall/service/payBill/impl/jianhang/QrDemo.java index 4db04137e..adf0bef46 100644 --- a/mallinkService/src/main/java/com/iformall/service/payBill/impl/jianhang/QrDemo.java +++ b/mallinkService/src/main/java/com/iformall/service/payBill/impl/jianhang/QrDemo.java @@ -18,7 +18,7 @@ import lombok.extern.slf4j.Slf4j; @Slf4j public class QrDemo { - private static final String bankURL="https://ibsbjstar.ccb.com.cn/CCBIS/ccbMain"; + private static final String bankURL="https://ibsbjstar.ccb.com.cn/CCBIS/ccbMain?CCB_IBSVersion=V6"; public static String getMa(WxPayAccountBill wxPayAccountBill,WxMerchantBUser buser,WxAllBill billdetail,Double money) throws Exception { String MERCHANTID = wxPayAccountBill.getPayConfigString("MERCHANTID"); diff --git a/mallinkService/src/main/java/com/iformall/service/payBill/impl/wx/WxMiniProgramServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/payBill/impl/wx/WxMiniProgramServiceImpl.java index d9f97e1ae..24fe30d5f 100644 --- a/mallinkService/src/main/java/com/iformall/service/payBill/impl/wx/WxMiniProgramServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/payBill/impl/wx/WxMiniProgramServiceImpl.java @@ -13,8 +13,10 @@ import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils; import com.iformall.common.ErrorCode; import com.iformall.common.IdWorker; import com.iformall.domain.po.WxAppinfo; +import com.iformall.domain.po.CUser; import com.iformall.domain.po.WxAllBill; import com.iformall.domain.po.WxBillPayWay; +import com.iformall.domain.po.WxBuser; import com.iformall.domain.po.WxMerchantBUser; import com.iformall.domain.po.WxPayAccount; import com.iformall.domain.po.WxPayAccountBill; @@ -42,7 +44,7 @@ public class WxMiniProgramServiceImpl extends PayBillBaseService implements PayB WxPayAccountService wxPayAccountService; @Override - public Object createPay(WxPayAccountBill wxPayAccountBill,WxMerchantBUser buser,WxAllBill billdetail,Double money,Map params) throws Exception{ + public Object createPay(WxPayAccountBill wxPayAccountBill,WxMerchantBUser buser,CUser bOpenUser,WxAllBill billdetail,Double money,Map params) throws Exception{ String openId = params.get("openId"); if (StringUtils.isBlank(openId)) { throw new MallinkException(ErrorCode.APP_ID_NOT_FOUND.getCode(),"参数openId为空"); diff --git a/mallinkService/src/main/resources/mapper/WxAllBillMapper.xml b/mallinkService/src/main/resources/mapper/WxAllBillMapper.xml index edc3b491e..10980a2dd 100644 --- a/mallinkService/src/main/resources/mapper/WxAllBillMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxAllBillMapper.xml @@ -43,14 +43,14 @@ - + `id`,`tenant_id`,`parent_tenant_id`,`merchant_id`,`rent_shop_type`,`createtime`,`create_by`,`create_by_name`,`updatetime`,`update_by`,`update_by_name`, `price_detail`,`need_pay`,`receive_pay`,`pay`,`bill_type`,`pay_way`,`pay_date`,`set_off`,`use_money`,`starttime`,`endtime`,`status`,`energy_fees_id`,`return_pay`, `bill_remark`,`last_owe_call_time`,`last_owe_call_user`,`bussiness_manage_fee_need_pay`,`operating_manage_fee_need_pay`,`shop_id`,`shop_number`, - `is_preview`,`shop_info`,`rent_contract_id`,`property_contract_id`,`parent_bill_id`,`energy_reading_calcuteId`,`energy_reading_id`,`extra_create_from` + `is_preview`,`shop_info`,`rent_contract_id`,`property_contract_id`,`parent_bill_id`,`energy_reading_calcuteId`,`energy_reading_id`,`extra_create_from`,`rent_area` @@ -350,7 +350,7 @@ #{item.starttime},#{item.endtime},#{item.status},#{item.energyFeesId},#{item.returnPay},#{item.billRemark}, #{item.lastOweCallTime},#{item.lastOweCallUser},#{item.bussinessManageFeeNeedPay},#{item.operatingManageFeeNeedPay}, #{item.shopId},#{item.shopNumber},#{item.isPreview},#{item.shopInfo},#{item.rentContractId},#{item.propertyContractId}, - #{item.parentBillId},#{item.energyReadingCalcuteId},#{item.energyReadingId},#{item.extraCreateFrom} + #{item.parentBillId},#{item.energyReadingCalcuteId},#{item.energyReadingId},#{item.extraCreateFrom},#{item.rentArea} ) diff --git a/mallinkService/src/main/resources/mapper/WxShopMapper.xml b/mallinkService/src/main/resources/mapper/WxShopMapper.xml index ce93b90d3..e709aad93 100644 --- a/mallinkService/src/main/resources/mapper/WxShopMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxShopMapper.xml @@ -650,7 +650,7 @@