chenyongxing 8 лет назад
Родитель
Сommit
5b00b5634d

+ 40 - 0
svr/svr-manage/src/main/java/com/yihu/jw/manage/controller/base/SaasController.java

@ -0,0 +1,40 @@
package com.yihu.jw.manage.controller.base;
import com.yihu.jw.manage.service.base.SaasService;
import com.yihu.jw.restmodel.common.Envelop;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
 * Created by Administrator on 2017/6/13 0013.
 */
@RestController
@RequestMapping("/base")
@Api(description = "saas相关")
public class SaasController {
    @Autowired
    private SaasService saasService;
    @GetMapping("/saases")
    @ApiOperation(value = "分页获取微信配置列表")
    public Envelop list(
            @ApiParam(name = "name", value = "name", required = false) @RequestParam(required = false, name = "name") String name,
            @ApiParam(name = "sorts", value = "排序", required = false) @RequestParam(required = false, name = "sorts") String sorts,
            @ApiParam(name = "start", value = "当前页", required = false) @RequestParam(required = false, name = "start", defaultValue = "1") Integer start,
            @ApiParam(name = "length", value = "每页显示条数", required = false) @RequestParam(required = false, name = "length", defaultValue = "10") Integer length
    ) {
        try {
            Envelop envelop = saasService.list(name, sorts,length, start);
            return envelop;
        } catch (Exception e) {
            return Envelop.getError("获取信息失败:" + e.getMessage(), -1);
        }
    }
}

+ 28 - 0
svr/svr-manage/src/main/java/com/yihu/jw/manage/service/base/SaasService.java

@ -0,0 +1,28 @@
package com.yihu.jw.manage.service.base;
import com.yihu.jw.restmodel.common.Envelop;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
/**
 * Created by Administrator on 2017/6/13 0013.
 */
@Service
public class SaasService {
    @Value("${spring.gateway}")
    private String url;
    @Autowired
    private RestTemplate template;
   public Envelop list(String name, String sorts ,Integer size, Integer page) {
       Envelop forObject = template.getForObject(url + "/saas/getSaass",
               Envelop.class);
       return forObject;
    }
}

+ 5 - 6
svr/svr-manage/src/main/java/com/yihu/jw/manage/service/wechat/WechatConfigService.java

