Procházet zdrojové kódy

open与卡开卡id冲突。更名为 wxOpenId

mingfu před 1 měsícem
rodič
revize
b45fa1cd6b

+ 3 - 2
ie-admin/src/main/java/com/ruoyi/web/controller/front/FrontECardController.java

@@ -211,7 +211,7 @@ public class FrontECardController extends BaseController {
             type = "h5";
         }
         SysUser u = SecurityUtils.getLoginUser().getUser();
-        if("jsapi".equals(type) && StringUtils.isBlank(u.getOpenId())) {
+        if("jsapi".equals(type) && StringUtils.isBlank(u.getWxOpenId())) {
             return AjaxResult.error("微信用户未绑定");
         }
         Integer totalFee2 = totalFee.intValue();
@@ -269,8 +269,9 @@ public class FrontECardController extends BaseController {
             data.put("h5url", h5Url);
         } else {
             WxPayUnifiedOrderV3Request.Payer payer = new WxPayUnifiedOrderV3Request.Payer();
-            payer.setOpenid(u.getOpenId());
+            payer.setOpenid(u.getWxOpenId());
             order.setPayer(payer);
+            order.setAppid(weixinPayService.getAppId(TradeTypeEnum.JSAPI));
             WxPayUnifiedOrderV3Result.JsapiResult jsapiResult = wxService.createOrderV3(TradeTypeEnum.JSAPI, order);
             String detail = JSONObject.toJSONString(jsapiResult);
             String prepayId = StringUtils.substringAfterLast(jsapiResult.getPackageValue(), "prepay_id=");

+ 2 - 2
ie-admin/src/main/java/com/ruoyi/web/service/SysLoginService.java

@@ -87,11 +87,11 @@ public class SysLoginService
         }
         SysUser upUser = new SysUser();
         upUser.setUserId(loginUser.getUserId());
-        upUser.setOpenId(openid);
+        upUser.setWxOpenId(openid);
         if (userService.updateUserProfile(upUser) > 0)
         {
             // 更新缓存用户信息
-            loginUser.getUser().setOpenId(openid);
+            loginUser.getUser().setWxOpenId(openid);
             tokenService.setLoginUser(loginUser);
             return AjaxResult.success(JSONObject.of("openId", openid));
         }

+ 7 - 0
ie-admin/src/main/java/com/ruoyi/web/service/WeixinPayService.java

@@ -7,6 +7,7 @@ import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.github.binarywang.wxpay.bean.result.enums.TradeTypeEnum;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.common.core.text.Convert;
@@ -64,6 +65,8 @@ public class WeixinPayService {
     CloseableHttpClient httpClient;
     @Value("${wxpay.appId}")
     private String appId;
+    @Value("${wxpay.miniAppId}")
+    private String miniAppId;
     private String mchId;
     private String notifyUrl;
     private AesUtil aesUtil;
@@ -119,6 +122,10 @@ public class WeixinPayService {
         return;
     }
 
+    public String getAppId(TradeTypeEnum tradeType) {
+        return TradeTypeEnum.JSAPI.equals(tradeType) ? miniAppId : appId;
+    }
+
     public void checkWxPay() {
         BBusiPaymentOrders cond = new BBusiPaymentOrders();
         cond.setStatus(ECardPayStatus.unpaid.getValue());

+ 5 - 5
ie-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java

@@ -42,7 +42,7 @@ public class SysUser extends BaseEntity
 //    @Excel(name = "机构编号", type = Type.IMPORT)
     private Long deptId;
 
-    private String openId;
+    private String wxOpenId;
 
     /** 用户账号 */
 //    @Excel(name = "登录名称")
@@ -299,12 +299,12 @@ public class SysUser extends BaseEntity
         this.nickName = nickName;
     }
 
-    public String getOpenId() {
-        return openId;
+    public String getWxOpenId() {
+        return wxOpenId;
     }
 
-    public void setOpenId(String openId) {
-        this.openId = openId;
+    public void setWxOpenId(String wxOpenId) {
+        this.wxOpenId = wxOpenId;
     }
 
     @Xss(message = "用户账号不能包含脚本字符")

+ 4 - 3
ie-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -43,6 +43,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		<result property="userType"        column="user_type"          />
 		<result property="userTypeId"        column="user_type_id"          />
 		<result property="accountType"        column="account_type"          />
+		<result property="wxOpenId"        column="wx_openid"          />
         <association property="dept"     javaType="SysDept"         resultMap="deptResult" />
         <collection  property="roles"    javaType="java.util.List"  resultMap="RoleResult" />
     </resultMap>
@@ -70,7 +71,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.pwd_update_date, u.create_by, u.create_time, u.remark,
 		u.location,u.exam_type,u.reg_status,u.end_year,u.invite_code,u.scores,u.exam_major,u.score,u.score_lock,u.seat_input,u.exam_major_name,u.directed_study,u.eval_counts,u.card_id,u.bind_status,u.account_type,
         d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status,
-        r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status, u.user_type, u.user_type_id, u.open_id
+        r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status, u.user_type, u.user_type_id, u.wx_openid
         from sys_user u
 		    left join sys_dept d on u.dept_id = d.dept_id
 		    left join sys_user_role ur on u.user_id = ur.user_id
@@ -268,7 +269,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
 	<select id="selectUserByOpenId" parameterType="String" resultMap="SysUserResult">
 		<include refid="selectUserVo"/>
-		where u.open_id = #{openId} and u.del_flag = '0'
+		where u.wx_openid = #{openId} and u.del_flag = '0'
 	</select>
 
 	<select id="selectUserByUserName" parameterType="String" resultMap="SysUserResult">
@@ -407,7 +408,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  			<if test="userName != null and userName != ''">user_name = #{userName},</if>
  			<if test="email != null ">email = #{email},</if>
  			<if test="phonenumber != null ">phonenumber = #{phonenumber},</if>
- 			<if test="openId != null ">open_id = #{openId},</if>
+ 			<if test="openId != null ">wx_openid = #{openId},</if>
  			<if test="sex != null and sex != ''">sex = #{sex},</if>
  			<if test="avatar != null and avatar != ''">avatar = #{avatar},</if>
  			<if test="password != null and password != ''">password = #{password},</if>