Merge branch 'master' into 2.0-dev

* master:
  修改配置星巴克 肯德基 会员充值 话费 微信商户号
  修改配置星巴克 肯德基 会员充值 话费 微信商户号

# Conflicts:
#	hai-cweb/src/main/java/com/cweb/controller/pay/CzOrderController.java
#	hai-cweb/src/main/java/com/cweb/controller/pay/ThirdOrderController.java
dev-discount
袁野 2 years ago
parent 20ba3e7a89
commit 3da4b9061e
  1. 33
      hai-cweb/src/main/java/com/cweb/config/WxMaConfiguration.java
  2. 120
      hai-cweb/src/main/java/com/cweb/config/WxMsgConfig.java
  3. 4
      hai-cweb/src/main/java/com/cweb/controller/HighThirdPartyController.java
  4. 2
      hai-cweb/src/main/java/com/cweb/controller/NotifyController.java
  5. 3
      hai-cweb/src/main/java/com/cweb/controller/WechatController.java
  6. 28
      hai-service/src/main/java/com/hai/config/ThirdProductConfig.java
  7. 2
      hai-service/src/main/java/com/hai/order/service/impl/OrderCreateHandleServiceImpl.java
  8. 2
      hai-service/src/main/java/com/hai/service/impl/HighOrderServiceImpl.java
  9. 31
      hai-user/src/main/java/com/web/config/WxMaConfiguration.java
  10. 2
      hai-user/src/main/java/com/web/controller/LoginController.java

@ -1,33 +0,0 @@
package com.cweb.config;
import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;
import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
import org.springframework.context.annotation.Configuration;
import javax.annotation.PostConstruct;
@Configuration
public class WxMaConfiguration {
private static WxMaService maService;
public static WxMaService getMaService() {
if (maService == null) {
throw new IllegalArgumentException(String.format("未找到对应的配置,请核实!"));
}
return maService;
}
@PostConstruct
public void init() {
WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl();
config.setAppid(SysConst.getSysConfig().getWxAppId());
config.setSecret(SysConst.getSysConfig().getWxAppSecret());
maService = new WxMaServiceImpl();
maService.setWxMaConfig(config);
}
}

@ -1,120 +0,0 @@
package com.cweb.config;
import cn.binarywang.wx.miniapp.api.WxMaMsgService;
import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.bean.WxMaSubscribeMessage;
import com.hai.common.utils.DateUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.*;
public class WxMsgConfig {
private static Logger log = LoggerFactory.getLogger(WxMsgConfig.class);
public static void pushOneUser(String orderName , String price , String orderNo , Date payTime , String remark , Long orderId , String openId) {
try {
List<WxMaSubscribeMessage.Data> list = new ArrayList<>();
Map<String, String> m = new HashMap<>();
m.put("thing1", orderName);
m.put("amount2", price + "元");
m.put("character_string3", orderNo);
m.put("time4", DateUtil.date2String(payTime , "yyyy年MM月dd日 HH:mm:ss"));
m.put("thing6", remark);
for (String key: m.keySet()) {
WxMaSubscribeMessage.Data msgElement = new WxMaSubscribeMessage.Data();
msgElement.setName(key);
msgElement.setValue(m.get(key));
list.add(msgElement);
}
WxMaSubscribeMessage subscribeMessage = new WxMaSubscribeMessage();
subscribeMessage.setToUser(openId); // 小程序openId
subscribeMessage.setTemplateId("oUvaCPeeOg4wH6HTvCcSabU6FnzXUXOBXsqBYAPOV-U");
subscribeMessage.setData(list);
subscribeMessage.setPage("pages/user/order_details/order_details?id=" + orderId);
subscribeMessage.setMiniprogramState("developer");
final WxMaService wxService = WxMaConfiguration.getMaService();
WxMaMsgService maMsgService = wxService.getMsgService();
maMsgService.sendSubscribeMsg(subscribeMessage);
} catch (Exception e) {
log.error(String.valueOf(e));
}
}
public static void rechargedSuccess(String orderName , String price , String orderNo , Date payTime , String payType , String openId) {
try {
List<WxMaSubscribeMessage.Data> list = new ArrayList<>();
Map<String, String> m = new HashMap<>();
m.put("character_string1", orderNo); // 订单号
m.put("thing11", orderName); // 充值项目
m.put("thing10", payType); // 支付方式
m.put("amount8", price); // 支付金额
m.put("date5", DateUtil.date2String(payTime , "yyyy年MM月dd日 HH:mm:ss"));
for (String key: m.keySet()) {
WxMaSubscribeMessage.Data msgElement = new WxMaSubscribeMessage.Data();
msgElement.setName(key);
msgElement.setValue(m.get(key));
list.add(msgElement);
}
WxMaSubscribeMessage subscribeMessage = new WxMaSubscribeMessage();
subscribeMessage.setToUser(openId); // 小程序openId
subscribeMessage.setTemplateId("ZO6kC3oJv0zj9QzL0htsF-mM9vAElcgPZEcUGglxsoU");
subscribeMessage.setData(list);
final WxMaService wxService = WxMaConfiguration.getMaService();
WxMaMsgService maMsgService = wxService.getMsgService();
maMsgService.sendSubscribeMsg(subscribeMessage);
} catch (Exception e) {
log.error(String.valueOf(e));
}
}
public static void rechargedFail(String orderName , String price , String openId) {
try {
List<WxMaSubscribeMessage.Data> list = new ArrayList<>();
Map<String, String> m = new HashMap<>();
m.put("thing1", orderName); // 订单内容
m.put("thing2", "充值通道爆满!"); // 失败原因
m.put("amount3", price); // 退款金额
m.put("thing4", "退款将在1-3日内原路退回"); // 温馨提示
for (String key: m.keySet()) {
WxMaSubscribeMessage.Data msgElement = new WxMaSubscribeMessage.Data();
msgElement.setName(key);
msgElement.setValue(m.get(key));
list.add(msgElement);
}
WxMaSubscribeMessage subscribeMessage = new WxMaSubscribeMessage();
subscribeMessage.setToUser(openId); // 小程序openId
subscribeMessage.setTemplateId("xjacmzuWSRdiKGz4IJVeuvyGE0vOhoy0JVQPgOr-PuI");
subscribeMessage.setData(list);
final WxMaService wxService = WxMaConfiguration.getMaService();
WxMaMsgService maMsgService = wxService.getMsgService();
maMsgService.sendSubscribeMsg(subscribeMessage);
} catch (Exception e) {
log.error(String.valueOf(e));
}
}
}

