Prechádzať zdrojové kódy

Merge branch 'dev' of chenweida/jw2.0 into dev

chenweida 7 rokov pred
rodič
commit
0f54302c10
22 zmenil súbory, kde vykonal 82 pridanie a 594 odobranie
  1. 0 10
      common/common-entity/src/main/java/com/yihu/jw/base/version/BaseUserVersion.java
  2. 3 2
      common/common-request-mapping/src/main/java/com/yihu/jw/rm/base/BaseVersionRequestMapping.java
  3. 2 4
      svr/svr-base/src/main/java/com/yihu/jw/business/version/controller/UserVersionController.java
  4. 2 2
      svr/svr-base/src/main/java/com/yihu/jw/business/version/dao/UserVersionDao.java
  5. 2 2
      svr/svr-base/src/main/java/com/yihu/jw/business/version/service/UserVersionService.java
  6. 0 95
      svr/svr-manage/src/main/java/com/yihu/jw/manage/controller/version/ServerUrlVersionController.java
  7. 0 99
      svr/svr-manage/src/main/java/com/yihu/jw/manage/controller/version/ServerVersionController.java
  8. 0 49
      svr/svr-manage/src/main/java/com/yihu/jw/manage/controller/version/UserUrlVersionController.java
  9. 0 127
      svr/svr-manage/src/main/java/com/yihu/jw/manage/service/version/ServerUrlVersionService.java
  10. 0 119
      svr/svr-manage/src/main/java/com/yihu/jw/manage/service/version/ServerVersionService.java
  11. 0 64
      svr/svr-manage/src/main/java/com/yihu/jw/manage/service/version/UserUrlVersionService.java
  12. 1 1
      web-gateway/readMe.MD
  13. 1 5
      web-gateway/src/main/java/com/yihu/jw/commnon/base/base/BaseContants.java
  14. 7 0
      web-gateway/src/main/java/com/yihu/jw/commnon/base/base/VersionContants.java
  15. 4 4
      web-gateway/src/main/java/com/yihu/jw/controller/DemoController.java
  16. 1 1
      web-gateway/src/main/java/com/yihu/jw/controller/base/base/SaasController.java
  17. 17 0
      web-gateway/src/main/java/com/yihu/jw/controller/base/version/UserVersionController.java
  18. 3 3
      web-gateway/src/main/java/com/yihu/jw/feign/PatientFeign.java
  19. 18 0
      web-gateway/src/main/java/com/yihu/jw/feign/base/version/UserVersionFeign.java
  20. 3 3
      web-gateway/src/main/java/com/yihu/jw/feign/fallback/PatientFeignFallback.java
  21. 4 4
      web-gateway/src/main/java/com/yihu/jw/feign/fallbackfactory/PatientFeignFallbackFactory.java
  22. 14 0
      web-gateway/src/main/java/com/yihu/jw/feign/fallbackfactory/base/version/UserVersionFeignFallbackFactory.java

+ 0 - 10
common/common-entity/src/main/java/com/yihu/jw/base/version/BaseUserVersion.java

