diff --git a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/OrderController.java b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/OrderController.java index 154920eba..226c8fa8b 100644 --- a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/OrderController.java +++ b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/OrderController.java @@ -11,6 +11,7 @@ import com.jsowell.common.exception.BusinessException; import com.jsowell.common.response.RestApiResponse; import com.jsowell.common.util.StringUtils; import com.jsowell.pile.dto.*; +import com.jsowell.pile.service.IMemberBasicInfoService; import com.jsowell.pile.vo.base.StationInfoVO; import com.jsowell.pile.vo.uniapp.OrderVO; import com.jsowell.pile.vo.uniapp.UniAppOrderDetailVO; @@ -43,6 +44,9 @@ public class OrderController extends BaseController { @Autowired private WxAppletRemoteService wxAppletRemoteService; + @Autowired + private IMemberBasicInfoService memberBasicInfoService; + /** * 生成订单 * http://localhost:8080/uniapp/order/generateOrder @@ -234,10 +238,12 @@ public class OrderController extends BaseController { * @return */ @PostMapping("/uniAppStartChargingSendMsg") - public RestApiResponse uniAppStartChargingSendMsg(@RequestBody WechatSendMsgDTO dto) { + public RestApiResponse uniAppStartChargingSendMsg(HttpServletRequest request, @RequestBody WechatSendMsgDTO dto) { logger.info("微信小程序发送启动充电推送消息 param:{}", JSONObject.toJSONString(dto)); RestApiResponse response = null; try { + String memberId = getMemberIdByAuthorization(request); + dto.setMemberId(memberId); Map resultMap = wxAppletRemoteService.startChargingSendMsg(dto); response = new RestApiResponse<>(resultMap); } catch (Exception e){ diff --git a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/PayController.java b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/PayController.java index 0acacfc68..f4a64f4d6 100644 --- a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/PayController.java +++ b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/PayController.java @@ -70,10 +70,12 @@ public class PayController extends BaseController { throw new BusinessException(ReturnCodeEnum.CODE_TOKEN_ERROR); } dto.setMemberId(memberId); - String openId = memberService.getOpenIdByCode(dto.getCode()); - if (StringUtils.isBlank(openId)) { + // String openId = memberService.getOpenIdByCode(dto.getCode()); + MemberBasicInfo memberBasicInfo = memberBasicInfoService.selectInfoByMemberId(memberId); + if (memberBasicInfo == null) { throw new BusinessException(ReturnCodeEnum.CODE_GET_OPEN_ID_BY_CODE_ERROR); } + String openId = memberBasicInfo.getOpenId(); dto.setOpenId(openId); // 充值余额 附加参数 PaymentScenarioDTO paymentScenarioDTO = new PaymentScenarioDTO(); diff --git a/jsowell-pile/src/main/java/com/jsowell/adapay/service/AdapayService.java b/jsowell-pile/src/main/java/com/jsowell/adapay/service/AdapayService.java index 08942150c..6ca54b822 100644 --- a/jsowell-pile/src/main/java/com/jsowell/adapay/service/AdapayService.java +++ b/jsowell-pile/src/main/java/com/jsowell/adapay/service/AdapayService.java @@ -30,11 +30,9 @@ import com.jsowell.common.util.id.IdUtils; import com.jsowell.pile.domain.AdapayMemberAccount; import com.jsowell.pile.domain.ClearingBillInfo; import com.jsowell.pile.domain.ClearingWithdrawInfo; +import com.jsowell.pile.domain.MemberBasicInfo; import com.jsowell.pile.dto.PayOrderDTO; -import com.jsowell.pile.service.ClearingBillInfoService; -import com.jsowell.pile.service.ClearingWithdrawInfoService; -import com.jsowell.pile.service.IAdapayMemberAccountService; -import com.jsowell.pile.service.IPileMerchantInfoService; +import com.jsowell.pile.service.*; import com.jsowell.wxpay.service.WxAppletRemoteService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; @@ -78,6 +76,9 @@ public class AdapayService { @Autowired private WxAppletRemoteService wxAppletRemoteService; + @Autowired + private IMemberBasicInfoService memberBasicInfoService; + /** * 获取支付参数 */ @@ -98,10 +99,15 @@ public class AdapayService { } // 获取openId - String openId = wxAppletRemoteService.getOpenIdByCode(dto.getCode()); - if (StringUtils.isBlank(openId)) { + MemberBasicInfo memberBasicInfo = memberBasicInfoService.selectInfoByMemberId(dto.getMemberId()); + if (memberBasicInfo == null) { throw new BusinessException(ReturnCodeEnum.CODE_GET_OPEN_ID_BY_CODE_ERROR); } + String openId =memberBasicInfo.getOpenId(); + // String openId = wxAppletRemoteService.getOpenIdByCode(dto.getCode()); + // if (StringUtils.isBlank(openId)) { + // throw new BusinessException(ReturnCodeEnum.CODE_GET_OPEN_ID_BY_CODE_ERROR); + // } // 封装对象 String amount = AdapayUtil.formatAmount(dto.getPayAmount()); // 用户支付金额 diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/dto/lutongyunting/BindCouponDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/dto/lutongyunting/BindCouponDTO.java new file mode 100644 index 000000000..5ad814a6e --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/dto/lutongyunting/BindCouponDTO.java @@ -0,0 +1,32 @@ +package com.jsowell.pile.dto.lutongyunting; + +import lombok.Data; + +/** + * 给指定车辆绑定优惠券 + * + * @author Lemon + * @Date 2023/8/23 14:15 + */ +@Data +public class BindCouponDTO { + /** + * 优惠券商家标识 + */ + private String merchantId; + + /** + * 优惠券特殊标识 + */ + private String couponId; + + /** + * 车牌号码 + */ + private String plateNumber; + + /** + * 车牌颜色 + */ + private String plateColor; +} diff --git a/jsowell-pile/src/main/java/com/jsowell/wxpay/dto/WechatSendMsgDTO.java b/jsowell-pile/src/main/java/com/jsowell/wxpay/dto/WechatSendMsgDTO.java index ad346ffe6..6c8bacd5a 100644 --- a/jsowell-pile/src/main/java/com/jsowell/wxpay/dto/WechatSendMsgDTO.java +++ b/jsowell-pile/src/main/java/com/jsowell/wxpay/dto/WechatSendMsgDTO.java @@ -10,6 +10,7 @@ import lombok.Data; */ @Data public class WechatSendMsgDTO { + private String memberId; /** * 用户code */ diff --git a/jsowell-pile/src/main/java/com/jsowell/wxpay/service/WxAppletRemoteService.java b/jsowell-pile/src/main/java/com/jsowell/wxpay/service/WxAppletRemoteService.java index d43d06c4d..624ee7985 100644 --- a/jsowell-pile/src/main/java/com/jsowell/wxpay/service/WxAppletRemoteService.java +++ b/jsowell-pile/src/main/java/com/jsowell/wxpay/service/WxAppletRemoteService.java @@ -13,6 +13,8 @@ import com.jsowell.common.exception.BusinessException; import com.jsowell.common.util.DateUtils; import com.jsowell.common.util.StringUtils; import com.jsowell.common.util.http.HttpUtils; +import com.jsowell.pile.domain.MemberBasicInfo; +import com.jsowell.pile.service.IMemberBasicInfoService; import com.jsowell.pile.service.IOrderBasicInfoService; import com.jsowell.pile.service.IPileBillingTemplateService; import com.jsowell.pile.vo.uniapp.CurrentTimePriceDetails; @@ -53,6 +55,9 @@ public class WxAppletRemoteService { @Autowired private IPileBillingTemplateService pileBillingTemplateService; + @Autowired + private IMemberBasicInfoService memberBasicInfoService; + @Value("${weixin.login.appid}") private String appid; @@ -190,7 +195,11 @@ public class WxAppletRemoteService { openId = dto.getOpenId(); }else { // 通过code查询openId并set - openId = getOpenIdByCode(dto.getCode()); + MemberBasicInfo memberBasicInfo = memberBasicInfoService.selectInfoByMemberId(dto.getMemberId()); + if (memberBasicInfo == null) { + throw new BusinessException("99999", "开始充电发送消息 error, 查询openid为空"); + } + openId = memberBasicInfo.getOpenId(); } if (StringUtils.isBlank(openId)) { return null; diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lutongyunting/service/LTYTService.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lutongyunting/service/LTYTService.java index 8c66007a3..6adfa3da5 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lutongyunting/service/LTYTService.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lutongyunting/service/LTYTService.java @@ -1,5 +1,6 @@ package com.jsowell.thirdparty.lutongyunting.service; +import com.jsowell.pile.dto.lutongyunting.BindCouponDTO; import com.jsowell.pile.dto.lutongyunting.GetTokenDTO; /** @@ -17,5 +18,10 @@ public interface LTYTService { */ String getToken(GetTokenDTO dto); - + /** + * 给指定车辆绑定优惠券 + * @param dto + * @return + */ + String bindCoupon(BindCouponDTO dto); } diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lutongyunting/service/impl/LTYTServiceImpl.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lutongyunting/service/impl/LTYTServiceImpl.java index 5896651d8..4af8620cd 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lutongyunting/service/impl/LTYTServiceImpl.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lutongyunting/service/impl/LTYTServiceImpl.java @@ -8,6 +8,7 @@ import com.jsowell.common.core.redis.RedisCache; import com.jsowell.common.util.DateUtils; import com.jsowell.common.util.StringUtils; import com.jsowell.common.util.sign.MD5Util; +import com.jsowell.pile.dto.lutongyunting.BindCouponDTO; import com.jsowell.pile.dto.lutongyunting.GetTokenDTO; import com.jsowell.thirdparty.lutongyunting.service.LTYTService; import org.slf4j.Logger; @@ -62,15 +63,8 @@ public class LTYTServiceImpl implements LTYTService { jsonObject.put("accTime", accTime); jsonObject.put("version", "1.0"); - // Map map = new LinkedHashMap<>(); - // map.put("appId", dto.getAppId()); - // map.put("accTime", accTime); - // map.put("version", "1.0"); - // 获取sign签名 String sign = getSign(jsonObject, dto.getSecretKey()); - // map.put("sign", sign); - jsonObject.put("sign", sign); // 发送请求 @@ -89,6 +83,16 @@ public class LTYTServiceImpl implements LTYTService { } } + /** + * 给指定车辆绑定优惠券 + * @param dto + * @return + */ + @Override + public String bindCoupon(BindCouponDTO dto) { + return null; + } + public static void main(String[] args) { // String accTime = DateUtils.dateTimeNow(DateUtils.YYYYMMDDHHMMSS); // Map map = new LinkedMap<>();