@ -302,10 +302,12 @@ public class HighThirdPartyController {
@ApiOperation(value = "查询第三方产品详情") @ApiOperation(value = "查询第三方产品详情")
public ResponseData getThirdPartyByDetail(@RequestParam(name = "platformId", required = true) Integer platformId, public ResponseData getThirdPartyByDetail(@RequestParam(name = "platformId", required = true) Integer platformId,
@RequestParam(name = "productType", required = true) Integer productType, @RequestParam(name = "productType", required = true) Integer productType,
@RequestParam(name = "productId", required = false) Long productId,
@RequestParam(name = "orderNo", required = false) String orderNo,
@RequestParam(name = "companyId", required = true) Long companyId) { @RequestParam(name = "companyId", required = true) Long companyId) {
try { try {
return ResponseMsgUtil.success(thirdProductConfig.getThirdPartyByDetail(platformId , productType , companyId)); return ResponseMsgUtil.success(thirdProductConfig.getThirdPartyByDetail(platformId , productType , companyId , productId , orderNo));
} catch (Exception e) { } catch (Exception e) {
log.error("HighUserCardController --> oilCardRefund() error!", e); log.error("HighUserCardController --> oilCardRefund() error!", e);

@ -6,7 +6,7 @@ import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
import cn.binarywang.wx.miniapp.bean.WxMaUserInfo; import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.cweb.config.SysConst; import com.cweb.config.SysConst;
import com.cweb.config.WxMaConfiguration;
import com.hai.common.exception.ErrorCode; import com.hai.common.exception.ErrorCode;
import com.hai.common.exception.ErrorHelp; import com.hai.common.exception.ErrorHelp;
import com.hai.common.exception.SysCode; import com.hai.common.exception.SysCode;

@ -7,7 +7,7 @@ import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.cweb.config.SessionKeyCache; import com.cweb.config.SessionKeyCache;
import com.cweb.config.SysConst; import com.cweb.config.SysConst;
import com.cweb.config.WxMaConfiguration;
import com.github.pagehelper.Page; import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
@ -16,6 +16,7 @@ import com.hai.common.exception.ErrorHelp;
import com.hai.common.exception.SysCode; import com.hai.common.exception.SysCode;
import com.hai.common.security.*; import com.hai.common.security.*;
import com.hai.common.utils.*; import com.hai.common.utils.*;
import com.hai.config.WxMaConfiguration;
import com.hai.entity.HighUser; import com.hai.entity.HighUser;
import com.hai.model.HighUserModel; import com.hai.model.HighUserModel;
import com.hai.model.ResponseData; import com.hai.model.ResponseData;

@ -11,6 +11,7 @@ import com.hai.entity.HighOrder;
import com.hai.order.model.CreateOrderChildModel; import com.hai.order.model.CreateOrderChildModel;
import com.hai.service.ApiProductService; import com.hai.service.ApiProductService;
import com.hai.service.BsConfigService; import com.hai.service.BsConfigService;
import com.hai.service.HighOrderService;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -33,6 +34,9 @@ public class ThirdProductConfig {
@Resource @Resource
private ApiProductService apiProductService; private ApiProductService apiProductService;
@Resource
private HighOrderService highOrderService;
// 产品折扣比例 // 产品折扣比例
public BigDecimal getProductConfigNum(Integer productType , Long companyId) { public BigDecimal getProductConfigNum(Integer productType , Long companyId) {
@ -49,7 +53,7 @@ public class ThirdProductConfig {
} }
// 产品折扣比例 // 产品折扣比例
public BsProductConfig getProductConfig(Integer productType , Long companyId) { public BsProductConfig getProductConfig(Integer productType , Long companyId , Long productId) {
Map<String, Object> listMap = new HashMap<>(); Map<String, Object> listMap = new HashMap<>();
listMap.put("productType", productType); listMap.put("productType", productType);
@ -63,10 +67,10 @@ public class ThirdProductConfig {
return null; return null;
} }
public JSONObject getThirdPartyByDetail(Integer platformId , Integer productType , Long companyId) { public JSONObject getThirdPartyByDetail(Integer platformId , Integer productType , Long companyId , Long productId , String orderNo) {
BsProductConfig productConfig = getProductConfig(productType, companyId); BsProductConfig productConfig = getProductConfig(productType, companyId , productId);
if (productConfig == null) { if (productConfig == null && productType != 9) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "暂未配置当前内容"); throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "暂未配置当前内容");
} }
@ -75,13 +79,25 @@ public class ThirdProductConfig {
Map<String, Object> listMap = new HashMap<>(); Map<String, Object> listMap = new HashMap<>();
listMap.put("productType", productType); listMap.put("productType", productType);
listMap.put("returnType", 1); listMap.put("returnType", 1);
listMap.put("sourceId", productConfig.getId()); if (productType == 9) {
if (orderNo != null) {
HighOrder highOrder = highOrderService.getOrderByOrderNo(orderNo);
listMap.put("sourceId", highOrder.getHighChildOrderList().get(0).getGoodsId());
}
} else {
listMap.put("sourceId", productConfig.getId());
}
listMap.put("platformId", platformId); listMap.put("platformId", platformId);
if (bsConfigService.getProductDiscountByMap(listMap) != null) { if (bsConfigService.getProductDiscountByMap(listMap) != null) {
object.put("integralDiscount" , bsConfigService.getProductDiscountByMap(listMap).getDiscount()); object.put("integralDiscount" , bsConfigService.getProductDiscountByMap(listMap).getDiscount());
} }
object.put("priceDiscount" , productConfig.getDiscount()); if (productConfig != null) {
object.put("priceDiscount" , productConfig.getDiscount());
}
object.put("productPayType" , bsConfigService.getProductPayTypeByMap(listMap)); object.put("productPayType" , bsConfigService.getProductPayTypeByMap(listMap));
object.put("productPlatform" , bsConfigService.getProductPlatformByMap(listMap)); object.put("productPlatform" , bsConfigService.getProductPlatformByMap(listMap));

@ -614,7 +614,7 @@ public class OrderCreateHandleServiceImpl implements OrderCreateHandleService {
String orderNo; String orderNo;
// 查询详单订单的实际 // 查询详单订单的实际
JSONObject productDetail = thirdProductConfig.getThirdPartyByDetail(object.getInteger("platformId"), object.getInteger("productType"), object.getLong("companyId")); JSONObject productDetail = thirdProductConfig.getThirdPartyByDetail(object.getInteger("platformId"), object.getInteger("productType"), object.getLong("companyId") , object.getLong("productId") , null);
// 获取token 千猪请求接口token // 获取token 千猪请求接口token
JSONObject userToken = QianZhuConfig.getTokenV2(user.getId().toString(), user.getName(), user.getPhone()); JSONObject userToken = QianZhuConfig.getTokenV2(user.getId().toString(), user.getName(), user.getPhone());

@ -1426,7 +1426,7 @@ public class HighOrderServiceImpl implements HighOrderService {
BigDecimal marketPrice = new BigDecimal(0); BigDecimal marketPrice = new BigDecimal(0);
// 查询详单订单的实际 // 查询详单订单的实际
JSONObject productDetail = thirdProductConfig.getThirdPartyByDetail(object.getInteger("platformId"), object.getInteger("productType"), object.getLong("companyId")); JSONObject productDetail = thirdProductConfig.getThirdPartyByDetail(object.getInteger("platformId"), object.getInteger("productType"), object.getLong("companyId") , object.getLong("productId") , null);
highOrder.setProductType(object.getInteger("productType")); highOrder.setProductType(object.getInteger("productType"));

@ -1,31 +0,0 @@
package com.web.config;
import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;
import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
import org.springframework.context.annotation.Configuration;
import javax.annotation.PostConstruct;
@Configuration
public class WxMaConfiguration {
private static WxMaService maService;
public static WxMaService getMaService() {
if (maService == null) {
throw new IllegalArgumentException(String.format("未找到对应的配置,请核实!"));
}
return maService;
}
@PostConstruct
public void init() {
WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl();
config.setAppid(SysConst.getSysConfig().getWxMiniAppId());
config.setSecret(SysConst.getSysConfig().getWxMiniAppSecret());
maService = new WxMaServiceImpl();
maService.setWxMaConfig(config);
}
}

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save