@ -37,12 +37,11 @@ public class WechatConfigService {
       map.put("sorts",sorts);
       map.put("filters","");
       if(StringUtils.isNotBlank(name)){
           name = name.replaceAll(" ","");
           filters.put("name",name);
           map.put("filters",filters);
       }
       Envelop forObject = template.getForObject(url + "/wechatConfig/getWechats?size={size}&page={page}&sorts={sorts}&filters={filters}",
       Envelop forObject = template.getForObject(url + "/wechat/wechatConfig/list?size={size}&page={page}&sorts={sorts}&filters={filters}",
               Envelop.class,map);
       return forObject;
@ -53,14 +52,14 @@ public class WechatConfigService {
        //template.delete(url + "/wechatConfig/delete?codes={codes}", codes);
        MultiValueMap<String, String> map = new LinkedMultiValueMap<>();
        map.add("codes", codes);
        String urlRequest = url + "/wechatConfig/delete?codes="+codes;
        String urlRequest = url + "/wechat/wechatConfig/"+codes;
        RestTemplateUtil restTemplateUtil = new RestTemplateUtil(urlRequest,map);
        Envelop envelop = restTemplateUtil.exchange(urlRequest, HttpMethod.DELETE, Envelop.class);
        return envelop;
    }
    public Envelop findByCode(String code) {
        Envelop envelop = template.getForObject(url + "/wechatConfig/getByCode?code={code}", Envelop.class,code);
        Envelop envelop = template.getForObject(url + "/wechat/wechatConfig/"+code, Envelop.class);
        return envelop;
    }
@ -73,13 +72,13 @@ public class WechatConfigService {
        HttpEntity<String> formEntity = new HttpEntity<String>(jsonObj.toString(), headers);
        Envelop envelop =null;
        if(wechatConfig.getId()==null){//说明是保存
            ResponseEntity<Envelop> responseEntity = template.postForEntity(url + "/wechatConfig/create", formEntity, Envelop.class);
            ResponseEntity<Envelop> responseEntity = template.postForEntity(url + "/wechat/wechatConfig", formEntity, Envelop.class);
            envelop = responseEntity.getBody();
            return envelop;
        }
        MultiValueMap<String, String> map = new LinkedMultiValueMap<>();
        map.add("jsonData",jsonObj.toString());
        String urlRequest = url + "/wechatConfig/update";
        String urlRequest = url + "/wechat/wechatConfig";
        RestTemplateUtil restTemplateUtil = new RestTemplateUtil(urlRequest,map);
        envelop = restTemplateUtil.exchange(urlRequest, HttpMethod.PUT, Envelop.class);

+ 1 - 0
svr/svr-manage/src/main/resources/application.yml

@ -32,6 +32,7 @@ spring:
---
spring:
  profiles: dev
  gateway: http://localhost:8088/v1
  datasource:
    url: jdbc:mysql://172.19.103.77/jw2?useUnicode:true&characterEncoding=utf-8&autoReconnect=true

+ 12 - 7
web-gateway/src/main/java/com/yihu/jw/commnon/base/wx/WechatContants.java

@ -4,6 +4,9 @@ package com.yihu.jw.commnon.base.wx;
 * Created by Administrator on 2017/5/20 0020.
 */
public class WechatContants {
    public static final String api_common="wechat";
    //微信token模块常量
    public static class AccessToken{
        public static final String api_common="accessToken";
@ -23,6 +26,7 @@ public class WechatContants {
        public static final String api_createMenu="createMenu";
    }
    //微信模板消息
    public static class Template {
        public static final String api_common="template";
@ -34,16 +38,17 @@ public class WechatContants {
        public static final String api_getWxTemplatesNoPage="getWxTemplatesNoPage";
        public static final String api_sendTemplateMessage="sendTemplateMessage";
    }
    //微信配置表
    public static class Config {
        public static final String api_common="wechatConfig";
        public static final String api_create="create";
        public static final String api_update="update";
        public static final String api_delete="delete";
        public static final String api_getWechatNoPage="getWechatNoPage";
        public static final String api_getWechats="getWechats";
        public static final String api_getByCode="getByCode";
        public static final String api_create="wechatConfig";
        public static final String api_update="wechatConfig";
        public static final String api_delete="wechatConfig/{codes}";
        public static final String api_getWechatNoPage="wechatConfig/listNoPage";
        public static final String api_getWechats="wechatConfig/list";
        public static final String api_getByCode="wechatConfig/{code}";
    }
    //微信图文消息
    public static class GraphicMessage {
        public static final String api_common="graphicMessage";

+ 21 - 8
web-gateway/src/main/java/com/yihu/jw/controller/base/wx/WechatController.java

@ -5,6 +5,8 @@ import com.netflix.hystrix.contrib.javanica.annotation.HystrixProperty;
import com.yihu.jw.commnon.base.wx.WechatContants;
import com.yihu.jw.fegin.base.wx.WechatFegin;
import com.yihu.jw.restmodel.common.Envelop;
import com.yihu.jw.restmodel.exception.business.JiWeiException;
import com.yihu.jw.version.ApiVersion;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@ -19,24 +21,25 @@ import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping(WechatContants.Config.api_common)
@RequestMapping("{version}/"+WechatContants.api_common)
@Api(description = "微信配置")
public class WechatController{
public class WechatConfigController {
    private Logger logger= LoggerFactory.getLogger(WechatController.class);
    private Logger logger= LoggerFactory.getLogger(WechatConfigController.class);
    @Autowired
    private WechatFegin wechatFegin;
    @Autowired
    private Tracer tracer;
    @ApiVersion(1)
    @ApiOperation(value = "创建微信配置")
    @PostMapping(value = WechatContants.Config.api_create,consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @HystrixCommand(commandProperties = {
            @HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds", value = "-1"),//超时时间
            @HystrixProperty(name = "execution.timeout.enabled", value = "false") })
    public Envelop createWechat(
            @ApiParam(name = "json_data", value = "", defaultValue = "") @RequestBody String jsonData) {
            @ApiParam(name = "json_data", value = "", defaultValue = "") @RequestBody String jsonData) throws JiWeiException {
        tracer.getCurrentSpan().logEvent("开始调用微服务创建微信配置");
        System.out.println(jsonData);//{"id":null,"code":"","saasId":"1","name":"aaaawefr","token":"","encodingAesKey":"","encType":null,"status":0,"type":"1","appId":"","appSecret":"","baseUrl":"","createUser":"","createUserName":"","createTime":null,"updateUser":null,"updateUserName":null,"updateTime":null,"remark":""}
        Envelop wechat =wechatFegin.createWechat(jsonData);
@ -44,6 +47,7 @@ public class WechatController{
        return wechat;
    }
    @ApiVersion(1)
    @ApiOperation(value = "更新微信配置")
    @PutMapping(value = WechatContants.Config.api_update,consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @HystrixCommand(commandProperties = {
@ -51,7 +55,7 @@ public class WechatController{
            @HystrixProperty(name = "execution.timeout.enabled", value = "false") })
    public Envelop updateWechat(
            @ApiParam(name = "json_data", value = "", defaultValue = "")
            @RequestBody String jsonData) {
            @RequestBody String jsonData) throws JiWeiException {
        JSONObject json = new JSONObject(jsonData);
        String data = json.get("jsonData").toString();
        data = data.substring(2,data.length() - 2);
@ -60,6 +64,7 @@ public class WechatController{
        return wechat;
    }
    @ApiVersion(1)
    @DeleteMapping(value = WechatContants.Config.api_delete)
    @ApiOperation(value = "删除微信配置", notes = "删除微信配置")
    @HystrixCommand(commandProperties = {
@ -67,11 +72,12 @@ public class WechatController{
            @HystrixProperty(name = "execution.timeout.enabled", value = "false") })
    public Envelop deleteWechat(
            @ApiParam(name = "codes", value = "codes")
            @RequestParam(value = "codes", required = true) String codes) {
            @PathVariable(value = "codes", required = true) String codes) throws JiWeiException {
        Envelop wechat =wechatFegin.deleteWechat(codes);
        return wechat;
    }
    @ApiVersion(1)
    @GetMapping(value = WechatContants.Config.api_getByCode)
    @ApiOperation(value = "根据code查找微信配置", notes = "根据code查找微信配置")
    @HystrixCommand(commandProperties = {
@ -79,11 +85,12 @@ public class WechatController{
            @HystrixProperty(name = "execution.timeout.enabled", value = "false") })
    public Envelop findByCode(
            @ApiParam(name = "code", value = "code")
            @RequestParam(value = "code", required = true) String code
    ) {
            @PathVariable(value = "code", required = true) String code
    ) throws JiWeiException {
       return wechatFegin.findByCode(code);
    }
    @ApiVersion(1)
    @RequestMapping(value = WechatContants.Config.api_getWechats, method = RequestMethod.GET)
    @ApiOperation(value = "获取微信配置列表(分页)")
    @HystrixCommand(commandProperties = {
@ -112,6 +119,7 @@ public class WechatController{
        return envelop;
    }
    @ApiVersion(1)
    @GetMapping(value = WechatContants.Config.api_getWechatNoPage)
    @ApiOperation(value = "获取微信列表配置,不分页")
    @HystrixCommand(commandProperties = {
@ -126,4 +134,9 @@ public class WechatController{
            @RequestParam(value = "sorts", required = false) String sorts) throws Exception {
        return wechatFegin.getWechatNoPage(fields,filters,sorts);
    }
    @GetMapping(value = "b/{code}")
    public String a(){
        return "a";
    }
}

+ 7 - 6
web-gateway/src/main/java/com/yihu/jw/fegin/base/wx/WechatFegin.java

@ -3,6 +3,7 @@ package com.yihu.jw.fegin.base.wx;
import com.yihu.jw.fegin.fallbackfactory.base.wx.WechatFeginFallbackFactory;
import com.yihu.jw.restmodel.common.CommonContants;
import com.yihu.jw.restmodel.common.Envelop;
import com.yihu.jw.restmodel.exception.business.JiWeiException;
import com.yihu.jw.restmodel.wx.WxContants;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.http.MediaType;
@ -20,20 +21,20 @@ import org.springframework.web.bind.annotation.RequestParam;
public interface WechatFegin {
    @RequestMapping(value = WxContants.Wechat.api_create, method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    Envelop createWechat( @RequestBody String jsonData);
    Envelop createWechat( @RequestBody String jsonData) throws JiWeiException;
    @RequestMapping(value = WxContants.Wechat.api_update, method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    Envelop updateWechat(String jsonData);
    Envelop updateWechat(String jsonData) throws JiWeiException;
    @RequestMapping(value = WxContants.Wechat.api_delete,method = RequestMethod.DELETE)
    Envelop deleteWechat(@RequestParam(value = "codes") String codes);
    Envelop deleteWechat(@RequestParam(value = "codes") String codes) throws JiWeiException;
    @RequestMapping(value = WxContants.Wechat.api_getByCode,method = RequestMethod.GET)
    Envelop findByCode(@RequestParam(value = "code") String code);
    Envelop findByCode(@RequestParam(value = "code") String code) throws JiWeiException;
    @RequestMapping(value = WxContants.Wechat.api_getWechats ,method = RequestMethod.GET)
    Envelop getWechats(@RequestParam(value = "fields" ,required = false)String fields, @RequestParam(value = "filters",required = false) String filters, @RequestParam(value = "sorts" ,required = false)String sorts, @RequestParam(value = "size" ,required = false) int size,@RequestParam(value = "page" ,required = false)int page);
    Envelop getWechats(@RequestParam(value = "fields" ,required = false)String fields, @RequestParam(value = "filters",required = false) String filters, @RequestParam(value = "sorts" ,required = false)String sorts, @RequestParam(value = "size" ,required = false) int size,@RequestParam(value = "page" ,required = false)int page) throws JiWeiException;
    @RequestMapping(value = WxContants.Wechat.api_getWechatNoPage,method = RequestMethod.GET )
    Envelop getWechatNoPage(@RequestParam(value = "fields")String fields,@RequestParam(value = "filters") String filters,@RequestParam(value = "sorts") String sorts);
    Envelop getWechatNoPage(@RequestParam(value = "fields")String fields,@RequestParam(value = "filters") String filters,@RequestParam(value = "sorts") String sorts) throws JiWeiException;
}

Разница между файлами не показана из-за своего большого размера
+ 13 - 19
web-gateway/src/main/java/com/yihu/jw/fegin/fallbackfactory/base/wx/WechatFeginFallbackFactory.java