浏览代码

Merge branch 'dev' of http://192.168.1.220:10080/Amoy2/wlyy2.0 into dev

zdm 6 年之前
父节点
当前提交
22fa351e65
共有 51 个文件被更改,包括 1622 次插入308 次删除
  1. 15 43
      common/common-entity/src/main/java/com/yihu/jw/entity/base/doctor/BaseDoctorHospitalDO.java
  2. 54 10
      common/common-entity/src/main/java/com/yihu/jw/entity/base/doctor/BaseDoctorRoleDO.java
  3. 50 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/module/InterfaceDO.java
  4. 47 6
      common/common-entity/src/main/java/com/yihu/jw/entity/base/module/InterfaceParamDO.java
  5. 50 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/module/SaasInterfaceDO.java
  6. 16 6
      common/common-entity/src/main/java/com/yihu/jw/entity/base/module/SaasInterfaceParamDO.java
  7. 3 2
      common/common-entity/src/main/java/com/yihu/jw/entity/base/org/BaseOrgDO.java
  8. 5 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/org/BaseOrgSaasDO.java
  9. 88 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/role/BaseRoleMenuDO.java
  10. 75 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/role/BaseRoleModuleDO.java
  11. 11 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/user/UserDO.java
  12. 14 0
      common/common-request-mapping/src/main/java/com/yihu/jw/rm/base/BaseRequestMapping.java
  13. 10 10
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/doctor/BaseDoctorHospitalVO.java
  14. 33 7
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/doctor/BaseDoctorRoleVO.java
  15. 16 6
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/module/InterfaceParamVO.java
  16. 50 0
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/module/InterfaceVO.java
  17. 16 6
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/module/SaasInterfaceParamVO.java
  18. 51 1
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/module/SaasInterfaceVO.java
  19. 91 0
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/role/BaseRoleMenuVO.java
  20. 78 0
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/role/BaseRoleModuleVO.java
  21. 49 1
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/wx/StatisticsTitleVO.java
  22. 32 3
      sql/init.sql
  23. 12 13
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/doctor/BaseDoctorDao.java
  24. 3 3
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/doctor/BaseDoctorHospitalDao.java
  25. 4 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/doctor/BaseDoctorRoleDao.java
  26. 21 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/role/BaseRoleMenuDao.java
  27. 21 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/role/BaseRoleModuleDao.java
  28. 30 17
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/doctor/BaseDoctorEndpoint.java
  29. 2 2
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/doctor/BaseDoctorRoleEndpoint.java
  30. 2 3
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/module/InterfaceEndpoint.java
  31. 2 3
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/module/SaasInterfaceEndpoint.java
  32. 104 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/role/BaseRoleMenuEndpoint.java
  33. 104 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/role/BaseRoleModuleEndpoint.java
  34. 6 6
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/user/UserEndpoint.java
  35. 16 6
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/wx/WechatController.java
  36. 2 2
      svr/svr-base/src/main/java/com/yihu/jw/base/service/doctor/BaseDoctorHospitalService.java
  37. 15 2
      svr/svr-base/src/main/java/com/yihu/jw/base/service/doctor/BaseDoctorRoleService.java
  38. 175 82
      svr/svr-base/src/main/java/com/yihu/jw/base/service/doctor/BaseDoctorService.java
  39. 50 2
      svr/svr-base/src/main/java/com/yihu/jw/base/service/module/InterfaceService.java
  40. 42 2
      svr/svr-base/src/main/java/com/yihu/jw/base/service/module/SaasInterfaceService.java
  41. 16 2
      svr/svr-base/src/main/java/com/yihu/jw/base/service/org/BaseOrgService.java
  42. 16 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/org/OrgTree.java
  43. 1 1
      svr/svr-base/src/main/java/com/yihu/jw/base/service/org/tree/SimpleTree.java
  44. 13 2
      svr/svr-base/src/main/java/com/yihu/jw/base/service/org/tree/SimpleTreeNode.java
  45. 1 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/org/tree/TreeNode.java
  46. 22 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/role/BaseRoleMenuService.java
  47. 22 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/role/BaseRoleModuleService.java
  48. 13 39
      svr/svr-base/src/main/java/com/yihu/jw/base/service/saas/SaasService.java
  49. 1 1
      svr/svr-base/src/main/java/com/yihu/jw/base/service/user/UserService.java
  50. 50 17
      svr/svr-base/src/main/java/com/yihu/jw/base/service/wx/WechatService.java
  51. 2 2
      svr/svr-base/src/main/java/com/yihu/jw/base/util/JavaBeanUtils.java

+ 15 - 43
common/common-entity/src/main/java/com/yihu/jw/entity/base/doctor/BaseDoctorHospitalDO.java

@ -1,11 +1,9 @@
package com.yihu.jw.entity.base.doctor;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Date;
/**
@ -21,28 +19,18 @@ public class BaseDoctorHospitalDO extends IntegerIdentityEntity {
    /**
	 * 医院标识
	 */
	private String hospCode;
	private String orgCode;
    /**
	 * 医院名称
	 */
	private String hospName;
	private String orgName;
    /**
     * 医生标识
     */
	private String doctorCode;
    /**
	 * 职称代码
	 */
	private String jobTitleCode;
    /**
	 * 职称名称
	 */
	private String jobTitleName;
    /**
     * 医生所在机构部门标识
     */
