Browse Source

Merge branch 'release_real_202103' of https://git.malls.iformall.com/server/formallProject into release_real_202103

release_toaliyun_real
xhxu 5 years ago
parent
commit
12e58ab71b
4 changed files with 58 additions and 27 deletions
  1. +33
    -8
      mallinkAdmin/src/main/java/com/iformall/controller/pay/AlipayController.java
  2. BIN
      mallinkAdmin/src/main/resources/doc/支付宝自助积分接入文档.docx
  3. +1
    -1
      mallinkCallback/src/main/java/com/iformall/controller/callback/AliPayController.java
  4. +24
    -18
      mallinkService/src/main/java/com/iformall/service/pay/alipay/AliPayUtil.java

+ 33
- 8
mallinkAdmin/src/main/java/com/iformall/controller/pay/AlipayController.java View File

@@ -66,7 +66,6 @@ public class AlipayController extends BaseController {
*/
@PostMapping(value = "/imageUpload", consumes = "multipart/*", headers = "content-type=multipart/form-data")
@ApiOperation("上传图片")
@SystemControllerLog(description = "上传图片")
public ResultData imageUpload(@RequestParam("file") MultipartFile multiReq
,@RequestParam Map<String, String> param) {
String tenantId = param.get("tenantId");
@@ -133,7 +132,6 @@ public class AlipayController extends BaseController {
@ApiOperation("创建商圈会员卡")
@PostMapping(value = "/merchantMemberConfig")
@SystemControllerLog(description = "支付账号-新增")
public ResultData merchantMemberConfig(@RequestBody Map<String, String> param) {
String tenantId = param.get("tenantId");
if (StringUtils.isBlank(tenantId)) {
@@ -182,7 +180,7 @@ public class AlipayController extends BaseController {
//设置模板编号
wxMall.setAlipayMemberTemplateId(templateId);
mallService.update(wxMall);
return new ResultData();
return new ResultData(templateId);
}
} catch (Exception e) {
@@ -191,10 +189,9 @@ public class AlipayController extends BaseController {
}
}
@ApiOperation("消息订阅")
@PostMapping(value = "/topicSubscribe")
@SystemControllerLog(description = "支付账号-新增")
public ResultData topicSubscribe(@RequestBody Map<String, String> param) {
@ApiOperation("商圈交易成功信息订阅")
@PostMapping(value = "/smartDistrictTradeSuccessTopicSubscribe")
public ResultData smartDistrictTradeSuccessTopicSubscribe(@RequestBody Map<String, String> param) {
String tenantId = param.get("tenantId");
if (StringUtils.isBlank(tenantId)) {
return new ResultData(Result.ERROR,"tenantId不能为空");
@@ -208,7 +205,35 @@ public class AlipayController extends BaseController {
}
try {
boolean result = aliPayUtil.smartDistrictTopicSubscribe(wxMall.getAlipayAppAuthToken());
boolean result = aliPayUtil.smartDistrictTopicSubscribe(wxMall.getAlipayAppAuthToken(),"alipay.business.mall.trade.success");
if (result) {
return new ResultData();
}else {
return new ResultData(Result.ERROR,"消息订阅失败");
}
} catch (Exception e) {
logger.error("topicSubscribe error.",e);
return new ResultData(Result.ERROR,"topicSubscribe error.");
}
}
@ApiOperation("商圈交易退款信息订阅")
@PostMapping(value = "/smartDistrictTradeRefundTopicSubscribe")
public ResultData smartDistrictTradeRefundTopicSubscribe(@RequestBody Map<String, String> param) {
String tenantId = param.get("tenantId");
if (StringUtils.isBlank(tenantId)) {
return new ResultData(Result.ERROR,"tenantId不能为空");
}
WxMall wxMall = mallService.getByTenantId(tenantId);
if (null == wxMall ) {
return new ResultData(Result.ERROR,"wxMall未查询到");
}
if(StringUtils.isBlank(wxMall.getAlipayAppAuthToken())) {
return new ResultData(Result.ERROR,"wxMall alipayAppAuthToken为空");
}
try {
boolean result = aliPayUtil.smartDistrictTopicSubscribe(wxMall.getAlipayAppAuthToken(),"alipay.business.mall.trade.refunded");
if (result) {
return new ResultData();
}else {


BIN
mallinkAdmin/src/main/resources/doc/支付宝自助积分接入文档.docx View File


+ 1
- 1
mallinkCallback/src/main/java/com/iformall/controller/callback/AliPayController.java View File

@@ -186,7 +186,7 @@ public class AliPayController extends BaseController {
&msg_method=alipay.business.mall.trade.refunded&utc_timestamp=1516797622752&version=1.1&sign_type=RSA2&notify_id=d275fec564e62af6bedbcee73f3f05fi5x&app_id=2013121700999429&sign=I+Y/lvqYUEEc10EPdpntRhFIQ==
* @throws Exception 可能产生的任何异常
*/
@PostMapping(value = "/")
@RequestMapping(value = "/")
public void __Notify(@RequestBody Map<String, Object> paramMap) throws Exception {
logger.info(">>>>>>>>alipay callback"+paramMap);
}


+ 24
- 18
mallinkService/src/main/java/com/iformall/service/pay/alipay/AliPayUtil.java View File

@@ -93,7 +93,7 @@ public class AliPayUtil {
return null;
}
private static JSONObject getGenericResponse(String result,String key) {
private static JSONObject getGenericResponseWithCodes(String result,String key,String[] successCodes) {
if (StringUtils.isBlank(result)) {
log.error("alipay apiresponse ["+key+"] error. no result."+result);
return null;
@@ -103,8 +103,10 @@ public class AliPayUtil {
JSONObject resultObject = object.getJSONObject(key);
if (null != resultObject ) {
String code = resultObject.getString("code");
if (("10000".equals(code))) {
return resultObject;
for (String successCode : successCodes) {
if ((successCode.equals(code))) {
return resultObject;
}
}
}
}
@@ -112,6 +114,10 @@ public class AliPayUtil {
return null;
}
private static JSONObject getGenericResponse(String result,String key) {
return getGenericResponseWithCodes(result,key,new String[] {"10000"});
}
//门店照片上传
public String merchantImageUpload(String appAuthToken,String imageName,byte[] file) {
String temfolder = "/alipaytempfile/"+UUID.randomUUID();
@@ -299,10 +305,10 @@ public class AliPayUtil {
}
//商圈消息订阅
public boolean smartDistrictTopicSubscribe(String appAuthToken) {
public boolean smartDistrictTopicSubscribe(String appAuthToken,String topic) {
try {
AlipayOpenApiGenericResponse response = AliPayApi.topicSubscribe(getConfig(),appAuthToken, "app_auth", "alipay.open.auth.appauth.cancelled", "HTTP", "BIZ_TAG");
JSONObject result = getGenericResponse(response.getHttpBody(),"alipay_open_app_message_topic_subscribe_response");
AlipayOpenApiGenericResponse response = AliPayApi.topicSubscribe(getConfig(),appAuthToken, "app_auth", topic, "HTTP", "BIZ_TAG");
JSONObject result = getGenericResponseWithCodes(response.getHttpBody(),"alipay_open_app_message_topic_subscribe_response",new String[] {"40004","10000"});
if (null != result) {
return true;
}
@@ -335,17 +341,17 @@ public class AliPayUtil {
return buffer;
}
// public static void main(String[] args) {
// AliPayUtil util = new AliPayUtil();
//// String token = getAppAuthToken("Pfbe94a5103a0414db99ce865204ee63");
//// System.out.println(token);
// //File file = new File("C://logo-img.png");
// //System.out.println(util.merchantImageUpload("202104BB054c88e950ba4513854e4275ff71cF63", "aa.jpg", File2byte(file)));
// //System.out.println(util.createSmartDistrictMemberCardModel("202104BB054c88e950ba4513854e4275ff71cF63", "会员卡", "OKJx3oOPTUOaINs0AQ_qMgAAACMAAQQD", "OKJx3oOPTUOaINs0AQ_qMgAAACMAAQQD"));
// //System.out.println(util.setSmartDistrictMemberCardModelConfig("202104BB054c88e950ba4513854e4275ff71cF63", "20210417000000002702655000300637"));
// //System.out.println(util.getSmartDistrictMemberCardUrl("202104BB054c88e950ba4513854e4275ff71cF63", "20210417000000002702655000300637", "https://ctest.malls.iformall.com/C/api/alipay/callback", "123"));
// //System.out.println(util.getH5SmartDistrictMallVipPointsUrl("2021002139648762", "https://ctest.malls.iformall.com/C/api/alipay/callback", "123"));
// System.out.println(util.smartDistrictTopicSubscribe("202104BB054c88e950ba4513854e4275ff71cF63"));
// }
public static void main(String[] args) {
AliPayUtil util = new AliPayUtil();
// String token = getAppAuthToken("Pfbe94a5103a0414db99ce865204ee63");
// System.out.println(token);
//File file = new File("C://logo-img.png");
//System.out.println(util.merchantImageUpload("202104BB054c88e950ba4513854e4275ff71cF63", "aa.jpg", File2byte(file)));
//System.out.println(util.createSmartDistrictMemberCardModel("202104BB054c88e950ba4513854e4275ff71cF63", "会员卡", "OKJx3oOPTUOaINs0AQ_qMgAAACMAAQQD", "OKJx3oOPTUOaINs0AQ_qMgAAACMAAQQD"));
//System.out.println(util.setSmartDistrictMemberCardModelConfig("202104BB054c88e950ba4513854e4275ff71cF63", "20210417000000002702655000300637"));
//System.out.println(util.getSmartDistrictMemberCardUrl("202104BB054c88e950ba4513854e4275ff71cF63", "20210417000000002702655000300637", "https://ctest.malls.iformall.com/C/api/alipay/callback", "123"));
//System.out.println(util.getH5SmartDistrictMallVipPointsUrl("2021002139648762", "https://ctest.malls.iformall.com/C/api/alipay/callback", "123"));
System.out.println(util.smartDistrictTopicSubscribe("202104BB054c88e950ba4513854e4275ff71cF63","alipay.business.mall.trade.success"));
}
}

Loading…
Cancel
Save