Browse Source

代码优化

feature-1.1
wuxicheng 3 years ago
parent
commit
77516afa82
  1. 6
      bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/vo/UserVipVo.java
  2. 30
      bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/VipType.java
  3. 42
      bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/WxpayConfig.java
  4. 2
      bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/BaseDto.java
  5. 160
      bnyer-common/bnyer-common-security/src/main/java/com/bnyer/common/security/utils/SecurityUtils.java
  6. 7
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/UserVipController.java
  7. 15
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/VipTypeMapper.java
  8. 8
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/UserVipServiceImpl.java
  9. 9
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/UserVipVo.java
  10. 1
      bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/UserVipMapper.xml
  11. 15
      bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/VipTypeMapper.xml
  12. 2
      bnyer-services/bnyer-order/src/main/java/com/bnyer/order/bean/query/VipOrderExtQuery.java
  13. 2
      bnyer-services/bnyer-order/src/main/java/com/bnyer/order/service/impl/VipOrderServiceImpl.java
  14. 2
      bnyer-services/bnyer-pay/src/main/java/com/bnyer/pay/bean/dto/UnifiedOrderDto.java
  15. 2
      bnyer-services/bnyer-pay/src/main/java/com/bnyer/pay/design/strategy/WxPayStrategy.java
  16. 4
      bnyer-services/bnyer-pay/src/main/java/com/bnyer/pay/enums/EnumTradeType.java
  17. 12
      bnyer-services/bnyer-pay/src/main/java/com/bnyer/pay/manager/WxPayManager.java
  18. 6
      bnyer-services/bnyer-pay/src/main/resources/com/bnyer/pay/mapper/WxpayConfigMapper.xml

6
bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/vo/UserVipVo.java

@ -20,6 +20,9 @@ public class UserVipVo implements Serializable {
@ApiModelProperty(value="vip类型id")
private Long vipTypeId;
@ApiModelProperty(value = "会员类型名称")
private String vipTypeName;
@ApiModelProperty(value="vip编码")
private String vipCode;
@ -56,8 +59,5 @@ public class UserVipVo implements Serializable {
@ApiModelProperty(value = "会员类型编码")
private String vipTypeCode;
@ApiModelProperty(value = "会员类型名称")
private String vipTypeName;
private static final long serialVersionUID = 1L;
}

30
bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/VipType.java

@ -0,0 +1,30 @@
package com.bnyer.common.core.domain;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
@Getter
@Setter
@ToString
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "img_vip_type")
public class VipType extends BaseDomain {
/**
* 类型编码
*/
@TableField(value = "type_code")
@ApiModelProperty(value="类型编码")
private String typeCode;
/**
* 类型名称
*/
@TableField(value = "type_name")
@ApiModelProperty(value="类型名称")
private String typeName;
}

42
bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/WxpayConfig.java

