Althars123 3 tahun lalu
induk
melakukan
f016ca4c36

+ 83 - 0
twzd-admin/src/main/java/com/miaxis/app/controller/wx/VipController.java

@@ -0,0 +1,83 @@
+package com.miaxis.app.controller.wx;
+
+import com.alibaba.fastjson.JSONObject;
+import com.miaxis.common.config.WxpayConfig;
+import com.miaxis.common.constant.Constants;
+import com.miaxis.common.core.controller.BaseController;
+import com.miaxis.common.core.domain.Response;
+import com.miaxis.system.service.ISysDictDataService;
+import com.miaxis.wx.dto.WxOrderDTO;
+import com.miaxis.wx.service.IWxOrderService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.http.client.HttpClient;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 【小程序-微信支付】Controller
+ *
+ * @author miaxis
+ * @date 2021-03-10
+ */
+@RestController
+@RequiredArgsConstructor
+@RequestMapping(Constants.VIP_PREFIX+"/wx")
+@Api(tags = {"【VIP-接口】"})
+@Slf4j
+public class VipController extends BaseController {
+
+    @Autowired
+    private HttpClient httpClient;
+
+    @Autowired
+    private WxpayConfig wxpayConfig;
+
+    @Autowired
+    private IWxOrderService wxOrderService;
+
+
+    @Autowired
+    private ISysDictDataService dictDataService;
+
+    @Value("${app.appid}")
+    private String appid;
+    @Value("${wxpay.notifyUrl}")
+    private  String notifyUrl ;
+
+
+
+
+
+
+    /**
+     * 微信支付获取预订单id
+     */
+    @PostMapping(value = "/prepareOrder")
+    @ApiOperation("微信支付下单")
+    public Response<JSONObject> getPrepareOrder(@RequestBody WxOrderDTO wxOrderDTO) throws Exception{
+
+            return Response.success();
+
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+}

+ 1 - 16
twzd-admin/src/main/java/com/miaxis/app/controller/wx/WxController.java

@@ -77,22 +77,7 @@ public class WxController extends BaseController {
 
 
 
-//
-//
-//    @GetMapping("/order/list")
-//    @ApiOperation("查询订单列表")
-//    @ApiImplicitParams({
-//            @ApiImplicitParam(name = "pageNum",value = "当前页码" ,dataType = "int", paramType = "query", required = false),
-//            @ApiImplicitParam(name = "pageSize",value = "每页数据量" , dataType = "int", paramType = "query", required = false),
-//    })
-//    public ResponsePageInfo<WxOrder> list(@ModelAttribute WxOrderListDTO wxOrderListDTO){
-//
-//        String openid = SecurityUtils.getLoginUser().getStudent().getOpenid();
-//        startPage();
-//        wxOrderListDTO.setOpenid(openid);
-//        List<WxOrder> list = wxOrderService.selectOrderList(wxOrderListDTO);
-//        return toResponsePageInfo(list);
-//    }
+
 
     /**
      * 微信支付获取预订单id

+ 13 - 10
twzd-admin/src/main/java/com/miaxis/app/controller/wx/WxNotifyController.java

@@ -6,8 +6,11 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.miaxis.common.config.WxpayConfig;
 import com.miaxis.common.constant.Constants;
 import com.miaxis.common.core.domain.entity.UserInfo;
+import com.miaxis.common.core.domain.model.LoginUser;
 import com.miaxis.common.exception.CustomException;
 import com.miaxis.common.utils.AesUtil;
+import com.miaxis.common.utils.SecurityUtils;
+import com.miaxis.framework.web.service.TokenService;
 import com.miaxis.user.service.IUserInfoService;
 import com.miaxis.wx.domain.RefundRecord;
 import com.miaxis.wx.domain.WxOrder;
@@ -35,7 +38,6 @@ import java.nio.charset.StandardCharsets;
 import java.security.*;
 import java.security.cert.X509Certificate;
 import java.util.Date;
-import java.util.Random;
 
 @RestController
 @RequiredArgsConstructor
@@ -62,6 +64,9 @@ public class WxNotifyController {
     @Autowired
     private AutoUpdateCertificatesVerifier verifier;
 
+    @Autowired
+    private TokenService tokenService;
+
 
     /**
      * 微信支付回调接口
@@ -229,6 +234,13 @@ public class WxNotifyController {
         }
 
         userInfoService.updateById(userinfo);
+
+        //更新上下文中对象状态
+        LoginUser loginUser = SecurityUtils.getLoginUser();
+        loginUser.setStudent(userinfo);
+        //刷新缓存中的数据
+        tokenService.refreshToken(loginUser);
+
         return outTradeNo;
 
     }
@@ -239,16 +251,7 @@ public class WxNotifyController {
         return aesUtil.decryptToString(wxpaySource.getAssociated_data().getBytes(), wxpaySource.getNonce().getBytes(), wxpaySource.getCiphertext());
     }
 
-    private String randomVipcode() {
-        String result = "";
-        Random random = new Random();
-        for(int i =0 ;i <11 ;i ++){
-            result+=random.nextInt(10);
-        }
-        return  result;
-
 
-    }
 
 
 

+ 4 - 0
twzd-common/src/main/java/com/miaxis/common/constant/Constants.java

@@ -178,6 +178,10 @@ public class Constants
      */
     public static final String STUDENT_PREFIX = "/student";
 
+    /**
+     * VIP
+     */
+    public static final String VIP_PREFIX = "/vip";
 
 
     /**

+ 5 - 7
twzd-common/src/main/java/com/miaxis/common/core/domain/model/LoginUser.java

@@ -10,10 +10,7 @@ import org.springframework.security.core.GrantedAuthority;
 import org.springframework.security.core.authority.SimpleGrantedAuthority;
 import org.springframework.security.core.userdetails.UserDetails;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
 
 /**
  * 登录用户身份权限
@@ -272,9 +269,10 @@ public class LoginUser implements UserDetails
             List<SimpleGrantedAuthority> roleList = new ArrayList<SimpleGrantedAuthority>();
             roleList.add(new SimpleGrantedAuthority("ROLE_STUDENT"));
             //如果已激活,是vip的话
-//            if (this.getStudent().getIsVip() == 1){
-//                roleList.add(new SimpleGrantedAuthority("ROLE_VIP"));
-//            }
+            Date expireTime = this.getStudent().getExpireTime();
+            if (expireTime != null && expireTime.getTime() > System.currentTimeMillis()){
+                roleList.add(new SimpleGrantedAuthority("ROLE_VIP"));
+            }
             return roleList;
         }else {
             return null;

+ 1 - 0
twzd-framework/src/main/java/com/miaxis/framework/config/SecurityConfig.java

@@ -105,6 +105,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
                 .antMatchers("/login", "/login/noCode","/captchaImage","/login/code","/login/code/test","/login/jscode-test").anonymous()
                 //.antMatchers("/student/open/**").permitAll()
                 .antMatchers("/student/**").hasRole("STUDENT")
+                .antMatchers("/vip/**").hasRole("VIP")
                 .antMatchers(
                         HttpMethod.GET,
                         "/*.html",