后台协议添加,快递鸟相关常数,正式服务器相关参数改动,快递鸟相关接口,苹果相关cid配置,改变提示,登录接口改为post请求,微信跳转连接
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package cn.pluss.platform.device;
|
||||
|
||||
import cn.pluss.platform.entity.MercOrderExpress;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
public interface MercOrderExpressService extends IService<MercOrderExpress> {
|
||||
@@ -8,4 +9,6 @@ public interface MercOrderExpressService extends IService<MercOrderExpress> {
|
||||
MercOrderExpress getByLogistNo(String logistNo);
|
||||
|
||||
MercOrderExpress getByExpressNo(String expressNo);
|
||||
|
||||
JSONObject getExpressInfo(String expressNo) throws Exception;
|
||||
}
|
||||
|
||||
@@ -2,14 +2,26 @@ package cn.pluss.platform.device.impl;
|
||||
|
||||
import cn.pluss.platform.device.MercOrderExpressService;
|
||||
import cn.pluss.platform.entity.MercOrderExpress;
|
||||
import cn.pluss.platform.enums.LogisticProvider;
|
||||
import cn.pluss.platform.exception.MsgException;
|
||||
import cn.pluss.platform.mapper.MercOrderExpressMapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import cn.pluss.platform.util.*;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.net.URLEncoder;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.Base64;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
public class MercOrderExpressServiceImpl extends ServiceImpl<MercOrderExpressMapper, MercOrderExpress> implements MercOrderExpressService {
|
||||
|
||||
public static final String CHECK_Express = "https://api.kdniao.com/Ebusiness/EbusinessOrderHandle.aspx";
|
||||
/**
|
||||
* 根据上送物流单号查询商户单号
|
||||
* @param logistNo
|
||||
@@ -24,4 +36,57 @@ public class MercOrderExpressServiceImpl extends ServiceImpl<MercOrderExpressMap
|
||||
public MercOrderExpress getByExpressNo(String expressNo) {
|
||||
return baseMapper.getByExpressNo(expressNo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject getExpressInfo(String expressNo) throws Exception {
|
||||
if (expressNo.isEmpty()){
|
||||
throw new MsgException("暂无相应的快递单号");
|
||||
}
|
||||
JSONObject reqData = new JSONObject();
|
||||
String subThree = expressNo.substring(0, 3);
|
||||
if ("268".equals(subThree) || "368".equals(subThree) || "468".equals(subThree)|| "334".equals(subThree)
|
||||
|| "888".equals(subThree) || "77".equals(expressNo.substring(0,2))){
|
||||
reqData.put("ShipperCode", LogisticProvider.STO.getCode());
|
||||
} else if ("YT".equals(expressNo.substring(0,2))){
|
||||
reqData.put("ShipperCode", LogisticProvider.YTO.getCode());
|
||||
} else if ("55".equals(expressNo.substring(0,2))){
|
||||
reqData.put("ShipperCode", LogisticProvider.HTKY.getCode());
|
||||
}else {
|
||||
return new JSONObject();
|
||||
}
|
||||
reqData.put("LogisticCode", expressNo);
|
||||
|
||||
JSONObject jsonObject = reqJsonData(reqData);
|
||||
if (!(Boolean) jsonObject.get("Success")){
|
||||
log.info("快递查询错误===========>",jsonObject.get("Reason"));
|
||||
throw new MsgException("快递查询失败");
|
||||
}
|
||||
return jsonObject;
|
||||
|
||||
}
|
||||
public JSONObject reqJsonData(JSONObject requestData)throws Exception{
|
||||
|
||||
Map<String, Object> hashMap = new HashMap<>(16);
|
||||
hashMap.put("RequestData", requestData);
|
||||
hashMap.put("EBusinessID", ParametersUtil.USERID);
|
||||
hashMap.put("RequestType", "1002");
|
||||
hashMap.put("DataSign", dataSign(requestData));
|
||||
hashMap.put("DataType", "2");
|
||||
|
||||
HttpResult httpResult = HttpUtil.doPost(CHECK_Express, hashMap);
|
||||
JSONObject jsonObject = JSON.parseObject(httpResult.getBody());
|
||||
return jsonObject;
|
||||
}
|
||||
private String dataSign(JSONObject requestData)throws Exception{
|
||||
String sign = requestData.toString()+ParametersUtil.APIKEY;
|
||||
//首先再进行MD5
|
||||
String lowerMD5 = MD5Util.md5(sign).toLowerCase();
|
||||
//然后再进行Base64
|
||||
final byte[] lowerMD5Bytes = lowerMD5.getBytes(StandardCharsets.UTF_8);
|
||||
String base64= Base64.getEncoder().encodeToString(lowerMD5Bytes);
|
||||
//再进行base64URL编码
|
||||
return URLEncoder.encode(base64, "UTF-8");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -101,4 +101,6 @@ public interface DeviceStockService extends IService<DeviceStock> {
|
||||
void bindDevcieV2(DeviceStockDTO dto);
|
||||
|
||||
DeviceStock checkBind(String sn);
|
||||
|
||||
DeviceStock getDeviceBySnNo(String sn);
|
||||
}
|
||||
|
||||
@@ -399,6 +399,14 @@ public class DeviceStockServiceImpl extends ServiceImpl<DeviceStockMapper, Devic
|
||||
return deviceBySnNo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DeviceStock getDeviceBySnNo(String sn) {
|
||||
MsgException.checkBlank(sn,"缺失设备SN号");
|
||||
DeviceStock deviceBySnNo = baseMapper.getDeviceBySnNo(sn);
|
||||
MsgException.checkBlank(deviceBySnNo.getActMercId(),"未绑定扫码pos");
|
||||
return deviceBySnNo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public <E extends IPage<DeviceStock>> E page(E page, Wrapper<DeviceStock> queryWrapper) {
|
||||
DeviceStock deviceStock = queryWrapper.getEntity();
|
||||
|
||||
@@ -7,6 +7,7 @@ import cn.pluss.platform.entity.*;
|
||||
import cn.pluss.platform.exception.MsgException;
|
||||
import cn.pluss.platform.mapper.MerchantMenberMapper;
|
||||
import cn.pluss.platform.mapper.PhoneValidateCodeMapper;
|
||||
import cn.pluss.platform.merchant.MerchantBaseInfoService;
|
||||
import cn.pluss.platform.merchantMenber.MerchantMenberService;
|
||||
import cn.pluss.platform.merchantStore.MerchantStoreService;
|
||||
import cn.pluss.platform.userApp.UserAppService;
|
||||
@@ -51,6 +52,8 @@ public class MerchantMenberServiceImpl extends ServiceImpl<MerchantMenberMapper,
|
||||
|
||||
@Resource
|
||||
private WxCommonService wxCommonService;
|
||||
@Resource
|
||||
private MerchantBaseInfoService merchantBaseInfoService;
|
||||
|
||||
private final String default_avatar = "https://syb-resource.oss-cn-hangzhou.aliyuncs.com/微信图片_20210408103257.png?versionId=CAEQKxiBgMCllMC9xRciIDMyZDA3Y2IzNGU5YjQ5ODk5NTlhOGI5MWJjZGNhNTYw";
|
||||
|
||||
@@ -366,10 +369,12 @@ public class MerchantMenberServiceImpl extends ServiceImpl<MerchantMenberMapper,
|
||||
@Override
|
||||
public void sendMenberBalanceChangeNotice(MerchantMenber menber, Double amt, String type) {
|
||||
MerchantStore store = merchantStoreService.getStoreByMerchantCode(menber.getMerchantCode());
|
||||
MerchantBaseInfo merchantBaseInfo = new MerchantBaseInfo();
|
||||
merchantBaseInfo = merchantBaseInfoService.getMerchantBaseInfoByMerchantCode(menber.getMerchantCode());
|
||||
if(store != null && StringUtil.isNotEmpty(menber.getOpenid())){
|
||||
JSONObject miniprogram = new JSONObject();
|
||||
miniprogram.put("appid", ParametersUtil.APPLETS_APPID);
|
||||
miniprogram.put("pagepath","yb_o2ov2/vip/my-vip?storeId="+store.getId()+"&phone="+menber.getPhone());
|
||||
miniprogram.put("pagepath","yb_o2ov2/vip/order_record?syb_m_id="+merchantBaseInfo.getId()+"&phone="+menber.getPhone()+"&memberCode"+menber.getMemberCode());
|
||||
|
||||
String first = "您的【"+store.getStoreName()+"】会员卡:"+menber.getCardNo()+"资金有变动啦,请注意查收!";
|
||||
String remark = "如对此会员卡余额变动有疑问,可以点此进入小程序中查看!";
|
||||
|
||||
@@ -123,7 +123,7 @@ public class RyxPayServiceimpl implements RyxPayService {
|
||||
if(!RyxConfig.PAY_SUCCESS_CODE.equals(respCode)){
|
||||
result.put("code",ResultCode.FAIL.code());
|
||||
if(respMsg.contains("商户需补齐相关资料")){
|
||||
result.put("msg","D1次日到账:商户未在快银收银APP-商户认证-微信认证内完成授权,暂时无法微信收款");
|
||||
result.put("msg","D0实时到账:商户未在快银收银APP-商户认证-微信认证(支付宝认证)内完成授权,暂时无法收款");
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -160,7 +160,7 @@ public class SxfPayServiceImpl implements SxfPayService {
|
||||
if (respData.get("bizMsg").toString().contains("使用微信支付")) {
|
||||
result.put("msg", "云闪付/京东支付失败:同一支付通道下一张身份证最多注册一个小微商户");
|
||||
} else if (respData.get("bizMsg").toString().contains("商户需补齐相关资料") || respData.get("bizMsg").toString().contains("微信实名认证")) {
|
||||
result.put("msg", "D1次日到账:商户未在快银收银APP-商户认证-微信认证内完成授权,暂时无法微信收款");
|
||||
result.put("msg", "D0实时到账:商户未在快银收银APP-商户认证-微信认证(支付宝认证)内完成授权,暂时无法收款");
|
||||
} else {
|
||||
result.put("msg", respData.get("bizMsg"));
|
||||
}
|
||||
|
||||
@@ -208,7 +208,7 @@ public class YsPayOldServiceImpl extends YsPayServiceImpl{
|
||||
String sub_code = respData.getString("sub_code");
|
||||
String sub_msg = respData.getString("sub_msg");
|
||||
if("4335".equals(sub_code) && StringUtil.isNotEmpty(sub_msg) && sub_msg.contains("商户需补齐相关资料")){
|
||||
MsgException.throwException("D0实时到账:商户未在快银收银APP-商户认证-微信认证内完成授权,暂时无法收款");
|
||||
MsgException.throwException("D0实时到账:商户未在快银收银APP-商户认证-微信认证(支付宝认证)内完成授权,暂时无法收款");
|
||||
}else if("4335".equals(sub_code) && StringUtil.isNotEmpty(sub_msg) && sub_msg.contains("金额超限")){
|
||||
MsgException.throwException("单笔交易金额超限");
|
||||
}else{
|
||||
|
||||
Reference in New Issue
Block a user