@ -28,18 +28,12 @@ import lombok.ToString;
@NoArgsConstructor
@TableName(value = "pay_wxpay_config")
public class WxpayConfig extends BaseDomain {
/**
* 主键
*/
@TableId(value = "id", type = IdType.AUTO)
@ApiModelProperty(value="主键")
private Long id;
/**
* APP|JSAPI|MWEB|MINIPROGRAM 支付
* 1--JSAPI支付小程序appId支付2--Native支付3--app支付4--JSAPI支付公众号appId支付5--H5支付
*/
@TableField(value = "trade_type")
@ApiModelProperty(value="APP|JSAPI|MWEB|MINIPROGRAM 支付")
@ApiModelProperty(value="1--JSAPI支付(小程序appId支付)、2--Native支付、3--app支付,4--JSAPI支付(公众号appId支付)5--H5支付")
private String tradeType;
/**
@ -66,14 +60,42 @@ public class WxpayConfig extends BaseDomain {
/**
* 密钥
*/
@TableField(value = "key")
@TableField(value = "`key`")
@ApiModelProperty(value="密钥")
private String key;
/**
* 接口密钥
*/
@TableField(value = "api_key")
@ApiModelProperty(value="接口密钥")
private String apiKey;
/**
* 证书序列号值
*/
@TableField(value = "cert_serial_no")
@ApiModelProperty(value="证书序列号值")
private String certSerialNo;
/**
* apiclient_key.pem证书文件的绝对路径或者以classpath:开头的类路径.
*/
@TableField(value = "key_path")
@ApiModelProperty(value="apiclient_key.pem证书文件的绝对路径或者以classpath:开头的类路径.")
private String keyPath;
/**
* apiclient_cert.pem证书文件的绝对路径或者以classpath:开头的类路径.
*/
@TableField(value = "cert_path")
@ApiModelProperty(value="apiclient_cert.pem证书文件的绝对路径或者以classpath:开头的类路径.")
private String certPath;
/**
* 帐号状态0正常 1停用
*/
@TableField(value = "status")
@TableField(value = "`status`")
@ApiModelProperty(value="帐号状态(0正常 1停用)")
private String status;

2
bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/BaseDto.java

@ -1,6 +1,5 @@
package com.bnyer.common.core.dto;
import cn.hutool.core.util.IdUtil;
import com.bnyer.common.core.domain.BaseDomain;
import com.bnyer.common.core.utils.StringUtils;
import com.bnyer.common.core.utils.bean.ReflectUtils;
@ -63,7 +62,6 @@ public class BaseDto <T extends BaseDomain> implements Serializable {
T entityInstance = ReflectUtils.newInstance(entity);
BeanUtils.copyProperties(this, entityInstance);
if (this.id == null) {
entityInstance.setId(IdUtil.getSnowflakeNextId());
entityInstance.setIsShow("1");
entityInstance.setCreateTime(new Date());
entityInstance.setUpdateTime(null);

160
bnyer-common/bnyer-common-security/src/main/java/com/bnyer/common/security/utils/SecurityUtils.java

@ -34,83 +34,89 @@ public class SecurityUtils
* @return -
*/
public static UserInfoVo getUserInfo(){
String platform = ServletUtils.getRequest().getHeader("platform");
if(StringUtils.isBlank(platform)){
throw new ServiceException(ResponseEnum.NOT_AUTH);
}
EnumUserClientType userClientType = EnumUserClientType.getTypeByCode(platform);
switch (userClientType){
case DU:
UserInfoVo tiktokUserInfo = new UserInfoVo();
LoginTiktokUser loginTikTokUser = getLoginTikTokUser();
tiktokUserInfo.setId(loginTikTokUser.getTiktokUserId());
tiktokUserInfo.setOpenId(loginTikTokUser.getTiktokUserOpenId());
tiktokUserInfo.setUserName(loginTikTokUser.getTiktokUserName());
tiktokUserInfo.setIpaddr(loginTikTokUser.getIpaddr());
tiktokUserInfo.setLastLoginTime(loginTikTokUser.getLoginTime());
tiktokUserInfo.setImg(loginTikTokUser.getTiktokUser().getImg());
tiktokUserInfo.setIsVip(loginTikTokUser.getTiktokUser().getIsVip());
tiktokUserInfo.setCreateTime(loginTikTokUser.getTiktokUser().getCreateTime());
tiktokUserInfo.setUpdateTime(loginTikTokUser.getTiktokUser().getUpdateTime());
tiktokUserInfo.setSort(loginTikTokUser.getTiktokUser().getSort());
tiktokUserInfo.setUserClientType(userClientType.getType());
return tiktokUserInfo;
case WU:
UserInfoVo wechatUserInfo = new UserInfoVo();
LoginWechatUser loginWechatUser = getLoginWechatUser();
wechatUserInfo.setId(loginWechatUser.getWxUserId());
wechatUserInfo.setOpenId(loginWechatUser.getWxUserOpenId());
wechatUserInfo.setUserName(loginWechatUser.getWxUserName());
wechatUserInfo.setIpaddr(loginWechatUser.getIpaddr());
wechatUserInfo.setLastLoginTime(loginWechatUser.getLoginTime());
wechatUserInfo.setImg(loginWechatUser.getWxUser().getImg());
wechatUserInfo.setIsVip(loginWechatUser.getWxUser().getIsVip());
wechatUserInfo.setCreateTime(loginWechatUser.getWxUser().getCreateTime());
wechatUserInfo.setUpdateTime(loginWechatUser.getWxUser().getUpdateTime());
wechatUserInfo.setSort(loginWechatUser.getWxUser().getSort());
wechatUserInfo.setUserClientType(userClientType.getType());
return wechatUserInfo;
case KU:
UserInfoVo fhUserInfo = new UserInfoVo();
LoginFhUser loginFhUser = getLoginFhUser();
fhUserInfo.setId(loginFhUser.getFhUserId());
fhUserInfo.setOpenId(loginFhUser.getFhUserOpenId());
fhUserInfo.setUserName(loginFhUser.getFhUserName());
fhUserInfo.setIpaddr(loginFhUser.getIpaddr());
fhUserInfo.setLastLoginTime(loginFhUser.getLoginTime());
fhUserInfo.setImg(loginFhUser.getFhUser().getImg());
fhUserInfo.setIsVip(loginFhUser.getFhUser().getIsVip());
fhUserInfo.setCreateTime(loginFhUser.getFhUser().getCreateTime());
fhUserInfo.setUpdateTime(loginFhUser.getFhUser().getUpdateTime());
fhUserInfo.setSort(loginFhUser.getFhUser().getSort());
fhUserInfo.setUserClientType(userClientType.getType());
return fhUserInfo;
case WY:
UserInfoVo creatorInfo = new UserInfoVo();
LoginCreator loginCreator = getLoginCreator();
creatorInfo.setId(loginCreator.getCreatorId());
creatorInfo.setPhone(loginCreator.getCreatorPhone());
creatorInfo.setScanCode(loginCreator.getCreator().getScanCode());
creatorInfo.setAmt(loginCreator.getCreator().getAmt());
creatorInfo.setInviteCode(loginCreator.getCreator().getInviteCode());
creatorInfo.setStatus(loginCreator.getCreator().getStatus());
creatorInfo.setUrl(loginCreator.getCreator().getUrl());
creatorInfo.setIsHot(loginCreator.getCreator().getIsHot());
creatorInfo.setIsShow(loginCreator.getCreator().getIsShow());
creatorInfo.setIntro(loginCreator.getCreator().getIntro());
creatorInfo.setUserName(loginCreator.getCreator().getName());
creatorInfo.setIpaddr(loginCreator.getIpaddr());
creatorInfo.setLastLoginTime(loginCreator.getLoginTime());
creatorInfo.setImg(loginCreator.getCreator().getImg());
creatorInfo.setIsShow(loginCreator.getCreator().getIsShow());
creatorInfo.setCreateTime(loginCreator.getCreator().getCreateTime());
creatorInfo.setUpdateTime(loginCreator.getCreator().getUpdateTime());
creatorInfo.setSort(loginCreator.getCreator().getSort());
creatorInfo.setUserClientType(userClientType.getType());
return creatorInfo;
default:
throw new ServiceException("userClientType 未匹配上对应用户类型");
}
UserInfoVo userInfoVo = new UserInfoVo();
userInfoVo.setId(1L);
userInfoVo.setOpenId("iHbleh46vtOeGeyl91XOkdTrgjAv5BL6Sf64txO21gE=");
userInfoVo.setUserClientType(EnumUserClientType.WU.getType());
return userInfoVo;
// TODO: 2023/05/10 暂时屏蔽
// String platform = ServletUtils.getRequest().getHeader("platform");
// if(StringUtils.isBlank(platform)){
// throw new ServiceException(ResponseEnum.NOT_AUTH);
// }
// EnumUserClientType userClientType = EnumUserClientType.getTypeByCode(platform);
// switch (userClientType){
// case DU:
// UserInfoVo tiktokUserInfo = new UserInfoVo();
// LoginTiktokUser loginTikTokUser = getLoginTikTokUser();
// tiktokUserInfo.setId(loginTikTokUser.getTiktokUserId());
// tiktokUserInfo.setOpenId(loginTikTokUser.getTiktokUserOpenId());
// tiktokUserInfo.setUserName(loginTikTokUser.getTiktokUserName());
// tiktokUserInfo.setIpaddr(loginTikTokUser.getIpaddr());
// tiktokUserInfo.setLastLoginTime(loginTikTokUser.getLoginTime());
// tiktokUserInfo.setImg(loginTikTokUser.getTiktokUser().getImg());
// tiktokUserInfo.setIsVip(loginTikTokUser.getTiktokUser().getIsVip());
// tiktokUserInfo.setCreateTime(loginTikTokUser.getTiktokUser().getCreateTime());
// tiktokUserInfo.setUpdateTime(loginTikTokUser.getTiktokUser().getUpdateTime());
// tiktokUserInfo.setSort(loginTikTokUser.getTiktokUser().getSort());
// tiktokUserInfo.setUserClientType(userClientType.getType());
// return tiktokUserInfo;
// case WU:
// UserInfoVo wechatUserInfo = new UserInfoVo();
// LoginWechatUser loginWechatUser = getLoginWechatUser();
// wechatUserInfo.setId(loginWechatUser.getWxUserId());
// wechatUserInfo.setOpenId(loginWechatUser.getWxUserOpenId());
// wechatUserInfo.setUserName(loginWechatUser.getWxUserName());
// wechatUserInfo.setIpaddr(loginWechatUser.getIpaddr());
// wechatUserInfo.setLastLoginTime(loginWechatUser.getLoginTime());
// wechatUserInfo.setImg(loginWechatUser.getWxUser().getImg());
// wechatUserInfo.setIsVip(loginWechatUser.getWxUser().getIsVip());
// wechatUserInfo.setCreateTime(loginWechatUser.getWxUser().getCreateTime());
// wechatUserInfo.setUpdateTime(loginWechatUser.getWxUser().getUpdateTime());
// wechatUserInfo.setSort(loginWechatUser.getWxUser().getSort());
// wechatUserInfo.setUserClientType(userClientType.getType());
// return wechatUserInfo;
// case KU:
// UserInfoVo fhUserInfo = new UserInfoVo();
// LoginFhUser loginFhUser = getLoginFhUser();
// fhUserInfo.setId(loginFhUser.getFhUserId());
// fhUserInfo.setOpenId(loginFhUser.getFhUserOpenId());
// fhUserInfo.setUserName(loginFhUser.getFhUserName());
// fhUserInfo.setIpaddr(loginFhUser.getIpaddr());
// fhUserInfo.setLastLoginTime(loginFhUser.getLoginTime());
// fhUserInfo.setImg(loginFhUser.getFhUser().getImg());
// fhUserInfo.setIsVip(loginFhUser.getFhUser().getIsVip());
// fhUserInfo.setCreateTime(loginFhUser.getFhUser().getCreateTime());
// fhUserInfo.setUpdateTime(loginFhUser.getFhUser().getUpdateTime());
// fhUserInfo.setSort(loginFhUser.getFhUser().getSort());
// fhUserInfo.setUserClientType(userClientType.getType());
// return fhUserInfo;
// case WY:
// UserInfoVo creatorInfo = new UserInfoVo();
// LoginCreator loginCreator = getLoginCreator();
// creatorInfo.setId(loginCreator.getCreatorId());
// creatorInfo.setPhone(loginCreator.getCreatorPhone());
// creatorInfo.setScanCode(loginCreator.getCreator().getScanCode());
// creatorInfo.setAmt(loginCreator.getCreator().getAmt());
// creatorInfo.setInviteCode(loginCreator.getCreator().getInviteCode());
// creatorInfo.setStatus(loginCreator.getCreator().getStatus());
// creatorInfo.setUrl(loginCreator.getCreator().getUrl());
// creatorInfo.setIsHot(loginCreator.getCreator().getIsHot());
// creatorInfo.setIsShow(loginCreator.getCreator().getIsShow());
// creatorInfo.setIntro(loginCreator.getCreator().getIntro());
// creatorInfo.setUserName(loginCreator.getCreator().getName());
// creatorInfo.setIpaddr(loginCreator.getIpaddr());
// creatorInfo.setLastLoginTime(loginCreator.getLoginTime());
// creatorInfo.setImg(loginCreator.getCreator().getImg());
// creatorInfo.setIsShow(loginCreator.getCreator().getIsShow());
// creatorInfo.setCreateTime(loginCreator.getCreator().getCreateTime());
// creatorInfo.setUpdateTime(loginCreator.getCreator().getUpdateTime());
// creatorInfo.setSort(loginCreator.getCreator().getSort());
// creatorInfo.setUserClientType(userClientType.getType());
// return creatorInfo;
// default:
// throw new ServiceException("userClientType 未匹配上对应用户类型");
// }
}
//******************************通用获取信息结束*********************************************

7
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/UserVipController.java

@ -7,7 +7,6 @@ import com.bnyer.img.vo.UserVipVo;
import io.swagger.annotations.Api;
import io.swagger.v3.oas.annotations.Operation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@ -18,7 +17,7 @@ import java.util.List;
* @Date :2023/05/10
* @description :
*/
@Api(value = "【小程序】用户端接口",tags = "【小程序】用户端接口")
@Api(value = "会员相关接口",tags = "会员相关接口")
@RestController
@RequestMapping("/img/mini/vip")
@Slf4j
@ -27,13 +26,13 @@ public class UserVipController {
@Resource
private UserVipService userVipService;
@Operation(summary="获取用户会员列表",description = "获取用户会员列表")
@Operation(summary="获取会员列表",description = "获取会员列表")
@PostMapping(value = "/queryUserVipList")
public R<List<UserVipVo>> queryUserVipList(@RequestBody UserVipQuery query){
return R.ok(userVipService.queryUserVipList(query));
}
@Operation(summary="获取会员信息(单表查询)",description = "获取会员信息")
@Operation(summary="获取会员信息",description = "获取会员信息")
@GetMapping(value = "/queryUserVip/{id}")
public R<UserVipVo> queryUserVip(@PathVariable(value = "id") Long id){
return R.ok(userVipService.queryUserVip(id));

15
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/VipTypeMapper.java

@ -0,0 +1,15 @@
package com.bnyer.img.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.bnyer.common.core.domain.UserVip;
import com.bnyer.common.core.domain.VipType;
import com.bnyer.img.query.UserVipQuery;
import com.bnyer.img.vo.UserVipVo;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface VipTypeMapper extends BaseMapper<VipType> {
}

8
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/UserVipServiceImpl.java

@ -3,10 +3,12 @@ package com.bnyer.img.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.bnyer.common.core.domain.UserVip;
import com.bnyer.common.core.domain.VipType;
import com.bnyer.common.core.enums.ResponseEnum;
import com.bnyer.common.core.exception.ServiceException;
import com.bnyer.common.core.utils.bean.EntityConvertUtil;
import com.bnyer.img.mapper.UserVipMapper;
import com.bnyer.img.mapper.VipTypeMapper;
import com.bnyer.img.query.UserVipQuery;
import com.bnyer.img.service.UserVipService;
import com.bnyer.img.vo.UserVipVo;
@ -24,6 +26,9 @@ public class UserVipServiceImpl extends ServiceImpl<UserVipMapper, UserVip> impl
@Autowired
private UserVipMapper userVipMapper;
@Autowired
private VipTypeMapper vipTypeMapper;
/**
* 获取用户会员列表
* @param query
@ -45,7 +50,10 @@ public class UserVipServiceImpl extends ServiceImpl<UserVipMapper, UserVip> impl
if (Objects.isNull(userVip)){
throw new ServiceException(ResponseEnum.NOT_EXIST,"会员信息");
}
VipType vipType = vipTypeMapper.selectById(userVip.getVipTypeId());
UserVipVo userVipVo = EntityConvertUtil.copy(userVip, UserVipVo.class);
userVipVo.setVipTypeCode(vipType.getTypeCode());
userVipVo.setVipTypeName(vipType.getTypeName());
return userVipVo;
}
}

9
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/UserVipVo.java

@ -20,15 +20,15 @@ public class UserVipVo implements Serializable {
@ApiModelProperty(value="vip类型id")
private Long vipTypeId;
@ApiModelProperty(value = "会员类型名称")
private String vipTypeName;
@ApiModelProperty(value="vip编码")
private String vipCode;
@ApiModelProperty(value="vip名称")
private String vipName;
@ApiModelProperty(value = "vip类型:下图:0(月卡) 1(季卡) 2(年卡)")
private String vipType;
@ApiModelProperty(value="原价")
private BigDecimal originPrice;
@ -59,8 +59,5 @@ public class UserVipVo implements Serializable {
@ApiModelProperty(value = "会员类型编码")
private String vipTypeCode;
@ApiModelProperty(value = "会员类型名称")
private String vipTypeName;
private static final long serialVersionUID = 1L;
}

1
bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/UserVipMapper.xml

@ -6,7 +6,6 @@
<!--@Table img_user_vip-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="vip_name" jdbcType="VARCHAR" property="vipName" />
<result column="vip_name" jdbcType="VARCHAR" property="vipName" />
<result column="vip_code" jdbcType="VARCHAR" property="vipCode" />
<result column="vip_type_id" jdbcType="BIGINT" property="vipTypeId" />
<result column="origin_price" jdbcType="DECIMAL" property="originPrice" />

15
bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/VipTypeMapper.xml

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bnyer.img.mapper.VipTypeMapper">
<resultMap id="BaseResultMap" type="com.bnyer.common.core.domain.VipType">
<!--@mbg.generated-->
<!--@Table img_vip_type-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="type_code" jdbcType="VARCHAR" property="typeCode" />
<result column="type_name" jdbcType="VARCHAR" property="typeName" />
<result column="is_show" jdbcType="CHAR" property="isShow" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="sort" jdbcType="INTEGER" property="sort" />
</resultMap>
</mapper>

2
bnyer-services/bnyer-order/src/main/java/com/bnyer/order/bean/query/VipOrderExtQuery.java

@ -27,7 +27,7 @@ public class VipOrderExtQuery implements Serializable {
public void valid() {
if (this.id == null || StringUtils.isBlank(this.orderNo)){
if (this.id == null && StringUtils.isBlank(this.orderNo)){
throw new ServiceException("id 和 订单号不能同时为空");
}
}

2
bnyer-services/bnyer-order/src/main/java/com/bnyer/order/service/impl/VipOrderServiceImpl.java

@ -145,7 +145,7 @@ public class VipOrderServiceImpl extends ServiceImpl<VipOrderMapper, VipOrder> i
/**
* 构建下图会员订单
* @param userVipDetailsVo
* @param userVipVo
* @param addVipOrderDto
* @return
*/

2
bnyer-services/bnyer-pay/src/main/java/com/bnyer/pay/bean/dto/UnifiedOrderDto.java

@ -28,7 +28,7 @@ public class UnifiedOrderDto {
private Integer sceneCode;
@NotBlank(message = "支付类型不能为空")
@ApiModelProperty(value="支付类型:wxpay/alipay",required = true)
@ApiModelProperty(value="支付类型:wxpay/alipay/dypay/kspay",required = true)
private String payType;
@ApiModelProperty(value="交易类型 1--JSAPI支付(小程序appId支付)、2--Native支付、3--app支付,4--JSAPI支付(公众号appId支付)5--H5支付,微信支付必填",example = "1")

2
bnyer-services/bnyer-pay/src/main/java/com/bnyer/pay/design/strategy/WxPayStrategy.java

@ -60,7 +60,7 @@ public class WxPayStrategy extends AbstractPayStrategy {
public ThirdUnifiedOrderVo unifiedOrder(UnifiedOrderBo bo) {
log.info("微信支付:统一下单接口调用开始,WxPayStrategy.unifiedOrder bo:{}",JSON.toJSONString(bo));
ThirdUnifiedOrderVo thirdUnifiedOrderVo = null;
EnumTradeType payByTradeType = EnumTradeType.getPayByTradeType(bo.getTradeType());
EnumTradeType payByTradeType = EnumTradeType.getEnumByCode(bo.getTradeType());
switch (payByTradeType){
case JSAPI_MINI:
thirdUnifiedOrderVo = jsApiPay(bo);

4
bnyer-services/bnyer-pay/src/main/java/com/bnyer/pay/enums/EnumTradeType.java

@ -24,11 +24,11 @@ public enum EnumTradeType {
private final String code;
private final String name;
private final String type;
private final String desc;
public static EnumTradeType getPayByTradeType(String code) {
public static EnumTradeType getEnumByCode(String code) {
return Arrays.stream(values())
.filter(tradeType -> tradeType.getCode().equals(code))
.findFirst().orElse(EnumTradeType.UNKNOWN);

12
bnyer-services/bnyer-pay/src/main/java/com/bnyer/pay/manager/WxPayManager.java

@ -1,10 +1,12 @@
package com.bnyer.pay.manager;
import cn.hutool.core.util.IdUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.bnyer.common.core.domain.WxpayConfig;
import com.bnyer.common.core.enums.ResponseEnum;
import com.bnyer.common.core.exception.ServiceException;
import com.bnyer.common.core.utils.SpringUtils;
import com.bnyer.common.core.utils.uuid.IdUtils;
import com.bnyer.pay.enums.EnumPayConfigStatus;
import com.bnyer.pay.enums.EnumTradeType;
import com.bnyer.pay.mapper.WxpayConfigMapper;
@ -61,15 +63,17 @@ public class WxPayManager {
public WxPayService getWxPayService(WxpayConfig wxpayConfig){
String appId = wxpayConfig.getAppid();
String mchId = wxpayConfig.getMchid();
String key = wxpayConfig.getKey();
String apiKey = wxpayConfig.getApiKey();
String backUrl = wxpayConfig.getBackurl();
WxPayConfig payConfig = new WxPayConfig();
payConfig.setAppId(appId);
payConfig.setMchId(mchId);
payConfig.setMchKey(key);
payConfig.setSignType(WxPayConstants.SignType.MD5);
payConfig.setApiV3Key(apiKey);
payConfig.setNotifyUrl(backUrl);
payConfig.setTradeType(EnumTradeType.getPayByTradeType(wxpayConfig.getTradeType()).getName());
payConfig.setTradeType(EnumTradeType.getEnumByCode(wxpayConfig.getTradeType()).getType());
payConfig.setPrivateCertPath(wxpayConfig.getCertPath());
payConfig.setPrivateKeyPath(wxpayConfig.getKeyPath());
payConfig.setCertSerialNo(wxpayConfig.getCertSerialNo());
WxPayService wxPayService = new WxPayServiceImpl();
wxPayService.setConfig(payConfig);
return wxPayService;

6
bnyer-services/bnyer-pay/src/main/resources/com/bnyer/pay/mapper/WxpayConfigMapper.xml

@ -10,6 +10,10 @@
<result column="mchid" jdbcType="VARCHAR" property="mchid" />
<result column="backurl" jdbcType="VARCHAR" property="backurl" />
<result column="key" jdbcType="VARCHAR" property="key" />
<result column="api_key" jdbcType="VARCHAR" property="apiKey" />
<result column="cert_serial_no" jdbcType="VARCHAR" property="certSerialNo" />
<result column="key_path" jdbcType="VARCHAR" property="keyPath" />
<result column="cert_path" jdbcType="VARCHAR" property="certPath" />
<result column="status" jdbcType="CHAR" property="status" />
<result column="remark" jdbcType="VARCHAR" property="remark" />
<result column="is_show" jdbcType="CHAR" property="isShow" />
@ -19,6 +23,6 @@
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, trade_type, appid, mchid, backurl, `key`, `status`, remark, create_time, update_time, sort, is_show
id, trade_type, appid, mchid, backurl, `key`,api_key,cert_serial_no,key_path,cert_path, `status`, remark, create_time, update_time, sort, is_show
</sql>
</mapper>

Loading…
Cancel
Save