@ -65,27 +53,27 @@ public class BaseDoctorHospitalDO extends IntegerIdentityEntity {
	public BaseDoctorHospitalDO(){}
	public BaseDoctorHospitalDO(String hospCode,String hospName,String doctorDutyCode,String doctorDutyName){
	    this.hospCode = hospCode;
	    this.hospName = hospName;
	public BaseDoctorHospitalDO(String orgCode, String orgName, String doctorDutyCode, String doctorDutyName){
	    this.orgCode = orgCode;
	    this.orgName = orgName;
	    this.doctorDutyCode = doctorDutyCode;
	    this.doctorDutyName = doctorDutyName;
    }
	@Column(name = "hosp_code")
    public String getHospCode() {
        return hospCode;
	@Column(name = "org_code")
    public String getOrgCode() {
        return orgCode;
    }
    public void setHospCode(String hospCode) {
        this.hospCode = hospCode;
    public void setOrgCode(String orgCode) {
        this.orgCode = orgCode;
    }
	@Column(name = "hosp_name")
    public String getHospName() {
        return hospName;
	@Column(name = "org_name")
    public String getOrgName() {
        return orgName;
    }
    public void setHospName(String hospName) {
        this.hospName = hospName;
    public void setOrgName(String orgName) {
        this.orgName = orgName;
    }
    @Column(name = "doctor_code")
@ -97,22 +85,6 @@ public class BaseDoctorHospitalDO extends IntegerIdentityEntity {
        this.doctorCode = doctorCode;
    }
	@Column(name = "job_title_code")
    public String getJobTitleCode() {
        return jobTitleCode;
    }
    public void setJobTitleCode(String jobTitleCode) {
        this.jobTitleCode = jobTitleCode;
    }
	@Column(name = "job_title_name")
    public String getJobTitleName() {
        return jobTitleName;
    }
    public void setJobTitleName(String jobTitleName) {
        this.jobTitleName = jobTitleName;
    }
	@Column(name = "del")
    public String getDel() {
        return del;

+ 54 - 10
common/common-entity/src/main/java/com/yihu/jw/entity/base/doctor/BaseDoctorRoleDO.java

@ -1,6 +1,7 @@
package com.yihu.jw.entity.base.doctor;
import com.yihu.jw.entity.IntegerIdentityEntity;
import com.yihu.jw.entity.IntegerIdentityEntityWithOperator;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
@ -14,24 +15,48 @@ import javax.persistence.Table;
 */
@Entity
@Table(name = "base_doctor_role")
public class BaseDoctorRoleDO extends IntegerIdentityEntity {
public class BaseDoctorRoleDO extends IntegerIdentityEntityWithOperator {
    /**
	 * saasid
	 */
	private String saasid;
	/**
	 * 医生code
	 */
	private String doctorCode;
    /**
	 * 医生角色code
	 * 角色名称
	 */
	private String roleCode;
	private String name;
    /**
	 * 医生业务模块角色code
	 */
	private String roleModuleCode;
	/**
	 * 角色说明
	 */
	private String description;
    /**
	 * 作废标识,1正常,0作废
	 */
	private String del;
	@Column(name = "doctor_code")
    @Column(name = "saasid")
    public String getSaasid() {
        return saasid;
    }
    public void setSaasid(String saasid) {
        this.saasid = saasid;
    }
    @Column(name = "doctor_code")
    public String getDoctorCode() {
        return doctorCode;
    }
@ -39,12 +64,22 @@ public class BaseDoctorRoleDO extends IntegerIdentityEntity {
        this.doctorCode = doctorCode;
    }
	@Column(name = "role_code")
    public String getRoleCode() {
        return roleCode;
    @Column(name = "name")
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    @Column(name = "role_module_code")
    public String getRoleModuleCode() {
        return roleModuleCode;
    }
    public void setRoleCode(String roleCode) {
        this.roleCode = roleCode;
    public void setRoleModuleCode(String roleModuleCode) {
        this.roleModuleCode = roleModuleCode;
    }
	@Column(name = "del")
@ -54,4 +89,13 @@ public class BaseDoctorRoleDO extends IntegerIdentityEntity {
    public void setDel(String del) {
        this.del = del;
    }
    @Column(name = "description")
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
}

+ 50 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/module/InterfaceDO.java

@ -26,8 +26,13 @@ public class InterfaceDO extends UuidIdentityEntity {
    private Integer status;//状态(1生效中,0已失效)
    private String remark;//接口说明
    private String url;//https请求地址
    private String requestDemo;//请求示例
    private String responseDemo;//响应示例
    private String errorDemo;//异常示例
    private List<InterfaceParamDO> entryParams;//入参
    private List<InterfaceParamDO> commonEntryParams;//公共入参
    private List<InterfaceParamDO> commonOutParams;//公共出参
    private List<InterfaceParamDO> outParams;//出参
    private List<InterfaceErrorCodeDO> errorCodes;//错误说明
@ -121,6 +126,33 @@ public class InterfaceDO extends UuidIdentityEntity {
        this.url = url;
    }
    @Column(name = "request_demo")
    public String getRequestDemo() {
        return requestDemo;
    }
    public void setRequestDemo(String requestDemo) {
        this.requestDemo = requestDemo;
    }
    @Column(name = "response_demo")
    public String getResponseDemo() {
        return responseDemo;
    }
    public void setResponseDemo(String responseDemo) {
        this.responseDemo = responseDemo;
    }
    @Column(name = "error_demo")
    public String getErrorDemo() {
        return errorDemo;
    }
    public void setErrorDemo(String errorDemo) {
        this.errorDemo = errorDemo;
    }
    @Transient
    public List<InterfaceParamDO> getEntryParams() {
        return entryParams;
@ -147,4 +179,22 @@ public class InterfaceDO extends UuidIdentityEntity {
    public void setErrorCodes(List<InterfaceErrorCodeDO> errorCodes) {
        this.errorCodes = errorCodes;
    }
    @Transient
    public List<InterfaceParamDO> getCommonEntryParams() {
        return commonEntryParams;
    }
    public void setCommonEntryParams(List<InterfaceParamDO> commonEntryParams) {
        this.commonEntryParams = commonEntryParams;
    }
    @Transient
    public List<InterfaceParamDO> getCommonOutParams() {
        return commonOutParams;
    }
    public void setCommonOutParams(List<InterfaceParamDO> commonOutParams) {
        this.commonOutParams = commonOutParams;
    }
}

+ 47 - 6
common/common-entity/src/main/java/com/yihu/jw/entity/base/module/InterfaceParamDO.java

@ -45,12 +45,44 @@ public class InterfaceParamDO extends UuidIdentityEntity {
        }
    }
    /**
     * 是否公共
     */
    public enum Common{
        yes("是",1),
        no("否",0);
        private String name;
        private Integer value;
        Common(String name, Integer value) {
            this.name = name;
            this.value = value;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public Integer getValue() {
            return value;
        }
        public void setValue(Integer value) {
            this.value = value;
        }
    }
    private String interfaceId;//接口id
    private String name;//参数名
    private Integer paramType;//参数类型
    private Integer dataType;//数据类型
    private String paramType;//参数类型
    private String dataType;//数据类型
    private Integer isRequire;//是否必填(1是,0否)
    private Integer maxLength;//最大长度
    private Integer common;//是否公共(1是,0不是)
    private String description;//描述
    private String example;//示例
    private Integer type;//类型(1入参,2出参)
@ -76,20 +108,20 @@ public class InterfaceParamDO extends UuidIdentityEntity {
    }
    @Column(name = "param_type")
    public Integer getParamType() {
    public String getParamType() {
        return paramType;
    }
    public void setParamType(Integer paramType) {
    public void setParamType(String paramType) {
        this.paramType = paramType;
    }
    @Column(name = "data_type")
    public Integer getDataType() {
    public String getDataType() {
        return dataType;
    }
    public void setDataType(Integer dataType) {
    public void setDataType(String dataType) {
        this.dataType = dataType;
    }
@ -155,4 +187,13 @@ public class InterfaceParamDO extends UuidIdentityEntity {
    public void setDel(Integer del) {
        this.del = del;
    }
    @Column(name = "common")
    public Integer getCommon() {
        return common;
    }
    public void setCommon(Integer common) {
        this.common = common;
    }
}

+ 50 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/module/SaasInterfaceDO.java

@ -28,8 +28,13 @@ public class SaasInterfaceDO extends UuidIdentityEntity {
    private Integer status;//状态(1启用中,0已暂停)
    private String remark;//接口说明
    private String url;//https请求地址
    private String requestDemo;//请求示例
    private String responseDemo;//响应示例
    private String errorDemo;//异常示例
    private List<SaasInterfaceParamDO> commonEntryParams;//公共入参
    private List<SaasInterfaceParamDO> entryParams;//入参
    private List<SaasInterfaceParamDO> commonOutParams;//公共出参
    private List<SaasInterfaceParamDO> outParams;//出参
    private List<SaasInterfaceErrorCodeDO> errorCodes;//错误说明
@ -167,4 +172,49 @@ public class SaasInterfaceDO extends UuidIdentityEntity {
    public void setErrorCodes(List<SaasInterfaceErrorCodeDO> errorCodes) {
        this.errorCodes = errorCodes;
    }
    @Transient
    public List<SaasInterfaceParamDO> getCommonEntryParams() {
        return commonEntryParams;
    }
    public void setCommonEntryParams(List<SaasInterfaceParamDO> commonEntryParams) {
        this.commonEntryParams = commonEntryParams;
    }
    @Transient
    public List<SaasInterfaceParamDO> getCommonOutParams() {
        return commonOutParams;
    }
    public void setCommonOutParams(List<SaasInterfaceParamDO> commonOutParams) {
        this.commonOutParams = commonOutParams;
    }
    @Column(name = "request_demo")
    public String getRequestDemo() {
        return requestDemo;
    }
    public void setRequestDemo(String requestDemo) {
        this.requestDemo = requestDemo;
    }
    @Column(name = "response_demo")
    public String getResponseDemo() {
        return responseDemo;
    }
    public void setResponseDemo(String responseDemo) {
        this.responseDemo = responseDemo;
    }
    @Column(name = "error_demo")
    public String getErrorDemo() {
        return errorDemo;
    }
    public void setErrorDemo(String errorDemo) {
        this.errorDemo = errorDemo;
    }
}

+ 16 - 6
common/common-entity/src/main/java/com/yihu/jw/entity/base/module/SaasInterfaceParamDO.java

@ -17,10 +17,11 @@ public class SaasInterfaceParamDO extends UuidIdentityEntity {
    private String saasId;//saas_id
    private String saasInterfaceId;//接口id
    private String name;//参数名
    private Integer paramType;//参数类型
    private Integer dataType;//数据类型
    private String paramType;//参数类型
    private String dataType;//数据类型
    private Integer isRequire;//是否必填(1是,0否)
    private Integer maxLength;//最大长度
    private Integer common;//是否公共(1是,0不是)
    private String description;//描述
    private String example;//示例
    private Integer type;//类型(1入参,2出参)
@ -55,20 +56,20 @@ public class SaasInterfaceParamDO extends UuidIdentityEntity {
    }
    @Column(name = "param_type")
    public Integer getParamType() {
    public String getParamType() {
        return paramType;
    }
    public void setParamType(Integer paramType) {
    public void setParamType(String paramType) {
        this.paramType = paramType;
    }
    @Column(name = "data_type")
    public Integer getDataType() {
    public String getDataType() {
        return dataType;
    }
    public void setDataType(Integer dataType) {
    public void setDataType(String dataType) {
        this.dataType = dataType;
    }
@ -134,4 +135,13 @@ public class SaasInterfaceParamDO extends UuidIdentityEntity {
    public void setDel(Integer del) {
        this.del = del;
    }
    @Column(name = "common")
    public Integer getCommon() {
        return common;
    }
    public void setCommon(Integer common) {
        this.common = common;
    }
}

+ 3 - 2
common/common-entity/src/main/java/com/yihu/jw/entity/base/org/BaseOrgDO.java

@ -1,6 +1,9 @@
package com.yihu.jw.entity.base.org;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.util.StringUtils;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
@ -17,8 +20,6 @@ import java.util.Date;
@Table(name = "base_org")
public class BaseOrgDO extends UuidIdentityEntityWithOperator {
    /**
	 * saas化配置
	 */

+ 5 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/org/BaseOrgSaasDO.java

@ -2,6 +2,10 @@ package com.yihu.jw.entity.base.org;
import com.yihu.jw.entity.IntegerIdentityEntity;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
@ -15,6 +19,7 @@ import javax.persistence.Table;
*/
@Entity
@Table(name = "base_org_saas")
@Component
public class BaseOrgSaasDO extends IntegerIdentityEntity {
    /**

+ 88 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/role/BaseRoleMenuDO.java

@ -0,0 +1,88 @@
package com.yihu.jw.entity.base.role;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Date;
/**
 * 角色菜单表实体
 * 
 * @author litaohong on  2018年10月23日
 *
 */
@Entity
@Table(name = "base_role_menu")
public class BaseRoleMenuDO extends IntegerIdentityEntity {
    /**
	 * 角色标识
	 */
	private String code;
    /**
	 * 角色名称
	 */
	private String name;
    /**
	 * 角色拥有的菜单id列表,逗号分隔,对应base_menu表
	 */
	private String menuId;
    /**
	 * 角色状态,0失效 1有效
	 */
	private String del;
    /**
	 * 角色说明
	 */
	private String description;
	@Column(name = "code")
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
	@Column(name = "name")
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
	@Column(name = "menu_id")
    public String getMenuId() {
        return menuId;
    }
    public void setMenuId(String menuId) {
        this.menuId = menuId;
    }
	@Column(name = "del")
    public String getDel() {
        return del;
    }
    public void setDel(String del) {
        this.del = del;
    }
	@Column(name = "description")
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
}

+ 75 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/role/BaseRoleModuleDO.java

@ -0,0 +1,75 @@
package com.yihu.jw.entity.base.role;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Date;
/**
 * 业务模块角色实体
 * 
 * @author litaohong on  2018年10月23日
 *
 */
@Entity
@Table(name = "base_role_module")
public class BaseRoleModuleDO extends IntegerIdentityEntity {
    /**
	 * 角色标识
	 */
	private String code;
    /**
	 * 角色名称
	 */
	private String name;
    /**
	 * 业务模块id,多个用逗号分割
	 */
	private String moduleId;
    /**
	 * 状态,0失效,1有效
	 */
	private String del;
	@Column(name = "code")
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
	@Column(name = "name")
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
	@Column(name = "module_id")
    public String getModuleId() {
        return moduleId;
    }
    public void setModuleId(String moduleId) {
        this.moduleId = moduleId;
    }
	@Column(name = "del")
    public String getDel() {
        return del;
    }
    public void setDel(String del) {
        this.del = del;
    }
}

+ 11 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/user/UserDO.java

@ -58,6 +58,9 @@ public class UserDO extends UuidIdentityEntityWithOperator {
    //saas化的id
    private String  saasId;
    //平台角色标识(超管,租管,机管)
    private String  roleCode;
    public UserDO(){}
    public UserDO(String username,String password,String mobile){
@ -199,4 +202,12 @@ public class UserDO extends UuidIdentityEntityWithOperator {
    public void setSaasId(String saasId) {
        this.saasId = saasId;
    }
    public String getRoleCode() {
        return roleCode;
    }
    @Column(name = "role_code",nullable = false)
    public void setRoleCode(String roleCode) {
        this.roleCode = roleCode;
    }
}

+ 14 - 0
common/common-request-mapping/src/main/java/com/yihu/jw/rm/base/BaseRequestMapping.java

@ -274,6 +274,7 @@ public class BaseRequestMapping {
        public static final String findWxTemplateConfig ="/findWxTemplateConfig";
        public static final String findWxTemplateConfigExist ="/findWxTemplateConfigExist";
        public static final String getAllTemp ="/getAllTemp";
        public static final String getFansTitle ="/getFansTitle";
        public static final String getusersummary ="/getusersummary";
        public static final String getusercumulate ="/getusercumulate";
@ -617,5 +618,18 @@ public class BaseRequestMapping {
    public static class MqMessageSubscriber extends Basic {
        public static final String PREFIX  = "/mq_message_subscriber";
    }
    /**
     * 业务模块角色
     */
    public static class BaseRoleModule extends Basic {
        public static final String PREFIX  = "/baseRoleModule";
    }
    /**
     * 功能菜单角色
     */
    public static class BaseRoleMenu extends Basic {
        public static final String PREFIX  = "/baseRoleMenu";
    }
}

+ 10 - 10
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/doctor/BaseDoctorHospitalVO.java

@ -26,13 +26,13 @@ public class BaseDoctorHospitalVO extends IntegerIdentityVO{
	 * 医院标识
	 */
	@ApiModelProperty(value = "医院标识", example = "")
    private String hospCode;
    private String orgCode;
    /**
	 * 医院名称
	 */
	@ApiModelProperty(value = "医院名称", example = "厦门市中医院")
    private String hospName;
    private String orgName;
    /**
	 * 职称代码
@ -72,18 +72,18 @@ public class BaseDoctorHospitalVO extends IntegerIdentityVO{
    private Date createTime;
    public String getHospCode() {
        return hospCode;
    public String getOrgCode() {
        return orgCode;
    }
    public void setHospCode(String hospCode) {
        this.hospCode = hospCode;
    public void setOrgCode(String orgCode) {
        this.orgCode = orgCode;
    }
    public String getHospName() {
        return hospName;
    public String getOrgName() {
        return orgName;
    }
    public void setHospName(String hospName) {
        this.hospName = hospName;
    public void setOrgName(String orgName) {
        this.orgName = orgName;
    }
    public String getJobTitleCode() {

+ 33 - 7
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/doctor/BaseDoctorRoleVO.java

@ -27,10 +27,22 @@ public class BaseDoctorRoleVO extends IntegerIdentityVO{
    private String doctorCode;
    /**
	 * 医生角色code
	 * 医生业务模块角色code
	 */
	@ApiModelProperty(value = "医生角色id", example = "")
    private String roleCode;
	@ApiModelProperty(value = "医生业务模块角色code", example = "")
    private String roleModuleCode;
    /**
	 * 医生业务模块角色名称
	 */
	@ApiModelProperty(value = "医生业务模块角色名称", example = "")
    private String name;
	/**
	 * 医生业务模块角色名称
	 */
	@ApiModelProperty(value = "医生业务模块角色说明", example = "")
    private String description;
    /**
	 * 作废标识,1正常,0作废
@ -45,11 +57,11 @@ public class BaseDoctorRoleVO extends IntegerIdentityVO{
        this.doctorCode = doctorCode;
    }
    public String getRoleCode() {
        return roleCode;
    public String getRoleModuleCode() {
        return roleModuleCode;
    }
    public void setRoleCode(String roleCode) {
        this.roleCode = roleCode;
    public void setRoleModuleCode(String roleModuleCode) {
        this.roleModuleCode = roleModuleCode;
    }
    public String getDel() {
@ -59,5 +71,19 @@ public class BaseDoctorRoleVO extends IntegerIdentityVO{
        this.del = del;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
}

+ 16 - 6
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/module/InterfaceParamVO.java

@ -15,13 +15,15 @@ public class InterfaceParamVO extends UuidIdentityVO {
    @ApiModelProperty(value = "参数名", example = "user")
    private String name;
    @ApiModelProperty(value = "参数类型", example = "HEADER")
    private Integer paramType;
    private String paramType;
    @ApiModelProperty(value = "数据类型", example = "VERCHAR")
    private Integer dataType;
    private String dataType;
    @ApiModelProperty(value = "是否必填(1是,0否)", example = "1")
    private Integer isRequire;
    @ApiModelProperty(value = "最大长度", example = "1")
    private Integer maxLength;
    @ApiModelProperty(value = "是否公共(1是,0不是)", example = "1")
    private Integer common;
    @ApiModelProperty(value = "描述", example = "")
    private String description;
    @ApiModelProperty(value = "示例", example = "")
@ -49,19 +51,19 @@ public class InterfaceParamVO extends UuidIdentityVO {
        this.name = name;
    }
    public Integer getParamType() {
    public String getParamType() {
        return paramType;
    }
    public void setParamType(Integer paramType) {
    public void setParamType(String paramType) {
        this.paramType = paramType;
    }
    public Integer getDataType() {
    public String getDataType() {
        return dataType;
    }
    public void setDataType(Integer dataType) {
    public void setDataType(String dataType) {
        this.dataType = dataType;
    }
@ -120,4 +122,12 @@ public class InterfaceParamVO extends UuidIdentityVO {
    public void setDel(Integer del) {
        this.del = del;
    }
    public Integer getCommon() {
        return common;
    }
    public void setCommon(Integer common) {
        this.common = common;
    }
}

+ 50 - 0
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/module/InterfaceVO.java

@ -32,11 +32,21 @@ public class InterfaceVO extends UuidIdentityVO {
    private String remark;
    @ApiModelProperty(value = "https请求地址", example = "")
    private String url;
    @ApiModelProperty(value = "请求示例", example = "")
    private String requestDemo;
    @ApiModelProperty(value = "响应示例", example = "")
    private String responseDemo;
    @ApiModelProperty(value = "异常示例", example = "")
    private String errorDemo;
    @ApiModelProperty(value = "入参", example = "")
    private List<InterfaceParamVO> entryParams;
    @ApiModelProperty(value = "出参", example = "")
    private List<InterfaceParamVO> outParams;
    @ApiModelProperty(value = "公共入参", example = "")
    private List<InterfaceParamVO> commonEntryParams;
    @ApiModelProperty(value = "公共出参", example = "")
    private List<InterfaceParamVO> commonOutParams;
    @ApiModelProperty(value = "错误说明", example = "")
    private List<InterfaceErrorCodeVO> errorCodes;
@ -143,4 +153,44 @@ public class InterfaceVO extends UuidIdentityVO {
    public void setErrorCodes(List<InterfaceErrorCodeVO> errorCodes) {
        this.errorCodes = errorCodes;
    }
    public List<InterfaceParamVO> getCommonEntryParams() {
        return commonEntryParams;
    }
    public void setCommonEntryParams(List<InterfaceParamVO> commonEntryParams) {
        this.commonEntryParams = commonEntryParams;
    }
    public List<InterfaceParamVO> getCommonOutParams() {
        return commonOutParams;
    }
    public void setCommonOutParams(List<InterfaceParamVO> commonOutParams) {
        this.commonOutParams = commonOutParams;
    }
    public String getRequestDemo() {
        return requestDemo;
    }
    public void setRequestDemo(String requestDemo) {
        this.requestDemo = requestDemo;
    }
    public String getResponseDemo() {
        return responseDemo;
    }
    public void setResponseDemo(String responseDemo) {
        this.responseDemo = responseDemo;
    }
    public String getErrorDemo() {
        return errorDemo;
    }
    public void setErrorDemo(String errorDemo) {
        this.errorDemo = errorDemo;
    }
}

+ 16 - 6
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/module/SaasInterfaceParamVO.java

@ -18,13 +18,15 @@ public class SaasInterfaceParamVO extends UuidIdentityVO {
    @ApiModelProperty(value = "参数名", example = "user")
    private String name;
    @ApiModelProperty(value = "参数类型", example = "HEADER")
    private Integer paramType;
    private String paramType;
    @ApiModelProperty(value = "数据类型", example = "VERCHAR")
    private Integer dataType;
    private String dataType;
    @ApiModelProperty(value = "是否必填(1是,0否)", example = "1")
    private Integer isRequire;
    @ApiModelProperty(value = "最大长度", example = "1")
    private Integer maxLength;
    @ApiModelProperty(value = "是否公共(1是,0不是)", example = "1")
    private Integer common;
    @ApiModelProperty(value = "描述", example = "")
    private String description;
    @ApiModelProperty(value = "示例", example = "")
@ -60,19 +62,19 @@ public class SaasInterfaceParamVO extends UuidIdentityVO {
        this.name = name;
    }
    public Integer getParamType() {
    public String getParamType() {
        return paramType;
    }
    public void setParamType(Integer paramType) {
    public void setParamType(String paramType) {
        this.paramType = paramType;
    }
    public Integer getDataType() {
    public String getDataType() {
        return dataType;
    }
    public void setDataType(Integer dataType) {
    public void setDataType(String dataType) {
        this.dataType = dataType;
    }
@ -131,4 +133,12 @@ public class SaasInterfaceParamVO extends UuidIdentityVO {
    public void setDel(Integer del) {
        this.del = del;
    }
    public Integer getCommon() {
        return common;
    }
    public void setCommon(Integer common) {
        this.common = common;
    }
}

+ 51 - 1
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/module/SaasInterfaceVO.java

@ -37,7 +37,17 @@ public class SaasInterfaceVO extends UuidIdentityVO {
    private String remark;
    @ApiModelProperty(value = "https请求地址", example = "")
    private String url;
    @ApiModelProperty(value = "请求示例", example = "")
    private String requestDemo;
    @ApiModelProperty(value = "响应示例", example = "")
    private String responseDemo;
    @ApiModelProperty(value = "异常示例", example = "")
    private String errorDemo;
    @ApiModelProperty(value = "公共入参", example = "")
    private List<SaasInterfaceParamVO> commonEntryParams;
    @ApiModelProperty(value = "公共出参", example = "")
    private List<SaasInterfaceParamVO> commonOutParams;
    @ApiModelProperty(value = "入参", example = "")
    private List<SaasInterfaceParamVO> entryParams;
    @ApiModelProperty(value = "出参", example = "")
@ -164,4 +174,44 @@ public class SaasInterfaceVO extends UuidIdentityVO {
    public void setErrorCodes(List<SaasInterfaceErrorCodeVO> errorCodes) {
        this.errorCodes = errorCodes;
    }
    public List<SaasInterfaceParamVO> getCommonEntryParams() {
        return commonEntryParams;
    }
    public void setCommonEntryParams(List<SaasInterfaceParamVO> commonEntryParams) {
        this.commonEntryParams = commonEntryParams;
    }
    public List<SaasInterfaceParamVO> getCommonOutParams() {
        return commonOutParams;
    }
    public void setCommonOutParams(List<SaasInterfaceParamVO> commonOutParams) {
        this.commonOutParams = commonOutParams;
    }
    public String getRequestDemo() {
        return requestDemo;
    }
    public void setRequestDemo(String requestDemo) {
        this.requestDemo = requestDemo;
    }
    public String getResponseDemo() {
        return responseDemo;
    }
    public void setResponseDemo(String responseDemo) {
        this.responseDemo = responseDemo;
    }
    public String getErrorDemo() {
        return errorDemo;
    }
    public void setErrorDemo(String errorDemo) {
        this.errorDemo = errorDemo;
    }
}

+ 91 - 0
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/role/BaseRoleMenuVO.java

@ -0,0 +1,91 @@
package com.yihu.jw.restmodel.base.role;
import com.yihu.jw.restmodel.IntegerIdentityVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
/**
 * 
 * 角色菜单表vo
 * 
 * @version 
 * <pre>
 * Author	Version		Date		Changes
 * litaohong 	1.0  2018年10月23日 Created
 *
 * </pre>
 * @since 1.
 */
@ApiModel(value = "BaseRoleMenuVO", description = "角色菜单表")
public class BaseRoleMenuVO extends IntegerIdentityVO{
    /**
	 * 角色标识
	 */
	@ApiModelProperty(value = "角色标识", example = "模块1")
    private String code;
    /**
	 * 角色名称
	 */
	@ApiModelProperty(value = "角色名称", example = "模块1")
    private String name;
    /**
	 * 角色拥有的菜单id列表,逗号分隔,对应base_menu表
	 */
	@ApiModelProperty(value = "角色拥有的菜单id列表,逗号分隔,对应base_menu表", example = "模块1")
    private String menuId;
    /**
	 * 角色状态,0失效 1有效
	 */
	@ApiModelProperty(value = "角色状态,0失效 1有效", example = "模块1")
    private String del;
    /**
	 * 角色说明
	 */
	@ApiModelProperty(value = "角色说明", example = "模块1")
    private String description;
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getMenuId() {
        return menuId;
    }
    public void setMenuId(String menuId) {
        this.menuId = menuId;
    }
    public String getDel() {
        return del;
    }
    public void setDel(String del) {
        this.del = del;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
}

+ 78 - 0
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/role/BaseRoleModuleVO.java

@ -0,0 +1,78 @@
package com.yihu.jw.restmodel.base.role;
import com.yihu.jw.restmodel.IntegerIdentityVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
/**
 * 
 * 业务模块角色vo
 * 
 * @version 
 * <pre>
 * Author	Version		Date		Changes
 * litaohong 	1.0  2018年10月23日 Created
 *
 * </pre>
 * @since 1.
 */
@ApiModel(value = "BaseRoleModuleVO", description = "业务模块角色")
public class BaseRoleModuleVO extends IntegerIdentityVO{
    /**
	 * 角色标识
	 */
	@ApiModelProperty(value = "角色标识", example = "模块1")
    private String code;
    /**
	 * 角色名称
	 */
	@ApiModelProperty(value = "角色名称", example = "模块1")
    private String name;
    /**
	 * 业务模块id,多个用逗号分割
	 */
	@ApiModelProperty(value = "业务模块id,多个用逗号分割", example = "模块1")
    private String moduleId;
    /**
	 * 状态,0失效,1有效
	 */
	@ApiModelProperty(value = "状态,0失效,1有效", example = "模块1")
    private String del;
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getModuleId() {
        return moduleId;
    }
    public void setModuleId(String moduleId) {
        this.moduleId = moduleId;
    }
    public String getDel() {
        return del;
    }
    public void setDel(String del) {
        this.del = del;
    }
}

+ 49 - 1
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/wx/StatisticsTitleVO.java

@ -5,5 +5,53 @@ package com.yihu.jw.restmodel.base.wx;
 */
public class StatisticsTitleVO {
    private String newUser;
    private Integer new_user;
    private Integer cumulate_user;
    private Integer cancel_user;
    private Integer add_user;
    private String date;
    public Integer getNew_user() {
        return new_user;
    }
    public void setNew_user(Integer new_user) {
        this.new_user = new_user;
    }
    public Integer getCumulate_user() {
        return cumulate_user;
    }
    public void setCumulate_user(Integer cumulate_user) {
        this.cumulate_user = cumulate_user;
    }
    public Integer getCancel_user() {
        return cancel_user;
    }
    public void setCancel_user(Integer cancel_user) {
        this.cancel_user = cancel_user;
    }
    public Integer getAdd_user() {
        return add_user;
    }
    public void setAdd_user(Integer add_user) {
        this.add_user = add_user;
    }
    public String getDate() {
        return date;
    }
    public void setDate(String date) {
        this.date = date;
    }
}

+ 32 - 3
sql/init.sql

@ -781,15 +781,44 @@ create table `base_message_type`
)
  ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='消息类型字典';
-- 功能菜单角色表
drop table IF EXISTS `base_role_menu`;
create table `base_role_menu`
(
  `id` int(11) NOT NULL AUTO_INCREMENT  COMMENT '表id,自增长,字典型',
  `saasid` varchar(50) DEFAULT NULL COMMENT 'saasid,每个租户',
  `code` varchar(100) DEFAULT NULL COMMENT '角色标识',
  `name` varchar(100) DEFAULT NULL COMMENT '角色名称',
  `module_id` varchar(50) not null COMMENT '业务模块id,多个用逗号分割',
  `del` varchar(1) not null COMMENT '状态,0失效,1有效',
  `create_user` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '创建人',
  `create_user_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '创建人名',
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_user` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '修改人',
  `update_user_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '修改人名',
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  primary key (id),
  key `code` (`code`)
)
  ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='业务模块角色';
-- 业务模块角色表
drop table IF EXISTS `base_role_module`;
create table `base_role_module`
(
  `id` int(11) NOT NULL AUTO_INCREMENT  COMMENT '表id,自增长,字典型',
  `role_id` varchar(100) DEFAULT NULL COMMENT '角色id',
  `module_id` varchar(50) not null COMMENT '业务模块id',
  primary key (id)
  `code` varchar(100) DEFAULT NULL COMMENT '角色标识',
  `name` varchar(100) DEFAULT NULL COMMENT '角色名称',
  `module_id` varchar(50) not null COMMENT '业务模块id,多个用逗号分割',
  `del` varchar(1) not null COMMENT '状态,0失效,1有效',
  `create_user` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '创建人',
  `create_user_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '创建人名',
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_user` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '修改人',
  `update_user_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '修改人名',
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  primary key (id),
  key `code` (`code`)
)
  ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='业务模块角色';

文件差异内容过多而无法显示
+ 12 - 13
svr/svr-base/src/main/java/com/yihu/jw/base/dao/doctor/BaseDoctorDao.java


+ 3 - 3
svr/svr-base/src/main/java/com/yihu/jw/base/dao/doctor/BaseDoctorHospitalDao.java

@ -25,11 +25,11 @@ import java.util.Set;
 */
public interface BaseDoctorHospitalDao extends PagingAndSortingRepository<BaseDoctorHospitalDO, Integer>, JpaSpecificationExecutor<BaseDoctorHospitalDO>  {
    List<BaseDoctorHospitalDO> findByHospCodeAndDoctorCode(String hospCode,String doctorCode);
    List<BaseDoctorHospitalDO> findByOrgCodeAndDoctorCode(String orgCode, String doctorCode);
    @Query("select id from BaseDoctorHospitalDO where doctorCode = ?1")
    Set<Object> findIdListByHospCodeAndDoctorCode(String doctorCode);
    Set<Object> findIdListByOrgCodeAndDoctorCode(String doctorCode);
    @Query("select new BaseDoctorHospitalDO(hospCode,hospName,doctorDutyCode,doctorDutyName) from BaseDoctorHospitalDO where doctorCode = ?1")
    @Query("select new BaseDoctorHospitalDO(orgCode,orgName,doctorDutyCode,doctorDutyName) from BaseDoctorHospitalDO where doctorCode = ?1")
    List<BaseDoctorHospitalDO> getOrgAndDutyByDoctorCode(String doctorCode);
}

+ 4 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/doctor/BaseDoctorRoleDao.java

@ -5,6 +5,8 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
@ -23,4 +25,6 @@ public interface BaseDoctorRoleDao extends PagingAndSortingRepository<BaseDoctor
    @Query("select id from BaseDoctorRoleDO where doctorCode = ?1")
    Set<Object> findIdListByDoctorCode(String doctorCode);
    List<BaseDoctorRoleDO> findByDoctorCodeAndDel(String doctorCode,String del);
}

+ 21 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/role/BaseRoleMenuDao.java

@ -0,0 +1,21 @@
package com.yihu.jw.base.dao.role;
import com.yihu.jw.entity.base.role.BaseRoleMenuDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * 
 * 角色菜单表 数据库访问层
 * 
 * @version 
 * <pre>
 * Author	Version		Date		Changes
 * litaohong 	1.0  		2018年10月23日 	Created
 *
 * </pre>
 * @since 1.
 */
public interface BaseRoleMenuDao extends PagingAndSortingRepository<BaseRoleMenuDO, Integer>, JpaSpecificationExecutor<BaseRoleMenuDO>  {
}

+ 21 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/role/BaseRoleModuleDao.java

@ -0,0 +1,21 @@
package com.yihu.jw.base.dao.role;
import com.yihu.jw.entity.base.role.BaseRoleModuleDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * 
 * 业务模块角色 数据库访问层
 * 
 * @version 
 * <pre>
 * Author	Version		Date		Changes
 * litaohong 	1.0  		2018年10月23日 	Created
 *
 * </pre>
 * @since 1.
 */
public interface BaseRoleModuleDao extends PagingAndSortingRepository<BaseRoleModuleDO, Integer>, JpaSpecificationExecutor<BaseRoleModuleDO>  {
}

+ 30 - 17
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/doctor/BaseDoctorEndpoint.java

@ -44,7 +44,7 @@ public class BaseDoctorEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private OrgTreeService orgTreeService;
    @PostMapping(value = BaseRequestMapping.BaseDoctor.CREATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @PostMapping(value = BaseRequestMapping.BaseDoctor.CREATE)
    @ApiOperation(value = "新增医生")
    public Envelop create(
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
@ -67,7 +67,7 @@ public class BaseDoctorEndpoint extends EnvelopRestEndpoint {
        return success("删除成功");
    }
    @PostMapping(value = BaseRequestMapping.BaseDoctor.UPDATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @PostMapping(value = BaseRequestMapping.BaseDoctor.UPDATE)
    @ApiOperation(value = "更新医生")
    public Envelop update(
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
@ -112,9 +112,8 @@ public class BaseDoctorEndpoint extends EnvelopRestEndpoint {
    }
    /**
     * 单个医生信息(基本信息 + 医院执业信息)
     * 单个医生信息(基本信息 + 医院执业及角色信息)
     *
     * @param orgId
     * @param doctorId
     * @return
     * @throws Exception
@ -122,12 +121,13 @@ public class BaseDoctorEndpoint extends EnvelopRestEndpoint {
    @PostMapping(value = BaseRequestMapping.BaseDoctor.DOCINFO)
    @ApiOperation(value = "获取单个医生及其执业信息")
    public Envelop doctorHosplist(
            @ApiParam(name = "orgId", value = "医院id")
            @RequestParam(value = "orgId", required = true) String orgId,
            @ApiParam(name = "doctorId", value = "医生id")
            @ApiParam(name = "doctorId", value = "医生标识")
            @RequestParam(value = "doctorId", required = true) String doctorId) throws Exception {
        Map<String, Object> map = baseDoctorService.getOneDoctorInfo(orgId, doctorId);
        return success(map.toString());
        JSONObject jsonObject = baseDoctorService.getOneDoctorInfo(doctorId);
        if (jsonObject.getString("response").equalsIgnoreCase(ConstantUtils.FAIL)) {
            return failed(jsonObject.getString("msg"));
        }
        return success(jsonObject.getJSONObject("msg"));
    }
    /**
@ -188,11 +188,16 @@ public class BaseDoctorEndpoint extends EnvelopRestEndpoint {
     */
    @GetMapping(value = BaseRequestMapping.BaseDoctor.getOrgListByTown)
    @ApiOperation(value = "根据区域获取机构列表")
    public Envelop enableOrDisableDoctor(
    public Envelop getOrgListByTown(
            @ApiParam(name = "doctorCode", value = "townCode")
            @RequestParam(value = "doctorCode", required = true) String doctorCode,
            @ApiParam(name = "townCode", value = "townCode")
            @RequestParam(value = "townCode", required = true) String townCode) throws Exception {
        List<Map<String, Object>> result = orgTreeService.findOrgListByParentCode(townCode);
        return success(JavaBeanUtils.getInstance().mapListJson(result));
        JSONObject jsonObject = baseDoctorService.getOrgListByTownAndDoctorCode(doctorCode,townCode);
        if (jsonObject.getString("response").equalsIgnoreCase(ConstantUtils.FAIL)) {
            return failed(jsonObject.getString("msg"));
        }
        return success(jsonObject.getJSONArray("msg"));
    }
    /**
@ -203,11 +208,15 @@ public class BaseDoctorEndpoint extends EnvelopRestEndpoint {
     * @throws Exception
     */
    @GetMapping(value = BaseRequestMapping.BaseDoctor.docOrgDutyTreeInfo)
    @ApiOperation(value = "获取医生所属机构树形结构数据")
    @ApiOperation(value = "获取医生 机构/职务 树形结构数据")
    public Envelop getOrgDutyTree(
            @ApiParam(name = "doctorCode", value = "doctorCode")
            @RequestParam(value = "doctorCode", required = true) String doctorCode) throws Exception {
        return success(baseDoctorService.getDoctorDutyTree(doctorCode));
        JSONObject jsonObject = baseDoctorService.getDoctorDutyTree(doctorCode);
        if (jsonObject.getString("response").equalsIgnoreCase(ConstantUtils.FAIL)) {
            return failed(jsonObject.getString("msg"));
        }
        return success(jsonObject.get("msg"));
    }
    /**
@ -218,11 +227,15 @@ public class BaseDoctorEndpoint extends EnvelopRestEndpoint {
     * @throws Exception
     */
    @GetMapping(value = BaseRequestMapping.BaseDoctor.docOrgDeptTreeInfo)
    @ApiOperation(value = "获取医生所属机构树形结构数据")
    @ApiOperation(value = "获取医生 机构/科室 树形结构数据")
    public Envelop getOrgDeptTree(
            @ApiParam(name = "doctorCode", value = "doctorCode")
            @RequestParam(value = "doctorCode", required = true) String doctorCode) throws Exception {
        return success(baseDoctorService.getDoctorDeptTree(doctorCode));
        JSONObject jsonObject = baseDoctorService.getDoctorDeptTree(doctorCode);
        if (jsonObject.getString("response").equalsIgnoreCase(ConstantUtils.FAIL)) {
            return failed(jsonObject.getString("msg"));
        }
        return success(jsonObject.getJSONArray("msg"));
    }
    @GetMapping(value = BaseRequestMapping.BaseDoctor.getDoctorListByDept)
@ -234,7 +247,7 @@ public class BaseDoctorEndpoint extends EnvelopRestEndpoint {
        if (jsonObject.getString("response").equalsIgnoreCase(ConstantUtils.FAIL)) {
            return failed(jsonObject.getString("msg"));
        }
        return success(jsonObject.getString("msg"));
        return success(jsonObject.getJSONArray("msg"));
    }
}

+ 2 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/doctor/BaseDoctorRoleEndpoint.java

@ -38,7 +38,7 @@ public class BaseDoctorRoleEndpoint extends EnvelopRestEndpoint {
@Autowired
private BaseDoctorRoleService baseDoctorRoleService;
@PostMapping(value = BaseRequestMapping.BaseDoctorRole.CREATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
@PostMapping(value = BaseRequestMapping.BaseDoctorRole.CREATE)
@ApiOperation(value = "创建")
public ObjEnvelop<BaseDoctorRoleVO> create (
    @ApiParam(name = "json_data", value = "Json数据", required = true)
@ -57,7 +57,7 @@ public ObjEnvelop<BaseDoctorRoleVO> create (
    return success("删除成功");
    }
    @PostMapping(value = BaseRequestMapping.BaseDoctorRole.UPDATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @PostMapping(value = BaseRequestMapping.BaseDoctorRole.UPDATE)
    @ApiOperation(value = "更新")
    public ObjEnvelop<BaseDoctorRoleVO> update (
        @ApiParam(name = "json_data", value = "Json数据", required = true)

+ 2 - 3
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/module/InterfaceEndpoint.java

@ -15,7 +15,6 @@ 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.http.MediaType;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@ -34,7 +33,7 @@ public class InterfaceEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private ErrorCodeUtil errorCodeUtil;
    @PostMapping(value = BaseRequestMapping.Interface.CREATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @PostMapping(value = BaseRequestMapping.Interface.CREATE)
    @ApiOperation(value = "创建")
    public ObjEnvelop<InterfaceVO> create (
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
@ -75,7 +74,7 @@ public class InterfaceEndpoint extends EnvelopRestEndpoint {
        return success("删除成功");
    }
    @PostMapping(value = BaseRequestMapping.Interface.UPDATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @PostMapping(value = BaseRequestMapping.Interface.UPDATE)
    @ApiOperation(value = "更新")
    public ObjEnvelop<InterfaceVO> update (
            @ApiParam(name = "jsonData", value = "Json数据", required = true)

+ 2 - 3
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/module/SaasInterfaceEndpoint.java

@ -15,7 +15,6 @@ 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.http.MediaType;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@ -34,7 +33,7 @@ public class SaasInterfaceEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private ErrorCodeUtil errorCodeUtil;
    @PostMapping(value = BaseRequestMapping.SaasInterface.CREATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @PostMapping(value = BaseRequestMapping.SaasInterface.CREATE)
    @ApiOperation(value = "创建")
    public ObjEnvelop<SaasInterfaceVO> create (
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
@ -75,7 +74,7 @@ public class SaasInterfaceEndpoint extends EnvelopRestEndpoint {
        return success("删除成功");
    }
    @PostMapping(value = BaseRequestMapping.SaasInterface.UPDATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @PostMapping(value = BaseRequestMapping.SaasInterface.UPDATE)
    @ApiOperation(value = "更新")
    public ObjEnvelop<SaasInterfaceVO> update (
            @ApiParam(name = "jsonData", value = "Json数据", required = true)

+ 104 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/role/BaseRoleMenuEndpoint.java

@ -0,0 +1,104 @@
package com.yihu.jw.base.endpoint.role;
import com.yihu.jw.base.service.role.BaseRoleMenuService;
import com.yihu.jw.entity.base.role.BaseRoleMenuDO;
import com.yihu.jw.restmodel.base.role.BaseRoleMenuVO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.base.BaseRequestMapping;
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.http.MediaType;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
*
* 角色菜单表控制器
*
* @version
* <pre>
 * Author	Version		Date		Changes
 * litaohong 	1.0  		2018年10月23日 	Created
 *
 * </pre>
* @since 1.
*/
@RestController
@RequestMapping(value = BaseRequestMapping.BaseRoleMenu.PREFIX)
@Api(value = "角色菜单表管理", description = "角色菜单表管理服务接口", tags = {"wlyy基础服务 - 角色菜单表管理服务接口"})
public class BaseRoleMenuEndpoint extends EnvelopRestEndpoint {
@Autowired
private BaseRoleMenuService baseRoleMenuService;
@PostMapping(value = BaseRequestMapping.BaseRoleMenu.CREATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
@ApiOperation(value = "创建")
public ObjEnvelop<BaseRoleMenuVO> create (
    @ApiParam(name = "json_data", value = "Json数据", required = true)
    @RequestBody String jsonData) throws Exception {
    BaseRoleMenuDO baseRoleMenu = toEntity(jsonData, BaseRoleMenuDO.class);
    baseRoleMenu = baseRoleMenuService.save(baseRoleMenu);
    return success(baseRoleMenu, BaseRoleMenuVO.class);
    }
    @PostMapping(value = BaseRequestMapping.BaseRoleMenu.DELETE)
    @ApiOperation(value = "删除")
    public Envelop delete(
    @ApiParam(name = "ids", value = "id串,中间用,分隔", required = true)
    @RequestParam(value = "ids") String ids) {
    baseRoleMenuService.delete(ids.split(","));
    return success("删除成功");
    }
    @PostMapping(value = BaseRequestMapping.BaseRoleMenu.UPDATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "更新")
    public ObjEnvelop<BaseRoleMenuVO> update (
        @ApiParam(name = "json_data", value = "Json数据", required = true)
        @RequestBody String jsonData) throws Exception {
        BaseRoleMenuDO baseRoleMenu = toEntity(jsonData, BaseRoleMenuDO.class);
        if (null == baseRoleMenu.getId()) {
        return failed("ID不能为空", ObjEnvelop.class);
        }
        baseRoleMenu = baseRoleMenuService.save(baseRoleMenu);
        return success(baseRoleMenu, BaseRoleMenuVO.class);
        }
        @GetMapping(value = BaseRequestMapping.BaseRoleMenu.PAGE)
        @ApiOperation(value = "获取分页")
        public PageEnvelop<BaseRoleMenuVO> page (
            @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
            @RequestParam(value = "fields", required = false) String fields,
            @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
            @RequestParam(value = "filters", required = false) String filters,
            @ApiParam(name = "sorts", value = "排序,规则参见说明文档")
            @RequestParam(value = "sorts", required = false) String sorts,
            @ApiParam(name = "page", value = "分页大小", required = true, defaultValue = "1")
            @RequestParam(value = "page") int page,
            @ApiParam(name = "size", value = "页码", required = true, defaultValue = "15")
            @RequestParam(value = "size") int size) throws Exception {
            List<BaseRoleMenuDO> baseRoleMenus = baseRoleMenuService.search(fields, filters, sorts, page, size);
                int count = (int)baseRoleMenuService.getCount(filters);
                return success(baseRoleMenus, count, page, size, BaseRoleMenuVO.class);
         }
         @GetMapping(value = BaseRequestMapping.BaseRoleMenu.LIST)
         @ApiOperation(value = "获取列表")
         public ListEnvelop<BaseRoleMenuVO> list (
             @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
             @RequestParam(value = "fields", required = false) String fields,
             @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
             @RequestParam(value = "filters", required = false) String filters,
             @ApiParam(name = "sorts", value = "排序,规则参见说明文档")
             @RequestParam(value = "sorts", required = false) String sorts) throws Exception {
             List<BaseRoleMenuDO> baseRoleMenus = baseRoleMenuService.search(fields, filters, sorts);
                  return success(baseRoleMenus, BaseRoleMenuVO.class);
         }
 }

+ 104 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/role/BaseRoleModuleEndpoint.java

@ -0,0 +1,104 @@
package com.yihu.jw.base.endpoint.role;
import com.yihu.jw.base.service.role.BaseRoleModuleService;
import com.yihu.jw.entity.base.role.BaseRoleModuleDO;
import com.yihu.jw.restmodel.base.role.BaseRoleModuleVO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.base.BaseRequestMapping;
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.http.MediaType;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
*
* 业务模块角色控制器
*
* @version
* <pre>
 * Author	Version		Date		Changes
 * litaohong 	1.0  		2018年10月23日 	Created
 *
 * </pre>
* @since 1.
*/
@RestController
@RequestMapping(value = BaseRequestMapping.BaseRoleModule.PREFIX)
@Api(value = "业务模块角色管理", description = "业务模块角色管理服务接口", tags = {"wlyy基础服务 - 业务模块角色管理服务接口"})
public class BaseRoleModuleEndpoint extends EnvelopRestEndpoint {
@Autowired
private BaseRoleModuleService baseRoleModuleService;
@PostMapping(value = BaseRequestMapping.BaseRoleModule.CREATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
@ApiOperation(value = "创建")
public ObjEnvelop<BaseRoleModuleVO> create (
    @ApiParam(name = "json_data", value = "Json数据", required = true)
    @RequestBody String jsonData) throws Exception {
    BaseRoleModuleDO baseRoleModule = toEntity(jsonData, BaseRoleModuleDO.class);
    baseRoleModule = baseRoleModuleService.save(baseRoleModule);
    return success(baseRoleModule, BaseRoleModuleVO.class);
    }
    @PostMapping(value = BaseRequestMapping.BaseRoleModule.DELETE)
    @ApiOperation(value = "删除")
    public Envelop delete(
    @ApiParam(name = "ids", value = "id串,中间用,分隔", required = true)
    @RequestParam(value = "ids") String ids) {
    baseRoleModuleService.delete(ids.split(","));
    return success("删除成功");
    }
    @PostMapping(value = BaseRequestMapping.BaseRoleModule.UPDATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "更新")
    public ObjEnvelop<BaseRoleModuleVO> update (
        @ApiParam(name = "json_data", value = "Json数据", required = true)
        @RequestBody String jsonData) throws Exception {
        BaseRoleModuleDO baseRoleModule = toEntity(jsonData, BaseRoleModuleDO.class);
        if (null == baseRoleModule.getId()) {
        return failed("ID不能为空", ObjEnvelop.class);
        }
        baseRoleModule = baseRoleModuleService.save(baseRoleModule);
        return success(baseRoleModule, BaseRoleModuleVO.class);
        }
        @GetMapping(value = BaseRequestMapping.BaseRoleModule.PAGE)
        @ApiOperation(value = "获取分页")
        public PageEnvelop<BaseRoleModuleVO> page (
            @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
            @RequestParam(value = "fields", required = false) String fields,
            @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
            @RequestParam(value = "filters", required = false) String filters,
            @ApiParam(name = "sorts", value = "排序,规则参见说明文档")
            @RequestParam(value = "sorts", required = false) String sorts,
            @ApiParam(name = "page", value = "分页大小", required = true, defaultValue = "1")
            @RequestParam(value = "page") int page,
            @ApiParam(name = "size", value = "页码", required = true, defaultValue = "15")
            @RequestParam(value = "size") int size) throws Exception {
            List<BaseRoleModuleDO> baseRoleModules = baseRoleModuleService.search(fields, filters, sorts, page, size);
                int count = (int)baseRoleModuleService.getCount(filters);
                return success(baseRoleModules, count, page, size, BaseRoleModuleVO.class);
         }
         @GetMapping(value = BaseRequestMapping.BaseRoleModule.LIST)
         @ApiOperation(value = "获取列表")
         public ListEnvelop<BaseRoleModuleVO> list (
             @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
             @RequestParam(value = "fields", required = false) String fields,
             @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
             @RequestParam(value = "filters", required = false) String filters,
             @ApiParam(name = "sorts", value = "排序,规则参见说明文档")
             @RequestParam(value = "sorts", required = false) String sorts) throws Exception {
             List<BaseRoleModuleDO> baseRoleModules = baseRoleModuleService.search(fields, filters, sorts);
                  return success(baseRoleModules, BaseRoleModuleVO.class);
         }
 }

+ 6 - 6
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/user/UserEndpoint.java

@ -94,26 +94,26 @@ public class UserEndpoint extends EnvelopRestEndpoint {
    }
    @GetMapping(value = BaseRequestMapping.User.CHECK_USERNAME)
    @ApiOperation(value = "检查用户名是否可用(message=1代表可用,message=0代表不可用)")
    @ApiOperation(value = "检查用户名是否可用(message=available代表可用,message=inavailable代表不可用)")
    public Envelop checkName (
            @ApiParam(name = "username", value = "用户名", required = true)
            @RequestParam(value = "username", required = false) String username) throws Exception {
        if (userService.existUserName(username)) {
            return success("1");
            return success("inavailable");
        } else {
            return success("0");
            return success("available");
        }
    }
    @GetMapping(value = BaseRequestMapping.User.CHECK_MOBILE)
    @ApiOperation(value = "检查手机号是否可用(message=1代表可用,message=0代表不可用)")
    @ApiOperation(value = "检查手机号是否可用(message=available代表可用,message=inavailable代表不可用)")
    public Envelop checkMobile (
            @ApiParam(name = "mobile", value = "手机号", required = true)
            @RequestParam(value = "mobile", required = false) String mobile) throws Exception {
        if (userService.existMobile(mobile)) {
            return success("1");
            return success("inavailable");
        } else {
            return success("0");
            return success("available");
        }
    }

+ 16 - 6
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/wx/WechatController.java

@ -1,6 +1,7 @@
package com.yihu.jw.base.endpoint.wx;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.base.service.wx.WechatService;
import com.yihu.jw.base.service.wx.WxTemplateService;
import com.yihu.jw.entity.base.wx.*;
@ -350,24 +351,33 @@ public class WechatController extends EnvelopRestEndpoint {
    //===================微信粉丝统计==========================================
    @GetMapping(value = BaseRequestMapping.WeChat.getusersummary)
    @ApiOperation(value = "获取用户增减数据", notes = "获取用户增减数据")
    public Envelop getusersummary(@ApiParam(name = "wechatId", value = "微信id")
    public ObjEnvelop<JSONObject> getusersummary(@ApiParam(name = "wechatId", value = "微信id")
                                  @RequestParam(value = "wechatId", required = true)String wechatId,
                                  @ApiParam(name = "beginDate", value = "开始时间,例如:2014-12-02")
                                  @RequestParam(value = "beginDate", required = true)String beginDate,
                                  @ApiParam(name = "endDate", value = "结束时间,例如:2014-12-07")
                                  @RequestParam(value = "endDate", required = true)String endDate) {
        return wechatService.getusersummary(wechatId,beginDate,endDate);
        return success(BaseRequestMapping.WeChat.api_success,wechatService.getusersummary(wechatId,beginDate,endDate));
    }
    @GetMapping(value = BaseRequestMapping.WeChat.getFansTitle)
    @ApiOperation(value = "获取粉丝统计头部数据", notes = "获取粉丝统计头部数据")
    public ObjEnvelop<StatisticsTitleVO> getFansTitle(@ApiParam(name = "wechatId", value = "微信id")
                                          @RequestParam(value = "wechatId", required = true)String wechatId,
                                          @ApiParam(name = "date", value = "计算日期")
                                          @RequestParam(value = "date", required = true)String date) {
        return success(BaseRequestMapping.WeChat.api_success,wechatService.getFansTitle(wechatId,date));
    }
    @GetMapping(value = BaseRequestMapping.WeChat.getusercumulate)
    @ApiOperation(value = "获取累计用户数据", notes = "获取累计用户数据")
    public Envelop getusercumulate(@ApiParam(name = "wechatId", value = "微信id")
    public ObjEnvelop<JSONObject> getusercumulate(@ApiParam(name = "wechatId", value = "微信id")
                                   @RequestParam(value = "wechatId", required = true)String wechatId,
                                   @ApiParam(name = "beginDate", value = "开始时间,例如:2014-12-02")
                                                  @ApiParam(name = "beginDate", value = "开始时间,例如:2014-12-02")
                                   @RequestParam(value = "beginDate", required = true)String beginDate,
                                   @ApiParam(name = "endDate", value = "结束时间,例如:2014-12-07")
                                                  @ApiParam(name = "endDate", value = "结束时间,例如:2014-12-07")
                                   @RequestParam(value = "endDate", required = true)String endDate) {
        return wechatService.getusercumulate(wechatId,beginDate,endDate);
        return success(BaseRequestMapping.WeChat.api_success,wechatService.getusercumulate(wechatId,beginDate,endDate));
    }
    //===================微信粉丝统计end==========================================

+ 2 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/service/doctor/BaseDoctorHospitalService.java

@ -40,7 +40,7 @@ public class BaseDoctorHospitalService extends BaseJpaService<BaseDoctorHospital
        if (StringUtils.isEmpty(hospCode) || StringUtils.isEmpty(doctorCode)) {
            return result;
        }
        return baseDoctorHospitalDao.findByHospCodeAndDoctorCode(hospCode, doctorCode);
        return baseDoctorHospitalDao.findByOrgCodeAndDoctorCode(hospCode, doctorCode);
    }
    /**
@ -54,7 +54,7 @@ public class BaseDoctorHospitalService extends BaseJpaService<BaseDoctorHospital
        if (StringUtils.isEmpty(doctorCode)) {
            return result;
        }
        return baseDoctorHospitalDao.findIdListByHospCodeAndDoctorCode(doctorCode);
        return baseDoctorHospitalDao.findIdListByOrgCodeAndDoctorCode(doctorCode);
    }
    /**

+ 15 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/service/doctor/BaseDoctorRoleService.java

@ -7,8 +7,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashSet;
import java.util.Set;
import java.util.*;
/**
 * 医生角色关联信息服务service
@ -39,4 +38,18 @@ public class BaseDoctorRoleService extends BaseJpaService<BaseDoctorRoleDO, Base
        }
        return baseDoctorRoleDao.findIdListByDoctorCode(doctorCode);
    }
    /**
     * 根据医生标识获取医生相关联的角色Id列表
     *
     * @param doctorCode
     * @return
     */
    public List<BaseDoctorRoleDO> queryDoctorRoleList(String doctorCode,String del) {
        List<BaseDoctorRoleDO> result = new ArrayList<>();
        if (StringUtils.isEmpty(doctorCode)) {
            return result;
        }
        return baseDoctorRoleDao.findByDoctorCodeAndDel(doctorCode,del);
    }
}

+ 175 - 82
svr/svr-base/src/main/java/com/yihu/jw/base/service/doctor/BaseDoctorService.java

@ -5,6 +5,8 @@ import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SimplePropertyPreFilter;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.base.dao.doctor.BaseDoctorDao;
import com.yihu.jw.base.service.dict.DictDoctorDutyService;
import com.yihu.jw.base.service.dict.DictHospitalDeptService;
import com.yihu.jw.base.service.org.OrgTree;
import com.yihu.jw.base.service.org.OrgTreeService;
import com.yihu.jw.base.service.org.tree.SimpleTree;
@ -12,8 +14,11 @@ import com.yihu.jw.base.service.org.tree.SimpleTreeNode;
import com.yihu.jw.base.service.org.tree.TreeNode;
import com.yihu.jw.base.util.ConstantUtils;
import com.yihu.jw.base.util.JavaBeanUtils;
import com.yihu.jw.entity.base.dict.DictDoctorDutyDO;
import com.yihu.jw.entity.base.dict.DictHospitalDeptDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorHospitalDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorRoleDO;
import com.yihu.jw.entity.base.org.BaseOrgDO;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
@ -24,8 +29,8 @@ import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.io.IOException;
import java.text.ParseException;
import java.util.*;
import java.util.regex.Pattern;
/**
 * 
@ -57,37 +62,52 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
    @Autowired
    private ObjectMapper objectMapper;
    @Autowired
    private OrgTreeService orgTreeService;
    @Autowired
    private DictDoctorDutyService dictDoctorDutyService;
    @Autowired
    private DictHospitalDeptService dictHospitalDeptService;
    /**
     * 获取医生信息
     * @param orgId 医生所属机构id
     * @param doctorId 医生id
     * @return
     */
    public Map<String,Object> getOneDoctorInfo(String orgId, String doctorId) throws Exception{
        Map<String,Object> resultMap = new HashMap<>();
        if(StringUtils.isEmpty(orgId) || StringUtils.isEmpty(doctorId)){
            return resultMap;
    public JSONObject getOneDoctorInfo(String doctorId) throws Exception{
        JSONObject result = new JSONObject();
        if(StringUtils.isEmpty(doctorId)){
            result.put("msg","parameter doctorId is null ");
            result.put("response",ConstantUtils.FAIL);
            return result;
        }
        //医生基本信息
        List<BaseDoctorDO> doctors = this.findByField("id",doctorId);
        if(CollectionUtils.isEmpty(doctors)){
            return resultMap;
            result.put("msg","doctor not exist for id:" + doctorId);
            result.put("response",ConstantUtils.FAIL);
            return result;
        }
        resultMap = JavaBeanUtils.getInstance().bean2Map(doctors.get(0));
        //医生执业信息
        String[] paramNames = {"hospCode","doctorCode"};
        Object[] paramValue = {orgId,doctorId};
        List<BaseDoctorHospitalDO> baseDoctorHospitalDOS = baseDoctorHospitalService.findByFields(paramNames,paramValue);
        if(CollectionUtils.isEmpty(baseDoctorHospitalDOS)){
            return resultMap;
        //医生归属业务模块角色信息
        String[] paramNames = {"doctorCode","del"};
        Object[] paramValue = {doctorId,"1"};
        List<BaseDoctorRoleDO> roleList = baseDoctorRoleService.findByFields(paramNames,paramValue);
        if(CollectionUtils.isEmpty(roleList)){
            result.put("msg","doctor role not exist for id:" + doctorId);
            result.put("response",ConstantUtils.FAIL);
            return result;
        }
        Map<String,Object> doctorHospMap = JavaBeanUtils.getInstance().bean2Map(baseDoctorHospitalDOS.get(0));
        resultMap.putAll(doctorHospMap);
        return resultMap;
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("doctor",doctors.get(0));
        jsonObject.put("role",roleList);
        result.put("response",ConstantUtils.SUCCESS);
        result.put("msg",jsonObject);
        return result;
    }
    /**
@ -111,6 +131,7 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
                "  tb.sex as sex,  " +
                "  tb.mobile as mobile,  " +
                "  GROUP_CONCAT(tb.org SEPARATOR ',') as orgInfo,  " +
                "  tb.job_title_name as jobTitleName,  " +
                "  tb.status as status " +
                "from  " +
                "  (  " +
@ -120,7 +141,8 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
                "     doc.idcard,  " +
                "     case doc.sex when 1 then '男' when 2 then '女' else '未知' end as sex,  " +
                "     doc.mobile,  " +
                "     concat(hos.hosp_name,'/',dept.name,'/',hos.doctor_duty_name,'/',hos.job_title_name) as org,  " +
                "     concat(hos.org_name,'/',dept.name,'/',hos.doctor_duty_name) as org,  " +
                "     doc.job_title_name,  " +
                "     case doc.del when 0 then '无效' when 1 then '有效' end as status,  " +
                "      doc.create_time  " +
                "   from  " +
@ -130,11 +152,13 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
                "  where  " +
                "    doc.id = hos.doctor_code  " +
                "    and  " +
                "    hos.org_code = dept.org_code " +
                "    and " +
                "    hos.dept_code = dept.code  " +
                "    and  " +
                "    ((doc.idcard like '{idcard}' or ''= '{idcard}'  ) and (hos.hosp_code = '{orgCode}' or ''= '{orgCode}') and (doc.del = '{docStatus}' or ''= '{docStatus}'))  " +
                "      or  " +
                "    ((doc.name like '{name}'  or ''= '{name}' )  and (hos.hosp_code = '{orgCode}' or ''= '{orgCode}') and (doc.del = '{docStatus}' or ''= '{docStatus}'))  " +
                "    ((doc.idcard like '{idcard}' or ''= '{idcard}'  ) and (hos.org_code = '{orgCode}' or ''= '{orgCode}') and (doc.del = '{docStatus}' or ''= '{docStatus}'))  " +
                "      and  " +
                "    ((doc.name like '{name}'  or ''= '{name}' )  and (hos.org_code = '{orgCode}' or ''= '{orgCode}') and (doc.del = '{docStatus}' or ''= '{docStatus}'))  " +
                "  ) tb  " +
                "GROUP BY tb.id order by tb.create_time desc limit {start},{end} ";
        String finalSql = sql
@ -154,11 +178,13 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
                "  where " +
                "    doc.id = hos.doctor_code " +
                "    and " +
                "    hos.org_code = dept.org_code " +
                "    and " +
                "    hos.dept_code = dept.code " +
                "    and " +
                "    ((doc.idcard like '{idcard}' or ''= '{idcard}' ) and (hos.hosp_code = '{orgCode}' or ''= '{orgCode}') and (doc.del = '{docStatus}' or ''= '{docStatus}')) " +
                "      or " +
                "    ((doc.name like '{name}' or ''= '{name}')  and (hos.hosp_code = '{orgCode}' or ''= '{orgCode}') and (doc.del = '{docStatus}' or ''= '{docStatus}')) ";
                "    ((doc.idcard like '{idcard}' or ''= '{idcard}' ) and (hos.org_code = '{orgCode}' or ''= '{orgCode}') and (doc.del = '{docStatus}' or ''= '{docStatus}')) " +
                "      and " +
                "    ((doc.name like '{name}' or ''= '{name}')  and (hos.org_code = '{orgCode}' or ''= '{orgCode}') and (doc.del = '{docStatus}' or ''= '{docStatus}')) ";
        String finalCountSql = countSql
                .replace("{idcard}",nameOrIdcardValue)
                .replace("{name}",nameOrIdcardValue)
@ -212,6 +238,7 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
            for(Object object : role){
                baseDoctorRoleDO = objectMapper.readValue(object.toString(),BaseDoctorRoleDO.class);
                baseDoctorRoleDO.setDoctorCode(baseDoctorDO.getId());
                baseDoctorDO.setDel("1");
                baseDoctorRoleDOList.add(baseDoctorRoleDO);
            }
        } catch (IOException e) {
@ -258,8 +285,8 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
        JSONObject doctor = jsonObject.getJSONObject("doctor");
        JSONArray role = jsonObject.getJSONArray("role");
        JSONArray hospital = jsonObject.getJSONArray("hospital");
        if(null == doctor || CollectionUtils.isEmpty(role) || CollectionUtils.isEmpty(hospital)){
            result.put("msg","parameter doctor or hospital of jsonData is null");
        if(null == doctor || CollectionUtils.isEmpty(role)){
            result.put("msg","parameter role of jsonData is null");
            result.put("response", ConstantUtils.FAIL);
            return result.toJSONString();
        }
@ -298,23 +325,26 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
        }
        baseDoctorHospitalService.delete(roleIdList.toArray());
        // 修改医生任职机构及职业信息
        BaseDoctorHospitalDO baseDoctorHospitalDO = null;
        Set<Object> hospitalIdList = baseDoctorHospitalService.findDocHospIdList(baseDoctorDO.getId());
        try {
            for(Object object : hospital){
                baseDoctorHospitalDO = objectMapper.readValue(object.toString(),BaseDoctorHospitalDO.class);
                if(hospitalIdList.contains(baseDoctorHospitalDO.getId())){
                    hospitalIdList.remove(baseDoctorHospitalDO.getId());
                }
                baseDoctorHospitalDO.setDoctorCode(baseDoctorDO.getId());
                baseDoctorHospitalService.save(baseDoctorHospitalDO);
            }
        } catch (IOException e) {
            result.put("msg","convert hospital jsonObject to baseDoctorHospitalDO failed," + e.getCause());
            result.put("response",ConstantUtils.FAIL);
        }
        baseDoctorHospitalService.delete(hospitalIdList.toArray());
        // 修改医生任职机构及职业信息,前端不修改就不做任何操作
         if(!CollectionUtils.isEmpty(hospital)){
             BaseDoctorHospitalDO baseDoctorHospitalDO = null;
             Set<Object> hospitalIdList = baseDoctorHospitalService.findDocHospIdList(baseDoctorDO.getId());
             try {
                 for(Object object : hospital){
                     baseDoctorHospitalDO = objectMapper.readValue(object.toString(),BaseDoctorHospitalDO.class);
                     if(hospitalIdList.contains(baseDoctorHospitalDO.getId())){
                         hospitalIdList.remove(baseDoctorHospitalDO.getId());
                     }
                     baseDoctorHospitalDO.setDoctorCode(baseDoctorDO.getId());
                     baseDoctorHospitalService.save(baseDoctorHospitalDO);
                 }
             } catch (IOException e) {
                 result.put("msg","convert hospital jsonObject to baseDoctorHospitalDO failed," + e.getCause());
                 result.put("response",ConstantUtils.FAIL);
             }
             baseDoctorHospitalService.delete(hospitalIdList.toArray());
         }
        result.put("response",ConstantUtils.SUCCESS);
        result.put("msg",baseDoctorDO);
        return result.toJSONString();
@ -346,30 +376,79 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
    }
    /**
     * 获取医生已选中的机构/职务树形结构
     * 获取医生已选中的区县/机构列表,当有机构是被选中时,要标有checked=true的状态前端加载生成树形机构,
     * @param doctorCode
     * @return
     */
    public JSONObject getOrgListByTownAndDoctorCode(String doctorCode,String townCode) throws Exception {
        JSONObject result = new JSONObject();
        if(StringUtils.isEmpty(townCode)){
            result.put("msg","townCode is not allowed to be null");
            result.put("response", ConstantUtils.FAIL);
            return result;
        }
        List<Map<String, Object>> list = new ArrayList<>();
        list  = orgTreeService.findOrgListByParentCode(townCode);
        if(StringUtils.isEmpty(doctorCode)){
            result.put("response", ConstantUtils.SUCCESS);
            result.put("msg",list);
            return result;
        }
        Map<String,Map<String, Object>> orgCodeMap = new HashMap<>();
        list.forEach( one-> orgCodeMap.put(String.valueOf(one.get("code")),one));
        List<BaseDoctorHospitalDO> selectedList = baseDoctorHospitalService.getOrgAndDutyListByDoctorCode(doctorCode);
        for(BaseDoctorHospitalDO one : selectedList){
            if(orgCodeMap.containsKey(one.getOrgCode())){
                orgCodeMap.get(one.getOrgCode()).put("checked",true);
            }
        }
        result.put("response", ConstantUtils.SUCCESS);
        result.put("msg",JavaBeanUtils.getInstance().mapListJson(orgCodeMap.values()));
        return result;
    }
    /**
     * 获取医生已选中的机构/职务树形结构,当有机构是被选中时,要标有checked=true的状态
     * @param doctorCode
     * @return
     */
    public String getDoctorDutyTree(String doctorCode){
    public JSONObject getDoctorDutyTree(String doctorCode) throws Exception {
        JSONObject result = new JSONObject();
        if(StringUtils.isEmpty(doctorCode)){
            return "";
            result.put("msg","doctorCode is not allowed to be null");
            result.put("response", ConstantUtils.FAIL);
            return result;
        }
        List<BaseDoctorHospitalDO> list = baseDoctorHospitalService.getOrgAndDutyListByDoctorCode(doctorCode);
        List<DictDoctorDutyDO> dutyDOList = dictDoctorDutyService.search(null);
        List<BaseDoctorHospitalDO> selectedDutylist = baseDoctorHospitalService.getOrgAndDutyListByDoctorCode(doctorCode);
        Set<Object> selectedDutySet = new HashSet<>();
        selectedDutylist.forEach( one -> selectedDutySet.add(one.getDoctorDutyCode()) );
        List<OrgTree> orgTreeList = new ArrayList<>();
        for(BaseDoctorHospitalDO one : list){
        for(BaseDoctorHospitalDO one : selectedDutylist){
            OrgTree orgTreeParent = new OrgTree();
            orgTreeParent.setParentCode("");
            orgTreeParent.setCode(one.getHospCode());
            orgTreeParent.setName(one.getHospName());
            orgTreeParent.setCode(one.getOrgCode());
            orgTreeParent.setName(one.getOrgName());
            orgTreeList.add(orgTreeParent);
            OrgTree orgTreeChild = new OrgTree();
            orgTreeChild.setParentCode(one.getHospCode());
            orgTreeChild.setCode(one.getDoctorDutyCode());
            orgTreeChild.setName(one.getDoctorDutyName());
            orgTreeList.add(orgTreeChild);
            for(DictDoctorDutyDO dictDoctorDutyDO :dutyDOList){
                OrgTree orgTreeChild = new OrgTree();
                orgTreeChild.setParentCode(one.getOrgCode());
                orgTreeChild.setCode(dictDoctorDutyDO.getCode());
                orgTreeChild.setName(dictDoctorDutyDO.getName());
                if(selectedDutySet.contains(dictDoctorDutyDO.getCode())){
                    orgTreeParent.setChecked(true);
                    orgTreeChild.setChecked(true);
                }
                orgTreeList.add(orgTreeChild);
            }
        }
        return getOrgTree(orgTreeList);
        result.put("response", ConstantUtils.SUCCESS);
        result.put("msg", objectMapper.readValue(makeTree(orgTreeList),JSONArray.class));
        return result;
    }
    /**
@ -377,50 +456,65 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
     * @param doctorCode
     * @return
     */
    public String getDoctorDeptTree(String doctorCode){
    public JSONObject getDoctorDeptTree(String doctorCode) throws Exception {
        JSONObject result = new JSONObject();
        if(StringUtils.isEmpty(doctorCode)){
            return "";
            result.put("msg","doctorCode is not allowed to be null");
            result.put("response", ConstantUtils.FAIL);
            return result;
        }
        String sql = "select" +
        String deptSql = "select" +
                "  hos.doctor_code ," +
                "  hos.hosp_code as parentCode," +
                "  org.name as parentName," +
                "  hos.dept_code as childCode," +
                "  dept.name as childName" +
                "  hos.org_code as orgCode," +
                "  org.name as orgName," +
                "  dept.code as deptCode," +
                "  dept.name as deptName" +
                " from" +
                "  base_doctor_hospital hos," +
                "  base_org org," +
                "  dict_hospital_dept dept" +
                " where" +
                "  hos.hosp_code = org.code" +
                "  and" +
                "  hos.hosp_code = dept.org_code" +
                "  hos.org_code = org.code" +
                "  and" +
                "  hos.dept_code = dept.code" +
                "  and doctor_code = '{doctorCode}'";
        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql.replace("{doctorCode}",doctorCode));
                "  hos.org_code = dept.org_code";
        String doctorSelectedDeptSql = deptSql + " and  hos.dept_code = dept.code and hos.doctor_code = '{doctorCode}'";
        List<Map<String,Object>> selectedDeptlist = jdbcTemplate.queryForList(doctorSelectedDeptSql.replace("{doctorCode}",doctorCode));
        List<Map<String,Object>> deptList = jdbcTemplate.queryForList(deptSql);
        Set<String> selectedDeptCodeSet = new HashSet<>();
        selectedDeptlist.forEach( one -> selectedDeptCodeSet.add(String.valueOf(one.get("orgCode")) + String.valueOf(one.get("deptCode"))));
        List<OrgTree> orgTreeList = new ArrayList<>();
        for(Map<String,Object> one : list){
        for(Map<String,Object> one : selectedDeptlist){
            OrgTree orgTreeParent = new OrgTree();
            orgTreeParent.setParentCode("");
            orgTreeParent.setCode(String.valueOf(one.get("parentCode")));
            orgTreeParent.setName(String.valueOf(one.get("parentName")));
            orgTreeParent.setCode(String.valueOf(one.get("orgCode")));
            orgTreeParent.setName(String.valueOf(one.get("orgName")));
            orgTreeList.add(orgTreeParent);
            OrgTree orgTreeChild = new OrgTree();
            orgTreeChild.setParentCode(String.valueOf(one.get("parentCode")));
            orgTreeChild.setCode(String.valueOf(one.get("childCode")));
            orgTreeChild.setName(String.valueOf(one.get("childName")));
            orgTreeList.add(orgTreeChild);
            for(Map<String,Object> dept :deptList){
                OrgTree orgTreeChild = new OrgTree();
                orgTreeChild.setParentCode(String.valueOf(dept.get("orgCode")));
                orgTreeChild.setCode(String.valueOf(dept.get("deptCode")));
                orgTreeChild.setName(String.valueOf(dept.get("deptName")));
                orgTreeList.add(orgTreeChild);
                if(selectedDeptCodeSet.contains(String.valueOf(dept.get("orgCode")) + dept.get("deptCode"))){
                    orgTreeParent.setChecked(true);
                    orgTreeChild.setChecked(true);
                }
            }
        }
        return getOrgTree(orgTreeList);
        result.put("response", ConstantUtils.SUCCESS);
        result.put("msg",objectMapper.readValue(makeTree(orgTreeList),JSONArray.class));
        return result;
    }
    /**
     * 构建树形结构
     * @return
     */
    public String getOrgTree(List<OrgTree> orgTreeList ){
    public String makeTree(List<OrgTree> orgTreeList ){
        List<TreeNode> treeNodes = new ArrayList<>();
        treeNodes.addAll(orgTreeList);
        SimpleTree tree = new SimpleTree(treeNodes);
@ -428,7 +522,6 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
        SimplePropertyPreFilter filter = new SimplePropertyPreFilter();
        filter.getExcludes().add("parent");
        filter.getExcludes().add("allChildren");
        filter.getExcludes().add("parentNodeId");
        filter.getExcludes().add("orderNum");
        filter.getExcludes().add("level");
        return JSONObject.toJSONString(treeNode, filter);

+ 50 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/service/module/InterfaceService.java

@ -44,16 +44,28 @@ public class InterfaceService extends BaseJpaService<InterfaceDO, InterfaceDao>
        List<InterfaceParamDO> paramDOList = interfaceParamDao.findByInterfaceId(id);
        List<InterfaceParamDO> entryParams = paramDOList.stream()
                .filter(interfaceParamDO -> InterfaceParamDO.Type.entry.getValue().equals(interfaceParamDO.getType()))
                .filter(interfaceParamDO -> (InterfaceParamDO.Type.entry.getValue().equals(interfaceParamDO.getType()))
                &&InterfaceParamDO.Common.no.getValue().equals(interfaceParamDO.getCommon()))
                .collect(Collectors.toList());
        List<InterfaceParamDO> commonEntryParams = paramDOList.stream()
                .filter(interfaceParamDO -> (InterfaceParamDO.Type.entry.getValue().equals(interfaceParamDO.getType()))
                        &&InterfaceParamDO.Common.yes.getValue().equals(interfaceParamDO.getCommon()))
                .collect(Collectors.toList());
        List<InterfaceParamDO> outParams = paramDOList.stream()
                .filter(interfaceParamDO -> InterfaceParamDO.Type.out.getValue().equals(interfaceParamDO.getType()))
                .filter(interfaceParamDO -> (InterfaceParamDO.Type.out.getValue().equals(interfaceParamDO.getType()))
                        &&InterfaceParamDO.Common.no.getValue().equals(interfaceParamDO.getCommon()))
                .collect(Collectors.toList());
        List<InterfaceParamDO> commonOutParams = paramDOList.stream()
                .filter(interfaceParamDO -> (InterfaceParamDO.Type.out.getValue().equals(interfaceParamDO.getType()))
                        &&InterfaceParamDO.Common.yes.getValue().equals(interfaceParamDO.getCommon()))
                .collect(Collectors.toList());
        List<InterfaceErrorCodeDO> errorCodeDOList = interfaceErrorCodeDao.findByInterfaceId(id);
        interfaceDO.setErrorCodes(errorCodeDOList);
        interfaceDO.setEntryParams(entryParams);
        interfaceDO.setOutParams(outParams);
        interfaceDO.setCommonEntryParams(commonEntryParams);
        interfaceDO.setCommonOutParams(commonOutParams);
        return interfaceDO;
    }
@ -81,19 +93,42 @@ public class InterfaceService extends BaseJpaService<InterfaceDO, InterfaceDao>
        List<InterfaceParamDO> entryParams = interfaceDO.getEntryParams();
        List<InterfaceParamDO> outParams = interfaceDO.getOutParams();
        List<InterfaceParamDO> commonEntryParams = interfaceDO.getCommonEntryParams();
        List<InterfaceParamDO> commonOutParams = interfaceDO.getCommonOutParams();
        List<InterfaceErrorCodeDO> errorCodes = interfaceDO.getErrorCodes();
        interfaceDao.save(interfaceDO);
        entryParams.forEach(interfaceParamDO -> {
            interfaceParamDO.setInterfaceId(interfaceDO.getId());
            interfaceParamDO.setCommon(0);
            interfaceParamDO.setDel(1);
            interfaceParamDO.setType(InterfaceParamDO.Type.entry.getValue());
        });
        outParams.forEach(interfaceParamDO -> {
            interfaceParamDO.setInterfaceId(interfaceDO.getId());
            interfaceParamDO.setCommon(0);
            interfaceParamDO.setDel(1);
            interfaceParamDO.setType(InterfaceParamDO.Type.out.getValue());
        });
        commonEntryParams.forEach(interfaceParamDO -> {
            interfaceParamDO.setInterfaceId(interfaceDO.getId());
            interfaceParamDO.setCommon(1);
            interfaceParamDO.setDel(1);
            interfaceParamDO.setType(InterfaceParamDO.Type.entry.getValue());
        });
        commonOutParams.forEach(interfaceParamDO -> {
            interfaceParamDO.setInterfaceId(interfaceDO.getId());
            interfaceParamDO.setCommon(1);
            interfaceParamDO.setDel(1);
            interfaceParamDO.setType(InterfaceParamDO.Type.out.getValue());
        });
        errorCodes.forEach(interfaceErrorCodeDO -> {
            interfaceErrorCodeDO.setInterfaceId(interfaceDO.getId());
            interfaceErrorCodeDO.setDel(1);
        });
        interfaceParamDao.save(entryParams);
        interfaceParamDao.save(outParams);
        interfaceParamDao.save(commonEntryParams);
        interfaceParamDao.save(commonOutParams);
        interfaceErrorCodeDao.save(errorCodes);
        //为租户新增接口
@ -117,6 +152,8 @@ public class InterfaceService extends BaseJpaService<InterfaceDO, InterfaceDao>
                List<SaasInterfaceParamDO> saasEntryParams = new ArrayList<>(16);
                List<SaasInterfaceParamDO> saasOutParams = new ArrayList<>(16);
                List<SaasInterfaceParamDO> saasCommonEntryParams = new ArrayList<>(16);
                List<SaasInterfaceParamDO> saasCommonOutParams = new ArrayList<>(16);
                List<SaasInterfaceErrorCodeDO> saasErrorCodes = new ArrayList<>(16);
                saasInterfaceDao.save(saasInterfaceDO);
                entryParams.forEach(interfaceParamDO -> {
@ -127,6 +164,14 @@ public class InterfaceService extends BaseJpaService<InterfaceDO, InterfaceDao>
                    SaasInterfaceParamDO saasInterfaceParamDO = addSaasInterfaceParamDO(saasInterfaceDO,interfaceParamDO);
                    saasOutParams.add(saasInterfaceParamDO);
                });
                commonEntryParams.forEach(interfaceParamDO -> {
                    SaasInterfaceParamDO saasInterfaceParamDO = addSaasInterfaceParamDO(saasInterfaceDO,interfaceParamDO);
                    saasCommonEntryParams.add(saasInterfaceParamDO);
                });
                commonOutParams.forEach(interfaceParamDO -> {
                    SaasInterfaceParamDO saasInterfaceParamDO = addSaasInterfaceParamDO(saasInterfaceDO,interfaceParamDO);
                    saasCommonOutParams.add(saasInterfaceParamDO);
                });
                errorCodes.forEach(interfaceErrorCodeDO -> {
                    SaasInterfaceErrorCodeDO saasInterfaceErrorCodeDO = new SaasInterfaceErrorCodeDO();
                    saasInterfaceErrorCodeDO.setSort(interfaceErrorCodeDO.getSort());
@ -139,6 +184,8 @@ public class InterfaceService extends BaseJpaService<InterfaceDO, InterfaceDao>
                    saasErrorCodes.add(saasInterfaceErrorCodeDO);
                });
                saasInterfaceParamDao.save(saasEntryParams);
                saasInterfaceParamDao.save(saasCommonEntryParams);
                saasInterfaceParamDao.save(saasCommonOutParams);
                saasInterfaceParamDao.save(saasOutParams);
                saasInterfaceErrorCodeDao.save(saasErrorCodes);
            });
@ -158,6 +205,7 @@ public class InterfaceService extends BaseJpaService<InterfaceDO, InterfaceDao>
        saasInterfaceParamDO.setSaasId(saasInterfaceDO.getSaasId());
        saasInterfaceParamDO.setDel(interfaceParamDO.getDel());
        saasInterfaceParamDO.setName(interfaceParamDO.getName());
        saasInterfaceParamDO.setCommon(interfaceParamDO.getCommon());
        saasInterfaceParamDO.setDataType(interfaceParamDO.getDataType());
        saasInterfaceParamDO.setDescription(interfaceParamDO.getDescription());
        saasInterfaceParamDO.setExample(interfaceParamDO.getExample());

+ 42 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/service/module/SaasInterfaceService.java

@ -41,19 +41,47 @@ public class SaasInterfaceService extends BaseJpaService<SaasInterfaceDO, SaasIn
        List<SaasInterfaceParamDO> entryParams = interfaceDO.getEntryParams();
        List<SaasInterfaceParamDO> outParams = interfaceDO.getOutParams();
        List<SaasInterfaceParamDO> commonEntryParams = interfaceDO.getCommonEntryParams();
        List<SaasInterfaceParamDO> commonOutParams = interfaceDO.getCommonOutParams();
        List<SaasInterfaceErrorCodeDO> errorCodes = interfaceDO.getErrorCodes();
        interfaceDao.save(interfaceDO);
        entryParams.forEach(interfaceParamDO -> {
            interfaceParamDO.setSaasInterfaceId(interfaceDO.getId());
            interfaceParamDO.setCommon(0);
            interfaceParamDO.setDel(1);
            interfaceParamDO.setSaasId(interfaceDO.getSaasId());
            interfaceParamDO.setType(InterfaceParamDO.Type.entry.getValue());
        });
        outParams.forEach(interfaceParamDO -> {
            interfaceParamDO.setSaasInterfaceId(interfaceDO.getId());
            interfaceParamDO.setSaasId(interfaceDO.getSaasId());
            interfaceParamDO.setCommon(0);
            interfaceParamDO.setDel(1);
            interfaceParamDO.setType(InterfaceParamDO.Type.out.getValue());
        });
        commonEntryParams.forEach(interfaceParamDO -> {
            interfaceParamDO.setSaasInterfaceId(interfaceDO.getId());
            interfaceParamDO.setSaasId(interfaceDO.getSaasId());
            interfaceParamDO.setCommon(1);
            interfaceParamDO.setDel(1);
            interfaceParamDO.setType(InterfaceParamDO.Type.entry.getValue());
        });
        commonOutParams.forEach(interfaceParamDO -> {
            interfaceParamDO.setSaasInterfaceId(interfaceDO.getId());
            interfaceParamDO.setSaasId(interfaceDO.getSaasId());
            interfaceParamDO.setCommon(1);
            interfaceParamDO.setDel(1);
            interfaceParamDO.setType(InterfaceParamDO.Type.out.getValue());
        });
        errorCodes.forEach(interfaceErrorCodeDO -> {
            interfaceErrorCodeDO.setSaasInterfaceId(interfaceDO.getId());
            interfaceErrorCodeDO.setSaasId(interfaceDO.getSaasId());
            interfaceErrorCodeDO.setDel(1);
        });
        interfaceParamDao.save(entryParams);
        interfaceParamDao.save(outParams);
        interfaceParamDao.save(commonOutParams);
        interfaceParamDao.save(commonEntryParams);
        interfaceErrorCodeDao.save(errorCodes);
        return interfaceDO;
@ -69,15 +97,27 @@ public class SaasInterfaceService extends BaseJpaService<SaasInterfaceDO, SaasIn
        List<SaasInterfaceParamDO> paramDOList = interfaceParamDao.findBySaasInterfaceId(id);
        List<SaasInterfaceParamDO> entryParams = paramDOList.stream()
                .filter(interfaceParamDO -> InterfaceParamDO.Type.entry.getValue().equals(interfaceParamDO.getType()))
                .filter(interfaceParamDO -> (InterfaceParamDO.Type.entry.getValue().equals(interfaceParamDO.getType()))
                        &&InterfaceParamDO.Common.no.getValue().equals(interfaceParamDO.getCommon()))
                .collect(Collectors.toList());
        List<SaasInterfaceParamDO> outParams = paramDOList.stream()
                .filter(interfaceParamDO -> InterfaceParamDO.Type.out.getValue().equals(interfaceParamDO.getType()))
                .filter(interfaceParamDO -> (InterfaceParamDO.Type.out.getValue().equals(interfaceParamDO.getType()))
                        &&InterfaceParamDO.Common.no.getValue().equals(interfaceParamDO.getCommon()))
                .collect(Collectors.toList());
        List<SaasInterfaceParamDO> commonEntryParams = paramDOList.stream()
                .filter(interfaceParamDO -> (InterfaceParamDO.Type.entry.getValue().equals(interfaceParamDO.getType()))
                        &&InterfaceParamDO.Common.yes.getValue().equals(interfaceParamDO.getCommon()))
                .collect(Collectors.toList());
        List<SaasInterfaceParamDO> commonOutParams = paramDOList.stream()
                .filter(interfaceParamDO -> (InterfaceParamDO.Type.out.getValue().equals(interfaceParamDO.getType()))
                        &&InterfaceParamDO.Common.yes.getValue().equals(interfaceParamDO.getCommon()))
                .collect(Collectors.toList());
        List<SaasInterfaceErrorCodeDO> errorCodeDOList = interfaceErrorCodeDao.findBySaasInterfaceId(id);
        interfaceDO.setErrorCodes(errorCodeDOList);
        interfaceDO.setEntryParams(entryParams);
        interfaceDO.setCommonEntryParams(commonEntryParams);
        interfaceDO.setCommonOutParams(commonOutParams);
        interfaceDO.setOutParams(outParams);
        return interfaceDO;
    }

+ 16 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/service/org/BaseOrgService.java

@ -12,11 +12,13 @@ import com.yihu.jw.base.service.user.UserRoleService;
import com.yihu.jw.base.service.user.UserService;
import com.yihu.jw.base.util.ConstantUtils;
import com.yihu.jw.base.util.JavaBeanUtils;
import com.yihu.jw.entity.base.org.BaseOrgSaasDO;
import com.yihu.jw.entity.base.org.BaseOrgUserDO;
import com.yihu.jw.entity.base.user.UserDO;
import com.yihu.jw.entity.base.user.UserRoleDO;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
@ -40,9 +42,15 @@ import java.util.*;
@Service
public class BaseOrgService extends BaseJpaService<BaseOrgDO, BaseOrgDao> {
    @Value("${configDefault.saasId}")
    private String defaultSaasId;
    @Autowired
    private BaseOrgDao baseOrgDao;
    @Autowired
    private BaseOrgSaasService baseOrgSaasService;
    @Autowired
    private OrgTreeService orgTreeService;
@ -146,6 +154,12 @@ public class BaseOrgService extends BaseJpaService<BaseOrgDO, BaseOrgDao> {
            baseOrgDO.setOrgAdmin(adminName);
            baseOrgDao.save(baseOrgDO);
            //新增机构与saas关联关系,初始saas设置为默认值,机构分配给租户在租户管理中操作
            BaseOrgSaasDO baseOrgSaasDO = new BaseOrgSaasDO();
            baseOrgSaasDO.setOrgCode(baseOrgDO.getCode());
            baseOrgSaasDO.setSaasid(defaultSaasId);
            baseOrgSaasService.save(baseOrgSaasDO);
            //新增机构与管理员关联关系
            BaseOrgUserDO baseOrgUserDO = new BaseOrgUserDO();
            baseOrgUserDO.setOrgCode(baseOrgDO.getCode());
@ -247,8 +261,8 @@ public class BaseOrgService extends BaseJpaService<BaseOrgDO, BaseOrgDao> {
    }
    public String getOrgAreaTree(String saasId){
        StringBuffer sql = new StringBuffer("SELECT t.* from base_org b,org_tree t ")
                .append("WHERE b.saasid='").append(saasId).append("' AND ")
        StringBuffer sql = new StringBuffer("SELECT t.* from base_org b,org_tree t,base_org_saas o ")
                .append("WHERE o.saasid='").append(saasId).append("' AND o.org_code = b.`code` AND ")
                .append("(b.`code`= t.`code` or b.city_code=t.`code` or b.province_code = t.`code` or b.town_code=t.`code`)");
        List<TreeNode> treeNodes = new ArrayList<>();

+ 16 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/org/OrgTree.java

@ -6,6 +6,7 @@ import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
@Entity
@Table(name = "org_tree")
@ -16,6 +17,8 @@ public class OrgTree extends IntegerIdentityEntity implements TreeNode {
    //当前树节点所在层级,例如省在第一级,用0表示
    private Integer level;
    private boolean checked;
    public enum Level{
        province(0),
        city(1),
@ -63,6 +66,11 @@ public class OrgTree extends IntegerIdentityEntity implements TreeNode {
        return null;
    }
    @Override
    public boolean extractChecked() {
        return this.checked;
    }
    @Column(name = "code", nullable = false)
    public String getCode() {
        return code;
@ -99,4 +107,12 @@ public class OrgTree extends IntegerIdentityEntity implements TreeNode {
        this.level = level;
    }
    @Transient
    public boolean isChecked() {
        return checked;
    }
    public void setChecked(boolean checked) {
        this.checked = checked;
    }
}

+ 1 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/service/org/tree/SimpleTree.java

@ -18,7 +18,7 @@ public class SimpleTree implements Tree{
        SimpleTreeNode treeNode = null;
        for(TreeNode item : list){
            treeNode = new SimpleTreeNode(item);
            treeNodesMap.put(treeNode.getNodeId(), treeNode);
            treeNodesMap.put(treeNode.getParentNodeId() + treeNode.getNodeId(), treeNode);
        }
        Iterator<SimpleTreeNode> iter = treeNodesMap.values().iterator();

+ 13 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/service/org/tree/SimpleTreeNode.java

@ -21,9 +21,12 @@ public class SimpleTreeNode {
    //节点所在的层级
    @JSONField(ordinal=5)
    private int level;
    //节点是否被选中
    @JSONField(ordinal=6)
    private boolean checked;
    private SimpleTreeNode parent;
    //当前节点的二子节点
    @JSONField(ordinal=6)
    @JSONField(ordinal=7)
    private List<SimpleTreeNode> children = new ArrayList<>();
    //当前节点的子孙节点
    private List<SimpleTreeNode> allChildren = new ArrayList<>();
@ -32,7 +35,7 @@ public class SimpleTreeNode {
        this.nodeId = obj.extractNodeId();
        this.nodeName = obj.extractNodeName();
        this.parentNodeId = obj.extractNodeParentId();
//        this.orderNum = obj.extractOrderNum();
        this.checked = obj.extractChecked();
    }
    public void addChild(SimpleTreeNode treeNode){
        this.children.add(treeNode);
@ -83,6 +86,14 @@ public class SimpleTreeNode {
        this.orderNum = orderNum;
    }
    public boolean isChecked() {
        return checked;
    }
    public void setChecked(boolean checked) {
        this.checked = checked;
    }
    public List<SimpleTreeNode> getAllChildren() {
        if(this.allChildren.isEmpty()){
            for(SimpleTreeNode treeNode : this.children){

+ 1 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/org/tree/TreeNode.java

@ -5,4 +5,5 @@ public interface TreeNode {
    String extractNodeName();
    String extractNodeParentId();
    Integer extractOrderNum();
    boolean extractChecked();
}

+ 22 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/role/BaseRoleMenuService.java

@ -0,0 +1,22 @@
package com.yihu.jw.base.service.role;
import com.yihu.jw.base.dao.role.BaseRoleMenuDao;
import com.yihu.jw.entity.base.role.BaseRoleMenuDO;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.stereotype.Service;
/**
 * 
 * 角色菜单表服务service
 * 
 * @version 
 * <pre>
 * Author	Version		Date		Changes
 * litaohong    1.0  2018年10月23日 Created
 *
 * </pre>
 * @since 1.
 */
@Service
public class BaseRoleMenuService extends BaseJpaService<BaseRoleMenuDO, BaseRoleMenuDao> {
}

+ 22 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/role/BaseRoleModuleService.java

@ -0,0 +1,22 @@
package com.yihu.jw.base.service.role;
import com.yihu.jw.base.dao.role.BaseRoleModuleDao;
import com.yihu.jw.entity.base.role.BaseRoleModuleDO;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.stereotype.Service;
/**
 * 
 * 业务模块角色服务service
 * 
 * @version 
 * <pre>
 * Author	Version		Date		Changes
 * litaohong    1.0  2018年10月23日 Created
 *
 * </pre>
 * @since 1.
 */
@Service
public class BaseRoleModuleService extends BaseJpaService<BaseRoleModuleDO, BaseRoleModuleDao> {
}

+ 13 - 39
svr/svr-base/src/main/java/com/yihu/jw/base/service/saas/SaasService.java

@ -4,6 +4,7 @@ import com.yihu.jw.base.dao.dict.*;
import com.yihu.jw.base.dao.module.ModuleDao;
import com.yihu.jw.base.dao.module.SaasModuleDao;
import com.yihu.jw.base.dao.org.BaseOrgDao;
import com.yihu.jw.base.dao.org.BaseOrgSaasDao;
import com.yihu.jw.base.dao.role.RoleDao;
import com.yihu.jw.base.dao.saas.SaasDao;
import com.yihu.jw.base.dao.saas.SaasThemeDao;
@ -17,14 +18,13 @@ import com.yihu.jw.entity.base.dict.*;
import com.yihu.jw.entity.base.module.ModuleDO;
import com.yihu.jw.entity.base.module.SaasModuleDO;
import com.yihu.jw.entity.base.org.BaseOrgDO;
import com.yihu.jw.entity.base.role.RoleDO;
import com.yihu.jw.entity.base.org.BaseOrgSaasDO;
import com.yihu.jw.entity.base.saas.BaseEmailTemplateConfigDO;
import com.yihu.jw.entity.base.saas.SaasDO;
import com.yihu.jw.entity.base.saas.SaasThemeDO;
import com.yihu.jw.entity.base.saas.SaasThemeExtendDO;
import com.yihu.jw.entity.base.system.SystemDictEntryDO;
import com.yihu.jw.entity.base.user.UserDO;
import com.yihu.jw.entity.base.user.UserRoleDO;
import com.yihu.mysql.query.BaseJpaService;
import com.yihu.utils.security.MD5;
import org.springframework.beans.factory.annotation.Autowired;
@ -84,6 +84,8 @@ public class SaasService extends BaseJpaService<SaasDO, SaasDao> {
    @Autowired
    private SaasThemeDao saasThemeDao;
    @Autowired
    private BaseOrgSaasDao baseOrgSaasDao;
    @Autowired
    private SaasThemeExtendDao saasThemeExtendDao;
    @Value("${configDefault.saasId}")
    private String defaultSaasId;
@ -111,39 +113,17 @@ public class SaasService extends BaseJpaService<SaasDO, SaasDao> {
        saas.setStatus(SaasDO.Status.auditPassed);
        saas = saasDao.save(saas);
        List<BaseOrgDO> orgDOList = saas.getOrgList();
        List<BaseOrgSaasDO> baseOrgSaasDOs = new ArrayList<>(orgDOList.size());
        if(orgDOList!=null&&orgDOList.size()>0){
            String saasId = saas.getId();
            orgDOList.forEach(org->{
                BaseOrgDO orgDO = baseOrgDao.findByCodeAndSaasId(org.getCode(),defaultSaasId);
                org.setSaasid(saasId);
                org.setName(orgDO.getName());
                org.setCreateTime(new Date());
                org.setAddress(orgDO.getAddress());
                org.setAlias(orgDO.getAlias());
                org.setBrief(orgDO.getBrief());
                org.setCityCode(orgDO.getCityCode());
                org.setCityName(orgDO.getCityName());
                org.setDel(orgDO.getDel());
                org.setIntro(orgDO.getIntro());
                org.setLatitude(orgDO.getLatitude());
                org.setLegalperson(orgDO.getLegalperson());
                org.setLongitude(orgDO.getLongitude());
                org.setName(orgDO.getName());
                org.setOrgAdmin(orgDO.getOrgAdmin());
                org.setOrgUrl(orgDO.getOrgUrl());
                org.setPhoto(orgDO.getPhoto());
                org.setProvinceCode(orgDO.getProvinceCode());
                org.setProvinceName(orgDO.getProvinceName());
                org.setQrcode(orgDO.getQrcode());
                org.setSpell(orgDO.getSpell());
                org.setStreetCode(orgDO.getStreetCode());
                org.setStreetName(orgDO.getStreetName());
                org.setTownCode(orgDO.getTownCode());
                org.setTownName(orgDO.getTownName());
                org.setType(orgDO.getType());
                BaseOrgSaasDO baseOrgSaasDO = new BaseOrgSaasDO();
                baseOrgSaasDO.setOrgCode(org.getCode());
                baseOrgSaasDO.setSaasid(saasId);
                baseOrgSaasDOs.add(baseOrgSaasDO);
            });
        }
        baseOrgDao.save(orgDOList);
        baseOrgSaasDao.save(baseOrgSaasDOs);
        //用户信息初始化
        UserDO userDO = new UserDO();
@ -370,10 +350,10 @@ public class SaasService extends BaseJpaService<SaasDO, SaasDao> {
     */
    @Transactional(rollbackFor = Exception.class)
    public SaasDO saasAudit(SaasDO saas, UserDO user) {
        //初始化角色
        RoleDO roleDO = roleDao.findByCode(roleCode);
        //判断该用户是否已经存在
       UserDO userDO= userDao.findByUsername(saas.getEmail());
        UserDO userDO= userDao.findByUsername(saas.getEmail());
        userDO.setRoleCode(roleCode);
        if (null == userDO) {
            //初始化租户管理员
            user.setEnabled(true);
@ -396,12 +376,6 @@ public class SaasService extends BaseJpaService<SaasDO, SaasDao> {
            user = userDao.save(userDO);
        }
        //初始化管理员角色
        UserRoleDO userRoleDO = new UserRoleDO();
        userRoleDO.setRoleId(roleDO.getId());
        userRoleDO.setUserId(user.getId());
        userRoleDao.save(userRoleDO);
        saas.setManager(user.getId());
        saas.setManagerName(user.getName());
        saas.setAppId(getCode());

+ 1 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/service/user/UserService.java

@ -85,7 +85,7 @@ public class UserService extends BaseJpaService<UserDO, UserDao> {
    }
    /**
     * 判断手机号是否存在
     * 判断用户名是否存在
     * @param username
     * @return
     */

+ 50 - 17
svr/svr-base/src/main/java/com/yihu/jw/base/service/wx/WechatService.java

@ -1,6 +1,7 @@
package com.yihu.jw.base.service.wx;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.base.dao.wx.*;
import com.yihu.jw.entity.base.wx.*;
@ -11,6 +12,7 @@ import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.rm.base.BaseRequestMapping;
import com.yihu.jw.util.wechat.WeiXinMessageReplyUtils;
import com.yihu.jw.util.wechat.WeiXinMessageUtils;
import io.swagger.util.Json;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
@ -609,7 +611,10 @@ public class WechatService {
    //===================微信统计==========================================
    public Envelop getUserSummaryTitle(String wechatId,String date){
    public StatisticsTitleVO getFansTitle(String wechatId,String date){
        StatisticsTitleVO statisticsTitleVO = new StatisticsTitleVO();
        //获取统计增量
        String url ="https://api.weixin.qq.com/datacube/getusersummary?access_token="+wxAccessTokenService.getWxAccessTokenById(wechatId).getAccessToken();
        String param = "{ \n" +
                "    \"begin_date\": \""+date+"\", \n" +
@ -618,34 +623,62 @@ public class WechatService {
        String result = com.yihu.jw.util.wechat.wxhttp.HttpUtil.sendPost(url, param);
        JSONObject rs = JSON.parseObject(result);
        JSONArray list = rs.getJSONArray("list");
        if(list!=null&&list.size()>0&&!list.isEmpty()){
            JSONObject info = (JSONObject)list.get(0);
            Integer new_user = info.getInteger("new_user");
            Integer cancel_user = info.getInteger("cancel_user");
            Integer add_user = new_user-cancel_user;
            statisticsTitleVO.setNew_user(new_user);
            statisticsTitleVO.setCancel_user(cancel_user);
            statisticsTitleVO.setAdd_user(add_user);
        }
        //获取统计总量
        String url2 ="https://api.weixin.qq.com/datacube/getusercumulate?access_token="+wxAccessTokenService.getWxAccessTokenById(wechatId).getAccessToken();
        String param2 = "{ \n" +
                "    \"begin_date\": \""+date+"\", \n" +
                "    \"end_date\": \""+date+"\"\n" +
                "}";
        return null;
        String result2 = com.yihu.jw.util.wechat.wxhttp.HttpUtil.sendPost(url2, param2);
        JSONObject rs2 = JSON.parseObject(result2);
        JSONArray list2 = rs2.getJSONArray("list");
        if(list2!=null&&list2.size()>0&&!list2.isEmpty()){
            JSONObject info = (JSONObject)list2.get(0);
            Integer cumulate_user = info.getInteger("cumulate_user");
            statisticsTitleVO.setCumulate_user(cumulate_user);
        }
        return statisticsTitleVO;
    }
    public Envelop getusersummary(String wechatId,String beginDate,String endDate){
    public JSONObject getusersummary(String wechatId,String beginDate,String endDate){
        String url ="https://api.weixin.qq.com/datacube/getusersummary?access_token="+wxAccessTokenService.getWxAccessTokenById(wechatId).getAccessToken();
        String param = "{ \n" +
                "    \"begin_date\": \""+beginDate+"\", \n" +
                "    \"end_date\": \""+endDate+"\"\n" +
                "}";
        String result = com.yihu.jw.util.wechat.wxhttp.HttpUtil.sendPost(url, param);
        JSONObject rs = JSON.parseObject(result);
        return Envelop.getSuccess(result);
        JSONObject paramJson = new JSONObject();
        paramJson.put("begin_date",beginDate);
        paramJson.put("end_date",endDate);
        String result = com.yihu.jw.util.wechat.wxhttp.HttpUtil.sendPost(url, paramJson.toJSONString());
        JSONObject rs = JSON.parseObject(result);
        return rs;
    }
    public Envelop getusercumulate(String wechatId,String beginDate,String endDate){
    public JSONObject getusercumulate(String wechatId,String beginDate,String endDate){
        String url ="https://api.weixin.qq.com/datacube/getusercumulate?access_token="+wxAccessTokenService.getWxAccessTokenById(wechatId).getAccessToken();
        String param = "{ \n" +
                "    \"begin_date\": \""+beginDate+"\", \n" +
                "    \"end_date\": \""+endDate+"\"\n" +
                "}";
        String result = com.yihu.jw.util.wechat.wxhttp.HttpUtil.sendPost(url, param);
        return Envelop.getSuccess(result);
        JSONObject paramJson = new JSONObject();
        paramJson.put("begin_date",beginDate);
        paramJson.put("end_date",endDate);
        String result = com.yihu.jw.util.wechat.wxhttp.HttpUtil.sendPost(url, paramJson.toJSONString());
        JSONObject rs = JSON.parseObject(result);
        return rs;
    }
    //===================微信统计end=======================================

+ 2 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/util/JavaBeanUtils.java

@ -246,12 +246,12 @@ public class JavaBeanUtils {
     * map转为json
     * @return
     */
    public JSONArray mapListJson(List<Map<String, Object>> mapList) throws Exception {
    public JSONArray mapListJson(Collection mapList) throws Exception {
        JSONArray jsonArray = new JSONArray();
        if (CollectionUtils.isEmpty(mapList)) {
            return jsonArray;
        }
        for(Map<String, Object> map : mapList){
        for(Object map : mapList){
            JSONObject jsonObject = JSONObject.parseObject(objectMapper.writeValueAsString(map));
            jsonArray.add(jsonObject);
        }