فهرست منبع

增加珊瑚云服务类,增加微信服务类,增加获取微信小程序跳转二维码接口

leon 5 سال پیش
والد
کامیت
433607f7d4

+ 15 - 0
src/main/java/com/mokamrp/privates/controller/pangu/FosterwxStationController.java

@@ -10,6 +10,8 @@ import com.mokamrp.privates.entity.pangu.LoginStationHandle;
 import com.mokamrp.privates.help.AjaxResult;
 import com.mokamrp.privates.interceptor.AuthUser;
 import com.mokamrp.privates.mapper.pojo.User;
+import com.mokamrp.privates.service.CoralApiService;
+import com.mokamrp.privates.service.WechatApiService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.*;
@@ -36,6 +38,12 @@ public class FosterwxStationController extends BaseController<FosterwxStation> {
     @Autowired
     public FosterwxStationService fosterwxStationService;
 
+    @Autowired
+    public CoralApiService coralApiService;
+
+    @Autowired
+    public WechatApiService wechatApiService;
+
     /*
      * @fast
      * 默认生成的控制器所继承的父类中有index/add/edit/del四个基础方法,均为post json请求
@@ -94,5 +102,12 @@ public class FosterwxStationController extends BaseController<FosterwxStation> {
         return AjaxResult.success(res.get("msg").toString(),res);
     }
 
+    @GetMapping("/test")
+    public Object test(){
+        String res = coralApiService.getBoxToken("gh_e529abe24cce");
+        String qrcodeUrl = wechatApiService.BuildBoxUnlimited(res,"asd=123","pages/index/index");
+        return AjaxResult.success(qrcodeUrl);
+    }
+
 }
 

+ 1 - 1
src/main/java/com/mokamrp/privates/mapper/pangu/pojo/FosterwxStation.java

@@ -56,7 +56,7 @@ public class FosterwxStation extends Model<FosterwxStation> {
      * 登录密码
      */
     private String loginPassword;
-
+    private Float fansAmt;
     /**
      * 创建人
      */

+ 9 - 0
src/main/java/com/mokamrp/privates/service/CoralApiService.java

@@ -0,0 +1,9 @@
+package com.mokamrp.privates.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mokamrp.privates.mapper.pojo.ChatTool;
+
+public interface CoralApiService  {
+    //.@leon 获取小程序Access_Token
+    public String getBoxToken(String ghId);
+}

+ 3 - 0
src/main/java/com/mokamrp/privates/service/FileService.java

@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.mokamrp.privates.mapper.pojo.ChatTool;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.io.InputStream;
+
 /**
  * <p>
  * 通用上传文件 服务类
@@ -16,4 +18,5 @@ import org.springframework.web.multipart.MultipartFile;
 public interface FileService {
     //.上传文件到oss
     public String uploadToOss(MultipartFile zipFile);
+    public String uploadIsToOss(InputStream inputStream, String exland);
 }

+ 5 - 0
src/main/java/com/mokamrp/privates/service/WechatApiService.java

@@ -0,0 +1,5 @@
+package com.mokamrp.privates.service;
+
+public interface WechatApiService {
+    public String BuildBoxUnlimited(String token,String scene,String page);
+}

+ 38 - 0
src/main/java/com/mokamrp/privates/service/impl/CoralApiServiceImpl.java

@@ -0,0 +1,38 @@
+package com.mokamrp.privates.service.impl;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mokamrp.privates.mapper.ChatToolMapper;
+import com.mokamrp.privates.mapper.pojo.ChatTool;
+import com.mokamrp.privates.service.ChatToolService;
+import com.mokamrp.privates.service.CoralApiService;
+import com.mokamrp.privates.utils.http.HttpUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.Map;
+
+
+@Service
+public class CoralApiServiceImpl implements CoralApiService {
+
+    private String coralApi = "https://video.mokasaas.com/coralapi";
+
+    /**
+     * 获取小程序Access_Token
+     * @param ghId
+     * @return
+     */
+    public String getBoxToken(String ghId){
+        String url = "/boxmanager/box/gettoken";
+        String params = "gh_id="+ghId;
+        String res = HttpUtils.sendGet(coralApi+url,params);
+        System.out.println(res);
+        Map<String,Object> tokenInfo = JSON.parseObject(res, HashMap.class);
+        if (Integer.parseInt(tokenInfo.get("code").toString()) != 0){
+            return "";
+        }
+        return tokenInfo.get("data").toString();
+    }
+}

