zh 3 жил өмнө
parent
commit
fa661c711a

+ 8 - 1
boman-api/boman-domain/src/main/java/com.boman.domain/TemplateData.java

@@ -2,7 +2,14 @@ package com.boman.domain;
 
 import lombok.Data;
 
-@Data
 public class TemplateData {
     private Object value;
+
+    public Object getValue() {
+        return value;
+    }
+
+    public void setValue(Object value) {
+        this.value = value;
+    }
 }

+ 73 - 0
boman-api/boman-domain/src/main/java/com.boman.domain/dto/WxMsgDto.java

@@ -0,0 +1,73 @@
+package com.boman.domain.dto;
+
+import com.boman.domain.TemplateData;
+
+import java.util.List;
+import java.util.Map;
+
+public class WxMsgDto {
+
+    private String touser;//用户openid
+    private String template_id;//模版id
+    private String page = "pages/index/index";//默认跳到小程序首页
+    private String emphasis_keyword = "title.DATA";//放大那个推送字段
+    private Map<String, TemplateData> data;//推送文字
+    private List<Long> ids;
+    private Map<String, Object> params;
+
+    public String getTouser() {
+        return touser;
+    }
+
+    public void setTouser(String touser) {
+        this.touser = touser;
+    }
+
+    public String getTemplate_id() {
+        return template_id;
+    }
+
+    public void setTemplate_id(String template_id) {
+        this.template_id = template_id;
+    }
+
+    public String getPage() {
+        return page;
+    }
+
+    public void setPage(String page) {
+        this.page = page;
+    }
+
+    public String getEmphasis_keyword() {
+        return emphasis_keyword;
+    }
+
+    public void setEmphasis_keyword(String emphasis_keyword) {
+        this.emphasis_keyword = emphasis_keyword;
+    }
+
+    public Map<String, TemplateData> getData() {
+        return data;
+    }
+
+    public void setData(Map<String, TemplateData> data) {
+        this.data = data;
+    }
+
+    public List<Long> getIds() {
+        return ids;
+    }
+
+    public void setIds(List<Long> ids) {
+        this.ids = ids;
+    }
+
+    public Map<String, Object> getParams() {
+        return params;
+    }
+
+    public void setParams(Map<String, Object> params) {
+        this.params = params;
+    }
+}

+ 1 - 1
boman-wechat/pom.xml

@@ -104,7 +104,7 @@
     </dependencies>
 
     <build>
-        <finalName>${project.artifactId}</finalName>
+        <finalName>jiaoyuju-wechat</finalName>
         <plugins>
             <plugin>
                 <groupId>org.springframework.boot</groupId>

+ 14 - 0
boman-wechat/src/main/java/com/boman/wechat/config/WechatConfiguration.java

@@ -0,0 +1,14 @@
+package com.boman.wechat.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.client.RestTemplate;
+
+@Configuration
+public class WechatConfiguration {
+
+    @Bean
+    public RestTemplate initRestTemplate() {
+       return new RestTemplate();
+    }
+}

+ 11 - 4
boman-wechat/src/main/java/com/boman/wechat/controller/PushMsgController.java

@@ -1,11 +1,11 @@
 package com.boman.wechat.controller;
 
-import com.boman.wechat.utils.CheckAuthUtils;
+import com.boman.domain.dto.WxMsgDto;
+import com.boman.wechat.service.WxPushService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -25,6 +25,9 @@ public class PushMsgController {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(PushMsgController.class);
 
+    @Autowired
+    private WxPushService wxPushService;
+
     @GetMapping
     public void pushMsg(HttpServletRequest request, HttpServletResponse response) {
         // 微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。
@@ -52,4 +55,8 @@ public class PushMsgController {
         }
     }
 
+    @PostMapping("/pushMsg")
+    public String pushMsg(@RequestBody WxMsgDto dto) {
+       return wxPushService.pushToUser(dto.getIds(), dto.getParams());
+    }
 }

+ 0 - 16
boman-wechat/src/main/java/com/boman/wechat/dto/WxMssVo.java

@@ -1,16 +0,0 @@
-package com.boman.wechat.dto;
-
-import com.boman.domain.TemplateData;
-import lombok.Data;
-
-import java.util.Map;
-
-@Data
-public class WxMssVo {
-    private String touser;//用户openid
-    private String template_id;//模版id
-    private String page = "index";//默认跳到小程序首页
-    private String form_id;//收集到的用户formid
-    private String emphasis_keyword = "keyword1.DATA";//放大那个推送字段
-    private Map<String, TemplateData> data;//推送文字
-}

+ 3 - 3
boman-wechat/src/main/java/com/boman/wechat/service/impl/WxPushServiceImpl.java

@@ -5,9 +5,9 @@ import com.boman.common.core.utils.StringUtils;
 import com.boman.domain.SysUser;
 import com.boman.domain.TemplateData;
 import com.boman.domain.dto.AjaxResult;
+import com.boman.domain.dto.WxMsgDto;
 import com.boman.system.api.RemoteUserService;
 import com.boman.wechat.config.WechatProperties;
-import com.boman.wechat.dto.WxMssVo;
 import com.boman.wechat.service.WxPushService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -52,13 +52,13 @@ public class WxPushServiceImpl implements WxPushService {
         if(users == null || users.size() <= 0) {
             return "推送失败,没有选择推送人员";
         }
-        List<WxMssVo> vos = new ArrayList<>();
+        List<WxMsgDto> vos = new ArrayList<>();
         for(SysUser user : users) {
             if(StringUtils.isEmpty(user.getOpenId())) {
                 continue;
             }
             //拼接推送的模版
-            WxMssVo wxMssVo = new WxMssVo();
+            WxMsgDto wxMssVo = new WxMsgDto();
             wxMssVo.setTouser(user.getOpenId());//用户openid
             wxMssVo.setTemplate_id(templateId);//模版id
             Map<String, TemplateData> msgMap = new HashMap<>(5);

+ 1 - 1
boman-wechat/src/main/resources/application.properties

@@ -4,4 +4,4 @@ auth.wechat.access_token_url=https://api.weixin.qq.com/cgi-bin/token?grant_type=
 auth.wechat.appId=wxf556d2b0c34da8cf
 auth.wechat.secret=8f90a52972268f82d5017a2ac29650c4
 auth.wechat.grantType=authorization_code
-auth.wechat.template_id=LzeDP0G5PLgHoOjCMfhu44wfUluhW11Zeezu3r_dC24
+auth.wechat.template_id=lLRrKgsb4UJ_zHJSeEnIH0QNWcyERFRB9igmd6nZgRc