Ver Fonte

消息推送

Newspaper há 2 anos atrás
pai
commit
878e1f77c8

+ 5 - 0
src/main/java/com/huimv/admin/HuimvAdminApplication.java

@@ -10,6 +10,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
 import org.springframework.context.annotation.Bean;
 import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.web.client.RestTemplate;
 
 /**
  * @Project : huimv.shiwan
@@ -54,4 +55,8 @@ public class HuimvAdminApplication {
         connector.setRedirectPort(8096);
         return connector;
     }
+    @Bean
+    RestTemplate restTemplate(){
+        return new RestTemplate();
+    }
 }

+ 48 - 1
src/main/java/com/huimv/admin/controller/LoginController.java

@@ -8,12 +8,16 @@ import com.huimv.admin.common.utils.Result;
 import com.huimv.admin.common.utils.ResultCode;
 import com.huimv.admin.common.utils.VerifyUtil;
 import com.huimv.admin.entity.SysAccountMultilevel;
+import com.huimv.admin.mapper.SysAccountMultilevelMapper;
 import com.huimv.admin.service.ILoginService;
+import com.huimv.admin.service.ISysAccountMultilevelService;
 import com.huimv.admin.session.AccessToken;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.client.RestTemplate;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.util.Date;
@@ -27,6 +31,8 @@ public class LoginController {
 
     @Autowired
     ILoginService iLoginService;
+    @Autowired
+    private SysAccountMultilevelMapper sysAccountMultilevelMapper;
 
     @RequestMapping("/test")
     public String logout() {
@@ -115,6 +121,47 @@ public class LoginController {
         return  token;
     }
 
+    @Autowired
+    private RestTemplate restTemplate;
+
+    @GetMapping("/wechatLogin")
+    public String wechatLogin(@RequestParam(name = "js_code")String js_code){
+        String URL  = "https://api.weixin.qq.com/sns/jscode2session";
+        String appid  = "wx707fcfd7d09e02eb";
+        String secret  = "f932c54f1cbd427b10218a0d1cfb88bf";
+        String grant_type  = "authorization_code";
+
+        String forObject = restTemplate.getForObject(URL + "?appid=" + appid + "&secret=" + secret + "&grant_type=" + grant_type + "&js_code=" + js_code, String.class);
+        System.out.println(forObject);
+        return forObject;
+    }
 
-
+    @PostMapping("/saveWechat")
+    public Result saveWechat(HttpServletRequest request,@RequestBody Map<String,String> map){
+        String wechatId = map.get("wechatId");
+        Integer memberIdByJwtToken = TokenSign.getMemberIdByJwtToken(request);
+        SysAccountMultilevel sysAccountMultilevel = sysAccountMultilevelMapper.selectById(memberIdByJwtToken);
+        sysAccountMultilevel.setWechatId(wechatId);
+        sysAccountMultilevel.setSubscribe(0);
+        sysAccountMultilevelMapper.updateById(sysAccountMultilevel);
+        return Result.SUCCESS();
+    }
+    @PostMapping("/getSubscribe")
+    public Result getSubscribe(HttpServletRequest request){
+        Integer memberIdByJwtToken = TokenSign.getMemberIdByJwtToken(request);
+        SysAccountMultilevel sysAccountMultilevel = sysAccountMultilevelMapper.selectById(memberIdByJwtToken);
+        if (ObjectUtil.isNull(sysAccountMultilevel.getSubscribe())){
+            sysAccountMultilevel.setSubscribe(0);
+        }
+        sysAccountMultilevelMapper.updateById(sysAccountMultilevel);
+        return new Result(ResultCode.SUCCESS,sysAccountMultilevel.getSubscribe());
+    }
+    @PostMapping("/subscribe")
+    public Result subscribe(HttpServletRequest request){
+        Integer memberIdByJwtToken = TokenSign.getMemberIdByJwtToken(request);
+        SysAccountMultilevel sysAccountMultilevel = sysAccountMultilevelMapper.selectById(memberIdByJwtToken);
+        sysAccountMultilevel.setSubscribe(1);
+        sysAccountMultilevelMapper.updateById(sysAccountMultilevel);
+        return Result.SUCCESS();
+    }
 }

+ 2 - 1
src/main/java/com/huimv/admin/entity/SysAccountMultilevel.java

@@ -46,5 +46,6 @@ public class SysAccountMultilevel extends Model {
     private String userName;
     private Integer type;
     private String farmNames;
-
+    private String wechatId;
+    private Integer subscribe;
 }