+ 17 - 0
src/main/java/com/mokamrp/privates/service/impl/FileServiceImpl.java

@@ -53,4 +53,21 @@ public class FileServiceImpl implements FileService {
             return "";
         }
     }
+
+    public String uploadIsToOss(InputStream inputStream,String exland) {
+        try{
+            SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmm");
+            Date currentTime = new Date();
+            String dateStr = formatter.format(currentTime);
+            String randStr = StringUtils.getRandomString(10);
+            String filePath = ossConfiguration.UPLOAD_DIR + dateStr+"/"+randStr+exland;
+            PutObjectResult res = oss.putObject(ossConfiguration.getBucketName(),filePath,inputStream);
+            String url = ossConfiguration.getHost() + filePath;
+            return url;
+        }catch (Exception e){
+            return "";
+        }
+    }
+
+
 }

+ 45 - 0
src/main/java/com/mokamrp/privates/service/impl/WechatApiServiceImpl.java

@@ -0,0 +1,45 @@
+package com.mokamrp.privates.service.impl;
+
+import com.alibaba.fastjson.JSON;
+import com.mokamrp.privates.service.CoralApiService;
+import com.mokamrp.privates.service.FileService;
+import com.mokamrp.privates.service.WechatApiService;
+import com.mokamrp.privates.utils.http.HttpUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
+import java.util.HashMap;
+import java.util.Map;
+
+
+@Service
+public class WechatApiServiceImpl implements WechatApiService {
+
+    @Autowired
+    public FileService fileService;
+
+    private String wechatApi = "https://api.weixin.qq.com";
+
+    /**
+     * 创建小程序跳转二维码
+     * @param scene
+     * @param page
+     * @return
+     */
+    public String BuildBoxUnlimited(String token,String scene,String page){
+        String url = "/wxa/getwxacodeunlimit?access_token="+token;
+        Map<String,String> body = new HashMap<>();
+        body.put("scene",scene);
+        body.put("page",page);
+        String jsonStr = JSON.toJSONString(body);
+        String qrcodeStr = HttpUtils.sendPost(wechatApi+url,jsonStr,"utf-8");
+        byte[] imageB = qrcodeStr.getBytes(StandardCharsets.UTF_16);
+        InputStream is = new ByteArrayInputStream(imageB);
+        String ossUrl = fileService.uploadIsToOss(is,".png");
+        return ossUrl;
+    }
+
+}

+ 1 - 1
src/main/java/com/mokamrp/privates/tast/pangu/SyncFosterwxTask.java

@@ -40,7 +40,7 @@ public class SyncFosterwxTask {
     @Autowired
     public StringRedisTemplate stringRedisTemplate;
 
-    @Scheduled(cron = "0 */1 * * * ?")
+//    @Scheduled(cron = "0 */1 * * * ?")
     public void execute() {
 //        System.out.println("[cronjob]:同步微信养号任务到REDIS");
 //        Integer taskCnt = 60;

+ 3 - 3
src/main/java/com/mokamrp/privates/tast/pangu/SyncNewFosterwxTask.java

@@ -30,13 +30,13 @@ public class SyncNewFosterwxTask {
     @Autowired
     public StringRedisTemplate stringRedisTemplate;
 
-    @Scheduled(cron = "0 */1 * * * ?")
+    @Scheduled(cron = "*/2 * * * * ?")
     public void execute() {
         System.out.println("[cronjob]:同步微信养号任务到REDIS");
         Integer taskCnt = 60;
         LocalDateTime nowDate = LocalDateTime.now();
-        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
-        String dateStr = df.format(nowDate);
+//        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
+        String dateStr = nowDate.toLocalDate().toString();
         List<FosterwxStation> fosterwxStationList = fosterwxStationService.list();
         for (FosterwxStation fosterwxStation : fosterwxStationList) {
             Integer stationId = fosterwxStation.getId();