@ -22,7 +22,6 @@ public class BaseUserVersion  extends IdEntity implements java.io.Serializable {
	// Fields
	private String saasId;
	private String userId;
	private String version;
@ -33,15 +32,6 @@ public class BaseUserVersion  extends IdEntity implements java.io.Serializable {
	}
	@Column(name = "saas_id", length = 100)
	public String getSaasId() {
		return this.saasId;
	}
	public void setSaasId(String saasId) {
		this.saasId = saasId;
	}
	@Column(name = "user_id", length = 100)
	public String getUserId() {
		return userId;

+ 3 - 2
common/common-request-mapping/src/main/java/com/yihu/jw/rm/base/BaseVersionRequestMapping.java

@ -32,9 +32,10 @@ public class BaseVersionRequestMapping {
    public class UserVersion {
        public static final String api_create = "/userVersion";
        public static final String api_update = "/userVersion";
        public static final String api_delete = "/usersVersion/{ids}";
        public static final String api_getById = "/userVersion/{id}";
        public static final String api_getByUserId = "/userVersion/{saasId}/{userId}";
        public static final String api_getByUserId = "/userVersionByUserId/{userId}";
        public static final String api_getList="/userVersion/list";
        public static final String api_getListNoPage="/userVersion/listNoPage";
@ -42,6 +43,6 @@ public class BaseVersionRequestMapping {
        public static final String message_success_update="update UserVersion success";
        public static final String message_success_delete="userVersion delete success";
        public static final String message_success_find="userVersion find success";
                ;
        ;
    }
}

+ 2 - 4
svr/svr-base/src/main/java/com/yihu/jw/business/version/controller/UserVersionController.java

@ -62,13 +62,11 @@ public class UserVersionController extends EnvelopRestController {
    @GetMapping(value = BaseVersionRequestMapping.UserVersion.api_getByUserId, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "根据用户和saadId获取用户的灰度发布版本信息", notes = "根据用户获取用户的灰度发布版本信息")
    public Envelop getUserVersionBySaasIdAndUserId(
            @ApiParam(name = "saasId", value = "saasId")
            @PathParam(value = "saasId") String saasId,
    public Envelop getUserVersionByUserId(
            @ApiParam(name = "userId", value = "userId")
            @PathParam(value = "userId") String userId) {
        try {
            return Envelop.getSuccess(BaseVersionRequestMapping.UserVersion.message_success_find, userVersionService.getUserVersionBySaasIdAndUserId(saasId,userId));
            return Envelop.getSuccess(BaseVersionRequestMapping.UserVersion.message_success_find, userVersionService.getUserVersionByUserId(userId));
        } catch (ApiException e) {
            return Envelop.getError(e.getMessage(), e.getErrorCode());
        }

+ 2 - 2
svr/svr-base/src/main/java/com/yihu/jw/business/version/dao/UserVersionDao.java

@ -9,6 +9,6 @@ import org.springframework.data.repository.PagingAndSortingRepository;
 * Created by chenweida on 2017/11/13.
 */
public interface UserVersionDao extends PagingAndSortingRepository<BaseUserVersion, String>, JpaSpecificationExecutor<BaseUserVersion> {
    @Query("from BaseUserVersion where saasId=?1 and userId=?2")
    BaseUserVersion findBySaasIdAndUserId(String saasId, String userId);
    @Query("from BaseUserVersion where userId=?1")
    BaseUserVersion getUserVersionByUserId(String userId);
}

+ 2 - 2
svr/svr-base/src/main/java/com/yihu/jw/business/version/service/UserVersionService.java

@ -32,8 +32,8 @@ public class UserVersionService extends BaseJpaService<BaseUserVersion, UserVers
        }
    }
    public BaseUserVersion getUserVersionBySaasIdAndUserId(String saasId, String userId) {
      return  userVersionDao.findBySaasIdAndUserId(saasId,userId);
    public BaseUserVersion getUserVersionByUserId(String userId) {
      return  userVersionDao.getUserVersionByUserId(userId);
    }
    public BaseUserVersion getUserVersion(String id) {

+ 0 - 95
svr/svr-manage/src/main/java/com/yihu/jw/manage/controller/version/ServerUrlVersionController.java

@ -1,95 +0,0 @@
package com.yihu.jw.manage.controller.version;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.yihu.jw.manage.model.version.BaseServerUrlVersion;
import com.yihu.jw.manage.service.version.ServerUrlVersionService;
import com.yihu.jw.restmodel.common.Envelop;
import com.yihu.jw.rm.base.BaseVersionRequestMapping;
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.*;
import javax.validation.Valid;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * Created by chenweida on 2017/6/20.
 */
@RestController
@RequestMapping(BaseVersionRequestMapping.api_common)
@Api(description = "服务端版本管理")
public class ServerUrlVersionController {
    @Autowired
    private ServerUrlVersionService serverUrlVersionService;
    @GetMapping(BaseVersionRequestMapping.BaseServerUrlVersion.api_getList)
    @ApiOperation(value = "分页获取服务端版本列表")
    public Envelop list(
            @ApiParam(name = "name", value = "版本名称", required = false) @RequestParam(required = false, name = "name") String name,
            @ApiParam(name = "saasId", required = false) @RequestParam(required = false, name = "saasId") String saasId,
            @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 {
            Map<String, String> map = new HashMap<>();
            map.put("name",name);
            map.put("sorts",sorts);
            map.put("saasId",saasId);
            Envelop envelop = serverUrlVersionService.list(length, start,map);
            return envelop;
        } catch (Exception e) {
            return Envelop.getError("获取信息失败:" + e.getMessage(), -1);
        }
    }
    @GetMapping(BaseVersionRequestMapping.BaseServerUrlVersion.api_getListNoPage)
    @ApiOperation(value = "获取服务端版本列表(不分页)")
    public List<Map<String,Object>> getListNoPage(
            @ApiParam(name = "serverCode", value = "后台版本code", required = false) @RequestParam(required = false, name = "serverCode") String serverCode,
            @ApiParam(name = "saasId", required = false) @RequestParam(required = false, name = "saasId") String saasId,
            @ApiParam(name = "sorts", value = "排序", required = false) @RequestParam(required = false, name = "sorts") String sorts
    ) {
        Map<String, String> map = new HashMap<>();
        map.put("serverCode",serverCode);
        map.put("sorts",sorts);
        map.put("saasId",saasId);
        Envelop envelop = serverUrlVersionService.getListNoPage(map);
        List list = envelop.getDetailModelList();
        return list;
    }
    @DeleteMapping(value = "/serverUrl/{codes}")
    @ApiOperation(value = "通过codes删除,多个code用,分割", notes = "通过codes删除")
    public Envelop deleteByCodes(
            @ApiParam(name = "codes", value = "codes")
            @PathVariable String codes,
            @ApiParam(name = "userCode", value = "userCode")
            @RequestParam String userCode
    ) {
        Envelop envelop = serverUrlVersionService.deleteByCode(codes,userCode);
        return envelop;
    }
    @GetMapping(value = "/serverUrl/{code}")
    @ApiOperation(value = "根据code查找服务端版本", notes = "根据code查找服务端版本")
    public Envelop findByCode(
            @ApiParam(name = "code", value = "code")
            @PathVariable String code
    ) {
        Envelop envelop = serverUrlVersionService.findByCode(code);
        return envelop;
    }
    @PostMapping(BaseVersionRequestMapping.BaseServerUrlVersion.api_create)
    @ApiOperation(value = "保存/更新服务端版本", notes = "保存/更新服务端版本")
    public Envelop saveOrUpdate(@ModelAttribute @Valid BaseServerUrlVersion version,String userCode) throws JsonProcessingException {
        return serverUrlVersionService.saveOrUpdate(version,userCode);
    }
}

+ 0 - 99
svr/svr-manage/src/main/java/com/yihu/jw/manage/controller/version/ServerVersionController.java

@ -1,99 +0,0 @@
package com.yihu.jw.manage.controller.version;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.yihu.jw.manage.model.version.BaseServerVersion;
import com.yihu.jw.manage.service.version.ServerVersionService;
import com.yihu.jw.restmodel.common.Envelop;
import com.yihu.jw.rm.base.BaseVersionRequestMapping;
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.*;
import javax.validation.Valid;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * Created by chenweida on 2017/6/20.
 */
@RestController
@RequestMapping(BaseVersionRequestMapping.api_common)
@Api(description = "服务端版本管理")
public class ServerVersionController {
    @Autowired
    private ServerVersionService serverVersionService;
    @GetMapping(BaseVersionRequestMapping.BaseServerVersion.api_getList)
    @ApiOperation(value = "分页获取服务端版本列表")
    public Map<String,Object> list(
            @ApiParam(name = "name", value = "版本名称", required = false) @RequestParam(required = false, name = "name") String name,
            @ApiParam(name = "saasId", required = false) @RequestParam(required = false, name = "saasId") String saasId,
            @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
    ) {
        Map<String, Object> req = new HashMap<String, Object>();
        try {
            Map<String, String> map = new HashMap<>();
            map.put("name",name);
            map.put("sorts",sorts);
            map.put("saasId",saasId);
            Envelop envelop = serverVersionService.list(length, start,map);
            List list = envelop.getDetailModelList();
            //数据返回
            req.put("rows",list);
            req.put("total",envelop.getTotalCount());
            return req;
        } catch (Exception e) {
            req.put("获取信息失败:" + e.getMessage(), -1);
            return req;
        }
    }
    @DeleteMapping(value = "/serverVersion/{codes}")
    @ApiOperation(value = "通过codes删除,多个code用,分割", notes = "通过codes删除")
    public Envelop deleteByCodes(
            @ApiParam(name = "codes", value = "codes")
            @PathVariable String codes,
            @ApiParam(name = "userCode", value = "userCode")
            @RequestParam String userCode
    ) {
        Envelop envelop = serverVersionService.deleteByCode(codes,userCode);
        return envelop;
    }
    @GetMapping(value = "/serverVersion/{code}")
    @ApiOperation(value = "根据code查找服务端版本", notes = "根据code查找服务端版本")
    public Envelop findByCode(
            @ApiParam(name = "code", value = "code")
            @PathVariable String code
    ) {
        Envelop envelop = serverVersionService.findByCode(code);
        return envelop;
    }
    @PostMapping(BaseVersionRequestMapping.BaseServerVersion.api_create)
    @ApiOperation(value = "保存/更新服务端版本", notes = "保存/更新服务端版本")
    public Envelop saveOrUpdate(@ModelAttribute @Valid BaseServerVersion baseServerVersion,String userCode) throws JsonProcessingException {
        return serverVersionService.saveOrUpdate(baseServerVersion,userCode);
    }
    @GetMapping(BaseVersionRequestMapping.BaseServerVersion.api_getListNoPage)
    @ApiOperation(value = "获取服务端版本列表")
    public List getListNoPage(@ApiParam(name = "saasId", value = "saasId", required = false) @RequestParam(required = false, name = "saasId") String saasId) {
        Map<String, Object> req = new HashMap<String, Object>();
        Map<String, String> map = new HashMap<>();
        map.put("saasId",saasId);
        Envelop envelop = serverVersionService.getListNoPage(map);
        List<Map<String,Object>> list = envelop.getDetailModelList();
        return list;
    }
}

+ 0 - 49
svr/svr-manage/src/main/java/com/yihu/jw/manage/controller/version/UserUrlVersionController.java

@ -1,49 +0,0 @@
package com.yihu.jw.manage.controller.version;
import com.yihu.jw.manage.service.version.UserUrlVersionService;
import com.yihu.jw.restmodel.common.Envelop;
import com.yihu.jw.rm.base.BaseVersionRequestMapping;
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;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * Created by chenweida on 2017/6/20.
 */
@RestController
@RequestMapping(BaseVersionRequestMapping.api_common)
@Api(description = "app版本管理")
public class UserUrlVersionController {
    @Autowired
    private UserUrlVersionService userUrlVersionService;
    @GetMapping(BaseVersionRequestMapping.UserVersion.api_getListNoPage)
    @ApiOperation(value = "获取后台用户版本列表")
    public List getListNoPage(@ApiParam(name = "saasId", value = "saasId", required = false) @RequestParam(required = false, name = "saasId") String saasId,
                              @ApiParam(name = "bsvCode", value = "bsvCode", required = false) @RequestParam(required = false, name = "bsvCode") String bsvCode) {
        Map<String, Object> req = new HashMap<String, Object>();
        Map<String, String> map = new HashMap<>();
        map.put("saasId",saasId);
        map.put("bsvCode",bsvCode);
        Envelop envelop = userUrlVersionService.getListNoPage(map);
        List<Map<String,Object>> list = envelop.getDetailModelList();
        if(list==null){
            return  new ArrayList<>();
        }
        return list;
    }
}

+ 0 - 127
svr/svr-manage/src/main/java/com/yihu/jw/manage/service/version/ServerUrlVersionService.java

@ -1,127 +0,0 @@
package com.yihu.jw.manage.service.version;
import com.yihu.jw.manage.model.system.ManageUser;
import com.yihu.jw.manage.model.version.BaseServerUrlVersion;
import com.yihu.jw.manage.service.system.UserService;
import com.yihu.jw.manage.util.RestTemplateUtil;
import com.yihu.jw.restmodel.common.Envelop;
import com.yihu.jw.rm.base.BaseVersionRequestMapping;
import net.sf.json.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.*;
import org.springframework.stereotype.Service;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
/**
 * Created by chenweida on 2017/6/20.
 */
@Service
public class ServerUrlVersionService {
    @Value("${spring.gateway}"+ BaseVersionRequestMapping.api_common)
    private String url;
    @Autowired
    private RestTemplate template;
    @Autowired
    private UserService userService;
    public Envelop list(Integer size, Integer page,Map<String,String> map) {
        Map<String, Object> req = new HashMap<>();
        Map<String, Object> filters = new HashMap<>();
        req.put("size", size);
        req.put("page", page);
        req.put("sorts", map.get("sorts"));
        String name = map.get("name");
        String saasId = map.get("saasId");
        if (StringUtils.isNotBlank(name)) {
            filters.put("name", name);
        }
        if (StringUtils.isNotBlank(saasId)) {
            filters.put("saasId", saasId);
        }
        req.put("filters", filters);
        Envelop forObject = template.getForObject(url + BaseVersionRequestMapping.BaseServerUrlVersion.api_getList+"?size={size}&page={page}&sorts={sorts}&filters={filters}",
                Envelop.class, req);
        return forObject;
    }
    public Envelop getListNoPage(Map<String, String> map) {
        Map<String, Object> req = new HashMap<>();
        Map<String, Object> filters = new HashMap<>();
        req.put("sorts", map.get("sorts"));
        String serverCode = map.get("serverCode");
        String saasId = map.get("saasId");
        if (StringUtils.isNotBlank(serverCode)) {
            filters.put("serverCode", serverCode);
        }
        if (StringUtils.isNotBlank(saasId)) {
            filters.put("saasId", saasId);
        }
        req.put("filters", filters);
        Envelop forObject = template.getForObject(url + BaseVersionRequestMapping.BaseServerUrlVersion.api_getListNoPage+"?sorts={sorts}&filters={filters}",
                Envelop.class, req);
        return forObject;
    }
    public Envelop saveOrUpdate(BaseServerUrlVersion baseServerUrlVersion,String userCode) {
        ManageUser user = userService.findByCode(userCode);
        String userName = user.getName();
        //设置值
        if(baseServerUrlVersion.getId()==null){
            baseServerUrlVersion.setCreateUser(userCode);
            baseServerUrlVersion.setStatus(1);
            baseServerUrlVersion.setCreateUserName(userName);
            baseServerUrlVersion.setCode(UUID.randomUUID().toString().replaceAll("-",""));
        }
        baseServerUrlVersion.setUpdateUserName(userName);
        baseServerUrlVersion.setUpdateUser(userCode);
        HttpHeaders headers = new HttpHeaders();
        MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8");
        headers.setContentType(type);
        headers.add("Accept", MediaType.APPLICATION_JSON.toString());
        JSONObject jsonObj = JSONObject.fromObject(baseServerUrlVersion);
        HttpEntity<String> formEntity = new HttpEntity<String>(jsonObj.toString(), headers);
        Envelop envelop =null;
        if(baseServerUrlVersion.getId()==null){//说明是保存
            ResponseEntity<Envelop> responseEntity = template.postForEntity(url + BaseVersionRequestMapping.BaseServerUrlVersion.api_create, formEntity, Envelop.class);
            envelop = responseEntity.getBody();
            return envelop;
        }
        ResponseEntity<Envelop> resp = template.exchange(url + BaseVersionRequestMapping.BaseServerUrlVersion.api_update, HttpMethod.PUT,formEntity,Envelop.class);
        envelop = resp.getBody();
        return envelop;
    }
    public Envelop deleteByCode(String codes,String userCode) {
        ManageUser user = userService.findByCode(userCode);
        String userName = user.getName();
        Map<String, String> map = new HashMap<>();
        map.put("userCode", userCode);
        map.put("userName", userName);
        String urlRequest = url +"/serverUrl/"+codes+"?userCode={userCode}&userName={userName}";
        MultiValueMap<String, String> multiValueMap = new LinkedMultiValueMap<>();
        RestTemplateUtil restTemplateUtil = new RestTemplateUtil(urlRequest,multiValueMap);
        Envelop envelop = restTemplateUtil.exchange(urlRequest, HttpMethod.DELETE, Envelop.class,map);
        return envelop;
    }
    public Envelop findByCode(String code) {
        Envelop envelop = template.getForObject(url +"/serverUrl/"+code, Envelop.class);
        return envelop;
    }
}

+ 0 - 119
svr/svr-manage/src/main/java/com/yihu/jw/manage/service/version/ServerVersionService.java

@ -1,119 +0,0 @@
package com.yihu.jw.manage.service.version;
import com.yihu.jw.manage.model.system.ManageUser;
import com.yihu.jw.manage.model.version.BaseServerVersion;
import com.yihu.jw.manage.service.system.UserService;
import com.yihu.jw.manage.util.RestTemplateUtil;
import com.yihu.jw.restmodel.common.Envelop;
import com.yihu.jw.rm.base.BaseVersionRequestMapping;
import net.sf.json.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.*;
import org.springframework.stereotype.Service;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
/**
 * Created by chenweida on 2017/6/20.
 */
@Service
public class ServerVersionService {
    @Value("${spring.gateway}"+ BaseVersionRequestMapping.api_common)
    private String url;
    @Autowired
    private RestTemplate template;
    @Autowired
    private UserService userService;
    public Envelop list(Integer size, Integer page,Map<String,String> map) {
        Map<String, Object> req = new HashMap<>();
        Map<String, Object> filters = new HashMap<>();
        req.put("size", size);
        req.put("page", page);
        req.put("sorts", map.get("sorts"));
        req.put("filters", "");
        String name = map.get("name");
        String saasId = map.get("saasId");
        if (StringUtils.isNotBlank(name)) {
            filters.put("name", name);
        }
        if (StringUtils.isNotBlank(saasId)) {
            filters.put("saasId", saasId);
        }
        req.put("filters", filters);
        Envelop forObject = template.getForObject(url + BaseVersionRequestMapping.BaseServerVersion.api_getList+"?size={size}&page={page}&sorts={sorts}&filters={filters}",
                Envelop.class, req);
        return forObject;
    }
    public Envelop saveOrUpdate(BaseServerVersion baseServerVersion,String userCode) {
        ManageUser user = userService.findByCode(userCode);
        String userName = user.getName();
        //设置值
        if(baseServerVersion.getId()==null){
            baseServerVersion.setCreateUser(userCode);
            baseServerVersion.setStatus(1);
            baseServerVersion.setCreateUserName(userName);
            baseServerVersion.setCode(UUID.randomUUID().toString().replaceAll("-",""));
        }
        baseServerVersion.setUpdateUserName(userName);
        baseServerVersion.setUpdateUser(userCode);
        HttpHeaders headers = new HttpHeaders();
        MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8");
        headers.setContentType(type);
        headers.add("Accept", MediaType.APPLICATION_JSON.toString());
        JSONObject jsonObj = JSONObject.fromObject(baseServerVersion);
        HttpEntity<String> formEntity = new HttpEntity<String>(jsonObj.toString(), headers);
        Envelop envelop =null;
        if(baseServerVersion.getId()==null){//说明是保存
            ResponseEntity<Envelop> responseEntity = template.postForEntity(url + BaseVersionRequestMapping.BaseServerVersion.api_create, formEntity, Envelop.class);
            envelop = responseEntity.getBody();
            return envelop;
        }
        ResponseEntity<Envelop> resp = template.exchange(url + BaseVersionRequestMapping.BaseServerVersion.api_update, HttpMethod.PUT,formEntity,Envelop.class);
        envelop = resp.getBody();
        return envelop;
    }
    public Envelop deleteByCode(String codes,String userCode) {
        ManageUser user = userService.findByCode(userCode);
        String userName = user.getName();
        Map<String, String> map = new HashMap<>();
        map.put("userCode", userCode);
        map.put("userName", userName);
        String urlRequest = url +"/serverVersion/"+codes+"?userCode={userCode}&userName={userName}";
        MultiValueMap<String, String> multiValueMap = new LinkedMultiValueMap<>();
        RestTemplateUtil restTemplateUtil = new RestTemplateUtil(urlRequest,multiValueMap);
        Envelop envelop = restTemplateUtil.exchange(urlRequest, HttpMethod.DELETE, Envelop.class,map);
        return envelop;
    }
    public Envelop findByCode(String code) {
        Envelop envelop = template.getForObject(url +"/serverVersion/"+code, Envelop.class);
        return envelop;
    }
    public Envelop getListNoPage(Map<String, String> map) {
        Map<String, Object> req = new HashMap<>();
        Map<String, Object> filters = new HashMap<>();
        String saasId = map.get("saasId");
        if (StringUtils.isNotBlank(saasId)) {
            filters.put("saasId", saasId);
        }
        req.put("filters", filters);
        return template.getForObject(url+ BaseVersionRequestMapping.BaseServerVersion.api_getListNoPage+"?filters={filters}",Envelop.class,req);
    }
}

+ 0 - 64
svr/svr-manage/src/main/java/com/yihu/jw/manage/service/version/UserUrlVersionService.java

@ -1,64 +0,0 @@
package com.yihu.jw.manage.service.version;
import com.yihu.jw.manage.model.system.ManageUser;
import com.yihu.jw.manage.service.system.UserService;
import com.yihu.jw.restmodel.common.Envelop;
import com.yihu.jw.rm.base.BaseVersionRequestMapping;
import org.apache.commons.lang3.StringUtils;
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;
import java.util.HashMap;
import java.util.Map;
/**
 * Created by Administrator on 2017/7/11 0011.
 */
@Service
public class UserUrlVersionService {
    @Value("${spring.gateway}"+ BaseVersionRequestMapping.api_common)
    private String url;
    @Autowired
    private RestTemplate template;
    @Autowired
    private UserService userService;
    /**
     * 更改userCode的后台版本
     * @param serverCode
     * @param userCodes
     * @param userCode
     * @param saasId
     * @return
     */
    public Envelop changeUserVersion(String serverCode, String userCodes,String userCode,String saasId) {
        ManageUser user = userService.findByCode(userCode);
        String userName = user.getName();
        Map<String, Object> req = new HashMap<>();
        req.put("serverCode",serverCode);
        req.put("userCodes",userCodes);
        req.put("userCode",userCode);
        req.put("userName",userName);
        req.put("saasId",saasId);
        return template.getForObject(url+ BaseVersionRequestMapping.UserUrlVersion.api_changeUserVersion+"?serverCode={serverCode}&userCodes={userCodes}&userCode={userCode}&userName={userName}&saasId={saasId}",Envelop.class,req);
    }
    public Envelop getListNoPage(Map<String, String> map) {
        Map<String, Object> req = new HashMap<>();
        Map<String, Object> filters = new HashMap<>();
        String saasId = map.get("saasId");
        if (StringUtils.isNotBlank(saasId)) {
            filters.put("saasId", saasId);
        }
        String bsvCode = map.get("bsvCode");
        if (StringUtils.isNotBlank(bsvCode)) {
            filters.put("bsvCode", bsvCode);
        }
        req.put("filters", filters);
        return template.getForObject(url+ BaseVersionRequestMapping.UserUrlVersion.api_getListNoPage+"?filters={filters}",Envelop.class,req);
    }
}

+ 1 - 1
web-gateway/readMe.MD

@ -23,5 +23,5 @@
    
    cookie
    {
        "prod":true, ##true正式 false测试
        "prod":0, #  0跳转到灰度服务器  1跳转到正式的服务器
    }

+ 1 - 5
web-gateway/src/main/java/com/yihu/jw/commnon/base/base/BaseContants.java

@ -16,9 +16,7 @@ public class BaseContants {
        public static final String api_getById="/function/{id}";
        public static final String api_getListNoPage="/function/listNoPage";
        public static final String api_getList="/function/list";
        public static final String api_assignFunction="/assignFunction";
        public static final String api_getModuleFunctions="/api_getModuleFunctions";
        public static final String api_getChildren="/function/children/{code}";
        public static final String api_getChildren="/function/children/{id}";
    }
    //模块常量
@ -44,8 +42,6 @@ public class BaseContants {
        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_getByCode="/getByCode";
        public static final String api_getSaass="/getSaass";
        public static final String api_getSaassNoPage="/getSaassNoPage";
    }

+ 7 - 0
web-gateway/src/main/java/com/yihu/jw/commnon/base/base/VersionContants.java

@ -0,0 +1,7 @@
package com.yihu.jw.commnon.base.base;
/**
 * Created by chenweida on 2017/11/13.
 */
public class VersionContants {
}

+ 4 - 4
web-gateway/src/main/java/com/yihu/jw/controller/DemoController.java

@ -4,7 +4,7 @@ import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand;
import com.netflix.hystrix.contrib.javanica.annotation.HystrixProperty;
import com.yihu.jw.exception.SystemException;
import com.yihu.jw.exception.business.ManageException;
import com.yihu.jw.feign.PatientFeign;
import com.yihu.jw.feign.DemoFeign;
import com.yihu.jw.restmodel.common.Envelop;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -22,13 +22,13 @@ import javax.servlet.http.HttpServletRequest;
 * Created by chenweida on 2017/5/10.
 */
@RestController
@RequestMapping("/patient")
@Api(description = "患者")
@RequestMapping("/demo")
@Api(description = "demo例子")
@RefreshScope
public class DemoController {
    private Logger logger = LoggerFactory.getLogger(DemoController.class);
    @Autowired
    private PatientFeign patientFegin;
    private DemoFeign patientFegin;
    @Autowired
    private Tracer tracer;
//    @Value("${test.aaa}")

+ 1 - 1
web-gateway/src/main/java/com/yihu/jw/controller/base/base/SaasController.java

@ -19,7 +19,7 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping( BaseContants.Saas.api_common)
@RequestMapping(BaseContants.api_common)
@Api(description = "saas相关")
public class SaasController {

+ 17 - 0
web-gateway/src/main/java/com/yihu/jw/controller/base/version/UserVersionController.java

@ -0,0 +1,17 @@
package com.yihu.jw.controller.base.version;
import com.yihu.jw.commnon.base.base.BaseContants;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * Created by chenweida on 2017/11/13.
 */
@RestController
@RequestMapping(BaseContants.api_common)
@Api(description = "灰度发布相关")
public class UserVersionController {
}

+ 3 - 3
web-gateway/src/main/java/com/yihu/jw/feign/PatientFeign.java

@ -1,7 +1,7 @@
package com.yihu.jw.feign;
import com.yihu.jw.commnon.Contants;
import com.yihu.jw.feign.fallbackfactory.PatientFeignFallbackFactory;
import com.yihu.jw.feign.fallbackfactory.DemoFeignFallbackFactory;
import com.yihu.jw.restmodel.CommonContants;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
@ -14,10 +14,10 @@ import org.springframework.web.bind.annotation.RequestParam;
@FeignClient(
        name = CommonContants.svr_base // name值是eurika的实例名字
        // ,fallback = PatientFeginFallback.class// fallback是请求超时或者错误的回调函数
        ,fallbackFactory  = PatientFeignFallbackFactory.class
        ,fallbackFactory  = DemoFeignFallbackFactory.class
//        ,configuration =   //可以配置当个fegin的配置 例如禁用单个feign的hystrix
)
public interface PatientFeign {
public interface DemoFeign {
    @RequestMapping(value = Contants.patient.findByCode, method = RequestMethod.GET)
    String findByCode(@RequestParam(value = "code", required = true) String code);

+ 18 - 0
web-gateway/src/main/java/com/yihu/jw/feign/base/version/UserVersionFeign.java

@ -0,0 +1,18 @@
package com.yihu.jw.feign.base.version;
import com.yihu.jw.feign.fallbackfactory.base.base.SaasFeignFallbackFactory;
import com.yihu.jw.restmodel.CommonContants;
import com.yihu.jw.rm.base.BaseRequestMapping;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
/**
 * Created by chenweida on 2017/11/13.
 */
@FeignClient(
        name = CommonContants.svr_base // name值是eurika的实例名字
        ,fallbackFactory  = SaasFeignFallbackFactory.class
)
@RequestMapping(value = BaseRequestMapping.api_common)
public interface UserVersionFeign {
}

+ 3 - 3
web-gateway/src/main/java/com/yihu/jw/feign/fallback/PatientFeignFallback.java

@ -1,6 +1,6 @@
package com.yihu.jw.feign.fallback;
import com.yihu.jw.feign.PatientFeign;
import com.yihu.jw.feign.DemoFeign;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@ -10,9 +10,9 @@ import org.springframework.web.bind.annotation.RequestParam;
 * Created by chenweida on 2017/5/13.
 */
@Component
public class PatientFeignFallback implements PatientFeign {
public class DemoFeignFallback implements DemoFeign {
    private Logger logger = LoggerFactory.getLogger(PatientFeignFallback.class);
    private Logger logger = LoggerFactory.getLogger(DemoFeignFallback.class);
    @Override
    public String findByCode( @RequestParam(value = "code", required = true) String code) {

+ 4 - 4
web-gateway/src/main/java/com/yihu/jw/feign/fallbackfactory/PatientFeignFallbackFactory.java

@ -1,6 +1,6 @@
package com.yihu.jw.feign.fallbackfactory;
import com.yihu.jw.feign.PatientFeign;
import com.yihu.jw.feign.DemoFeign;
import feign.hystrix.FallbackFactory;
import org.springframework.stereotype.Component;
@ -8,10 +8,10 @@ import org.springframework.stereotype.Component;
 * Created by chenweida on 2017/5/15.
 */
@Component
public class PatientFeignFallbackFactory implements FallbackFactory<PatientFeign> {
public class DemoFeignFallbackFactory implements FallbackFactory<DemoFeign> {
    @Override
    public PatientFeign create(Throwable e) {
        return new PatientFeign() {
    public DemoFeign create(Throwable e) {
        return new DemoFeign() {
            public String findByCode(String code) {
                return "启动断路器"+e.getMessage() ;
            }

+ 14 - 0
web-gateway/src/main/java/com/yihu/jw/feign/fallbackfactory/base/version/UserVersionFeignFallbackFactory.java

@ -0,0 +1,14 @@
package com.yihu.jw.feign.fallbackfactory.base.version;
import com.yihu.jw.feign.base.version.UserVersionFeign;
import feign.hystrix.FallbackFactory;
/**
 * Created by chenweida on 2017/11/13.
 */
public class UserVersionFeignFallbackFactory implements FallbackFactory<UserVersionFeign> {
    @Override
    public UserVersionFeign create(Throwable cause) {
        return null;
    }
}