浏览代码

基础信息

Progr1mmer 6 年之前
父节点
当前提交
8cf4587f2e
共有 65 个文件被更改,包括 1113 次插入768 次删除
  1. 15 5
      common/common-entity/src/main/java/com/yihu/jw/entity/base/function/FunctionDO.java
  2. 11 6
      common/common-entity/src/main/java/com/yihu/jw/entity/base/module/ModuleDO.java
  3. 0 37
      common/common-entity/src/main/java/com/yihu/jw/entity/base/module/ModuleFunctionDO.java
  4. 23 23
      common/common-entity/src/main/java/com/yihu/jw/entity/base/role/RoleDO.java
  5. 24 10
      common/common-entity/src/main/java/com/yihu/jw/entity/base/role/RoleModuleFunctionDO.java
  6. 2 2
      common/common-entity/src/main/java/com/yihu/jw/entity/base/saas/SaasDO.java
  7. 0 36
      common/common-entity/src/main/java/com/yihu/jw/entity/base/saas/SaasDefaultModuleDO.java
  8. 47 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/saas/SaasDefaultModuleFunctionDO.java
  9. 0 37
      common/common-entity/src/main/java/com/yihu/jw/entity/base/saas/SaasModuleDO.java
  10. 0 144
      common/common-entity/src/main/java/com/yihu/jw/entity/base/sms/BaseSmsDO.java
  11. 124 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/sms/SmsDO.java
  12. 58 46
      common/common-entity/src/main/java/com/yihu/jw/entity/base/sms/SmsGatewayDO.java
  13. 27 12
      common/common-entity/src/main/java/com/yihu/jw/entity/base/sms/SmsTemplateDO.java
  14. 5 4
      common/common-entity/src/main/java/com/yihu/jw/entity/base/system/SystemDictDO.java
  15. 6 5
      common/common-entity/src/main/java/com/yihu/jw/entity/base/system/SystemDictEntryDO.java
  16. 1 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/user/UserDO.java
  17. 6 8
      common/common-entity/src/main/java/com/yihu/jw/entity/base/user/UserRoleDO.java
  18. 18 9
      common/common-request-mapping/src/main/java/com/yihu/jw/rm/base/BaseRequestMapping.java
  19. 3 3
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/base/FunctionVO.java
  20. 45 0
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/web/endpoint/EnvelopRestEndpoint.java
  21. 0 4
      common/common-util/pom.xml
  22. 42 42
      svr/svr-base/src/main/java/com/yihu/jw/base/config/SwaggerDocs.java
  23. 2 1
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/FunctionDao.java
  24. 2 1
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/ModuleDao.java
  25. 12 12
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/ModuleFunctionDao.java
  26. 2 1
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/RoleDao.java
  27. 2 1
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/RoleModuleFunctionDao.java
  28. 2 1
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/SaasDao.java
  29. 0 16
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/SaasDefaultModuleDao.java
  30. 16 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/SaasDefaultModuleFunctionDao.java
  31. 0 12
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/SaasModuleDao.java
  32. 13 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/SmsDao.java
  33. 12 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/SmsGatewayDao.java
  34. 13 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/SmsTemplateDao.java
  35. 2 1
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/SystemDictDao.java
  36. 2 1
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/SystemDictEntryDao.java
  37. 1 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/UserDao.java
  38. 6 6
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/function/FunctionEndpoint.java
  39. 1 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/module/ModuleEndpoint.java
  40. 94 94
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/module/ModuleFunctionEndpoint.java
  41. 1 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/role/RoleEndpoint.java
  42. 1 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/role/RoleModuleFunctionEndpoint.java
  43. 17 17
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/saas/SaasDefaultModuleEndpoint.java
  44. 2 7
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/saas/SaasEndpoint.java
  45. 93 94
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/saas/SaasModuleEndpoint.java
  46. 109 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/sms/SmsGatewayEndpoint.java
  47. 96 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/sms/SmsTemplateEndpoint.java
  48. 1 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/system/SystemDictEndpoint.java
  49. 1 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/system/SystemDictEntryEndpoint.java
  50. 1 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/user/UserEndpoint.java
  51. 1 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/FunctionService.java
  52. 20 20
      svr/svr-base/src/main/java/com/yihu/jw/base/service/ModuleFunctionService.java
  53. 1 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/ModuleService.java
  54. 1 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/RoleModuleFunctionService.java
  55. 1 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/RoleService.java
  56. 14 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/SaasDefaultModuleFunctionService.java
  57. 0 14
      svr/svr-base/src/main/java/com/yihu/jw/base/service/SaasDefaultModuleService.java
  58. 15 15
      svr/svr-base/src/main/java/com/yihu/jw/base/service/SaasModuleService.java
  59. 62 21
      svr/svr-base/src/main/java/com/yihu/jw/base/service/SaasService.java
  60. 15 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/SmsGatewayService.java
  61. 15 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/SmsTemplateService.java
  62. 1 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/SystemDictEntryService.java
  63. 1 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/SystemDictService.java
  64. 1 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/UserService.java
  65. 4 0
      svr/svr-base/src/main/resources/application.yml

+ 15 - 5
common/common-entity/src/main/java/com/yihu/jw/entity/base/function/FunctionDO.java

@ -1,7 +1,7 @@
package com.yihu.jw.entity.base.function;
package com.yihu.jw.entity.base.function;
import com.yihu.jw.entity.IntegerIdentityEntityWithOperator;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import javax.persistence.Column;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Entity;
@ -9,13 +9,15 @@ import javax.persistence.Table;
import javax.persistence.Transient;
import javax.persistence.Transient;
/**
/**
 * 功能 - Entity
 * WlyyFunction entity. @author MyEclipse Persistence Tools
 * Entity - 功能
 * Created by progr1mmer on 2018/8/14.
 */
 */
@Entity
@Entity
@Table(name = "base_function")
@Table(name = "base_function")
public class FunctionDO extends IntegerIdentityEntityWithOperator {
public class FunctionDO extends UuidIdentityEntityWithOperator {
    //关联 base_module ID
    private String moduleId;
    //功能名称
    //功能名称
    private String name;
    private String name;
    //网关url前缀
    //网关url前缀
@ -24,10 +26,18 @@ public class FunctionDO extends IntegerIdentityEntityWithOperator {
    private String url;
    private String url;
    //备注
    //备注
    private String remark;
    private String remark;
    //用于jstree显示
    //用于jstree显示
    private String text;
    private String text;
    @Column(name = "module_id", nullable = false, length = 50)
    public String getModuleId() {
        return this.moduleId;
    }
    public void setModuleId(String moduleId) {
        this.moduleId = moduleId;
    }
    @Column(name = "name", length = 200)
    @Column(name = "name", length = 200)
    public String getName() {
    public String getName() {
        return this.name;
        return this.name;

+ 11 - 6
common/common-entity/src/main/java/com/yihu/jw/entity/base/module/ModuleDO.java

@ -1,6 +1,6 @@
package com.yihu.jw.entity.base.module;// default package
package com.yihu.jw.entity.base.module;
import com.yihu.jw.entity.IntegerIdentityEntityWithOperator;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import javax.persistence.Column;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Entity;
@ -10,12 +10,16 @@ import java.util.ArrayList;
import java.util.List;
import java.util.List;
/**
/**
 * WlyyModule entity. @author MyEclipse Persistence Tools
 * Entity - 模块
 * Created by progr1mmer on 2018/8/14.
 */
 */
@Entity
@Entity
@Table(name = "base_module")
@Table(name = "base_module")
public class ModuleDO extends IntegerIdentityEntityWithOperator {
public class ModuleDO extends UuidIdentityEntityWithOperator {
	/**
	 * 0-禁用,1-可用,2-不可用
	 */
    public enum Status {
    public enum Status {
		disable,
		disable,
		available,
		available,
@ -26,12 +30,13 @@ public class ModuleDO extends IntegerIdentityEntityWithOperator {
	private String name;
	private String name;
	//父id
	//父id
	private String parentId;
	private String parentId;
	//0-禁用,1-可用,2-不可用
	//状态
	private Status status;
	private Status status;
	//备注
	//备注
	private String remark;
	private String remark;
	//closed-表示有子节点,open-表示没有子节点
	//closed-表示有子节点,open-表示没有子节点
	private String state ;
	private String state ;
	//子集
	private List<ModuleDO> children = new ArrayList<>();
	private List<ModuleDO> children = new ArrayList<>();
	// Constructors
	// Constructors
@ -45,7 +50,7 @@ public class ModuleDO extends IntegerIdentityEntityWithOperator {
        this.name = name;
        this.name = name;
    }
    }
    @Column(name = "parent_id", length = 50)
	@Column(name = "parent_id", length = 50)
	public String getParentId() {
	public String getParentId() {
		return parentId;
		return parentId;
	}
	}

+ 0 - 37
common/common-entity/src/main/java/com/yihu/jw/entity/base/module/ModuleFunctionDO.java

@ -1,37 +0,0 @@
package com.yihu.jw.entity.base.module;// default package
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.*;
/**
 * WlyyModuleFunction entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "base_module_function")
public class ModuleFunctionDO extends IntegerIdentityEntity {
	//关联 base_module   id
	private Integer moduleId;
	//关联 base_function   ic
	private Integer functionId;
	@Column(name = "module_id")
	public Integer getModuleId() {
		return this.moduleId;
	}
	public void setModuleId(Integer moduleId) {
		this.moduleId = moduleId;
	}
	@Column(name = "function_id")
	public Integer getFunctionId() {
		return this.functionId;
	}
	public void setFunctionId(Integer functionId) {
		this.functionId = functionId;
	}
}

+ 23 - 23
common/common-entity/src/main/java/com/yihu/jw/entity/base/role/RoleDO.java

@ -1,40 +1,31 @@
package com.yihu.jw.entity.base.role;
package com.yihu.jw.entity.base.role;
import com.yihu.jw.entity.IntegerIdentityEntityWithOperator;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import javax.persistence.Column;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Table;
/**
/**
 * BaseRole entity. @author MyEclipse Persistence Tools
 * Entity - 角色
 * Created by progr1mmer on 2018/8/14.
 */
 */
@Entity
@Entity
@Table(name = "base_role")
@Table(name = "base_role")
public class RoleDO extends IntegerIdentityEntityWithOperator {
	/**
	 * 角色类型
	 */
	public enum Type {
		//系统 - user对应的角色类型
		system,
		//医生
		doctor,
		//患者
		patient
	}
public class RoleDO extends UuidIdentityEntityWithOperator {
	//saas id
	//saas id
	private String saasId;
	private String saasId;
	//所属应用
	private String clientId;
	//角色名称
	//角色名称
	private String name;
	private String name;
	//角色编码
	//角色编码
	private String code;
	private String code;
	//备注
	//备注
	private String remark;
	private String remark;
	//角色类型
	private Type type;
	//是否系统管理员
	private Boolean isSystem;
	@Column(name = "saas_id", nullable = false, length = 50)
	@Column(name = "saas_id", nullable = false, length = 50)
	public String getSaasId() {
	public String getSaasId() {
@ -45,6 +36,15 @@ public class RoleDO extends IntegerIdentityEntityWithOperator {
		this.saasId = saasId;
		this.saasId = saasId;
	}
	}
	@Column(name = "client_id", nullable = false, length = 10)
	public String getClientId() {
		return clientId;
	}
	public void setClientId(String clientId) {
		this.clientId = clientId;
	}
	@Column(name = "name", length = 50)
	@Column(name = "name", length = 50)
	public String getName() {
	public String getName() {
		return this.name;
		return this.name;
@ -54,7 +54,7 @@ public class RoleDO extends IntegerIdentityEntityWithOperator {
		this.name = name;
		this.name = name;
	}
	}
	@Column(name = "code", length = 50)
	@Column(name = "code", length = 8)
	public String getCode() {
	public String getCode() {
		return code;
		return code;
	}
	}
@ -72,12 +72,12 @@ public class RoleDO extends IntegerIdentityEntityWithOperator {
		this.remark = remark;
		this.remark = remark;
	}
	}
	@Column(name = "type")
	public Type getType() {
		return type;
	@Column(name = "is_system")
	public Boolean getSystem() {
		return isSystem;
	}
	}
	public void setType(Type type) {
		this.type = type;
	public void setSystem(Boolean system) {
		isSystem = system;
	}
	}
}
}

+ 24 - 10
common/common-entity/src/main/java/com/yihu/jw/entity/base/role/RoleModuleFunctionDO.java

@ -1,47 +1,61 @@
package com.yihu.jw.entity.base.role;
package com.yihu.jw.entity.base.role;
import com.yihu.jw.entity.IntegerIdentityEntity;
import com.yihu.jw.entity.IntegerIdentityEntity;
import com.yihu.jw.entity.UuidIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Table;
/**
/**
 * Entity - 角色模块功能
 * Created by progr1mmer on 2018/8/14.
 * Created by progr1mmer on 2018/8/14.
 */
 */
@Entity
@Entity
@Table(name = "base_role_module_function")
@Table(name = "base_role_module_function")
public class RoleModuleFunctionDO extends IntegerIdentityEntity {
public class RoleModuleFunctionDO extends IntegerIdentityEntity {
    private Integer roleId; //角色ID
    private Integer moduleId; //模块ID
    private Integer functionId; //功能ID
    //角色ID
    private String roleId;
    //模块ID
    private String moduleId;
    //功能ID
    private String functionId;
    //是否启用
    private Boolean isEnabled;
    @Column(name = "role_id", nullable = false)
    @Column(name = "role_id", nullable = false)
    public Integer getRoleId() {
    public String getRoleId() {
        return roleId;
        return roleId;
    }
    }
    public void setRoleId(Integer roleId) {
    public void setRoleId(String roleId) {
        this.roleId = roleId;
        this.roleId = roleId;
    }
    }
    @Column(name = "module_id", nullable = false)
    @Column(name = "module_id", nullable = false)
    public Integer getModuleId() {
    public String getModuleId() {
        return moduleId;
        return moduleId;
    }
    }
    public void setModuleId(Integer moduleId) {
    public void setModuleId(String moduleId) {
        this.moduleId = moduleId;
        this.moduleId = moduleId;
    }
    }
    @Column(name = "function_id", nullable = false)
    @Column(name = "function_id", nullable = false)
    public Integer getFunctionId() {
    public String getFunctionId() {
        return functionId;
        return functionId;
    }
    }
    public void setFunctionId(Integer functionId) {
    public void setFunctionId(String functionId) {
        this.functionId = functionId;
        this.functionId = functionId;
    }
    }
    @Column(name = "is_enabled", nullable = false)
    public Boolean getEnabled() {
        return isEnabled;
    }
    public void setEnabled(Boolean enabled) {
        isEnabled = enabled;
    }
}
}

+ 2 - 2
common/common-entity/src/main/java/com/yihu/jw/entity/base/saas/SaasDO.java

@ -8,8 +8,8 @@ import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Table;
/**
/**
 * WlyySaas entity. @author MyEclipse Persistence Tools
 *
 * Entity - SAAS
 * Created by progr1mmer on 2018/8/14.
 */
 */
@Entity
@Entity
@Table(name = "base_saas")
@Table(name = "base_saas")

+ 0 - 36
common/common-entity/src/main/java/com/yihu/jw/entity/base/saas/SaasDefaultModuleDO.java

@ -1,36 +0,0 @@
package com.yihu.jw.entity.base.saas;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
 * Created by progr1mmer on 2018/8/14.
 */
@Entity
@Table(name = "base_saas_default_module")
public class SaasDefaultModuleDO extends IntegerIdentityEntity {
    private SaasDO.Type type;
    private Integer moduleId;
    @Column(name = "type", nullable = false)
    public SaasDO.Type getType() {
        return type;
    }
    public void setType(SaasDO.Type type) {
        this.type = type;
    }
    @Column(name = "module_id", nullable = false)
    public Integer getModuleId() {
        return moduleId;
    }
    public void setModuleId(Integer moduleId) {
        this.moduleId = moduleId;
    }
}

+ 47 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/saas/SaasDefaultModuleFunctionDO.java

@ -0,0 +1,47 @@
package com.yihu.jw.entity.base.saas;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
 * Entity - Saas初始化的时候分配给Saas管理员角色的模块功能
 * Created by progr1mmer on 2018/8/14.
 */
@Entity
@Table(name = "base_saas_default_module_function")
public class SaasDefaultModuleFunctionDO extends IntegerIdentityEntity {
    private SaasDO.Type type;
    private String moduleId;
    private String functionId;
    @Column(name = "type", nullable = false)
    public SaasDO.Type getType() {
        return type;
    }
    public void setType(SaasDO.Type type) {
        this.type = type;
    }
    @Column(name = "module_id", nullable = false, length = 50)
    public String getModuleId() {
        return moduleId;
    }
    public void setModuleId(String moduleId) {
        this.moduleId = moduleId;
    }
    @Column(name = "function_id", nullable = false, length = 50)
    public String getFunctionId() {
        return functionId;
    }
    public void setFunctionId(String functionId) {
        this.functionId = functionId;
    }
}

+ 0 - 37
common/common-entity/src/main/java/com/yihu/jw/entity/base/saas/SaasModuleDO.java

@ -1,37 +0,0 @@
package com.yihu.jw.entity.base.saas;// default package
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.*;
/**
 * WlyySaasModule entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "base_saas_module")
public class SaasModuleDO extends IntegerIdentityEntity {
	private String saasId; //关联WlyySaas code
	private Integer moduleId; //关联 WlyyModule code
	// Constructors
	@Column(name = "saas_id", length = 50)
	public String getSaasId() {
		return saasId;
	}
	public void setSaasId(String saasId) {
		this.saasId = saasId;
	}
	@Column(name = "module_id", nullable = false)
	public Integer getModuleId() {
		return this.moduleId;
	}
	public void setModuleId(Integer moduleId) {
		this.moduleId = moduleId;
	}
}

+ 0 - 144
common/common-entity/src/main/java/com/yihu/jw/entity/base/sms/BaseSmsDO.java

@ -1,144 +0,0 @@
package com.yihu.jw.entity.base.sms;// default package
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import javax.persistence.*;
import java.sql.Timestamp;
import java.util.Date;
/**
 * BaseSms entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "base_sms")
@Deprecated
public class BaseSmsDO extends UuidIdentityEntityWithOperator implements java.io.Serializable {
	// Fields
	private String saasId;	//saasid 关联base_saas code
	private String mobile;	//电话号码
	private String ip;	//发送短信的ip地址
	private Integer type;	//发送短信的类别
	private String captcha;	//验证码 1居民端注册,2居民端找回密码,3医生端找回密码,4居民登录,5医生登录
	private String content;	// 短信内容
	private Date deadline;	//过期时间
	private Integer status;	//短信状态 状态,0未发送,1已发送
//	private Date czrq;//操作日期
	// Constructors
	/** default constructor */
	public BaseSmsDO() {
	}
	/** minimal constructor */
	public BaseSmsDO(String mobile, String ip, Integer type, String captcha,
			String content, Timestamp deadline, Integer status, Timestamp czrq) {
		this.mobile = mobile;
		this.ip = ip;
		this.type = type;
		this.captcha = captcha;
		this.content = content;
		this.deadline = deadline;
		this.status = status;
	}
	/** full constructor */
	public BaseSmsDO(String saasId, String mobile, String ip, Integer type,
			String captcha, String content, Timestamp deadline, Integer status,
			Timestamp czrq) {
		this.saasId = saasId;
		this.mobile = mobile;
		this.ip = ip;
		this.type = type;
		this.captcha = captcha;
		this.content = content;
		this.deadline = deadline;
		this.status = status;
	}
	@Column(name = "saas_id", length = 64)
	public String getSaasId() {
		return this.saasId;
	}
	public void setSaasId(String saasId) {
		this.saasId = saasId;
	}
	@Column(name = "mobile", nullable = false, length = 20)
	public String getMobile() {
		return this.mobile;
	}
	public void setMobile(String mobile) {
		this.mobile = mobile;
	}
	@Column(name = "ip", nullable = false, length = 20)
	public String getIp() {
		return this.ip;
	}
	public void setIp(String ip) {
		this.ip = ip;
	}
	@Column(name = "type", nullable = false)
	public Integer getType() {
		return this.type;
	}
	public void setType(Integer type) {
		this.type = type;
	}
	@Column(name = "captcha", nullable = false, length = 10)
	public String getCaptcha() {
		return this.captcha;
	}
	public void setCaptcha(String captcha) {
		this.captcha = captcha;
	}
	@Column(name = "content", nullable = false, length = 500)
	public String getContent() {
		return this.content;
	}
	public void setContent(String content) {
		this.content = content;
	}
	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "deadline", nullable = false, length = 0)
	public Date getDeadline() {
		return this.deadline;
	}
	public void setDeadline(Date deadline) {
		this.deadline = deadline;
	}
	@Column(name = "status", nullable = false)
	public Integer getStatus() {
		return this.status;
	}
	public void setStatus(Integer status) {
		this.status = status;
	}
//	@Column(name = "czrq")
//	public Date getCzrq() {
//		return czrq;
//	}
//
//	public void setCzrq(Date czrq) {
//		this.czrq = czrq;
//	}
}

+ 124 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/sms/SmsDO.java

@ -0,0 +1,124 @@
package com.yihu.jw.entity.base.sms;
import com.yihu.jw.entity.UuidIdentityEntity;
import javax.persistence.*;
import java.util.Date;
/**
 * Entity - 短信记录
 * Created by progr1mmer on 2018/8/14.
 */
@Entity
@Table(name = "base_sms")
public class SmsDO extends UuidIdentityEntity {
	/**
	 * 0 - 未发送
	 * 1 - 已发送
	 */
	public enum Status {
		unsent,
		sent
	}
	//应用ID
	private String clientId;
	//使用的网关
	private String smsGatewayId;
	//请求的ip地址
	private String requestIp;
	//短信接收号码
	private String mobile;
	//短信内容
	private String content;
	//过期时间
	private Date deadline;
	//验证码
	private String captcha;
	//短信类别
	private SmsTemplateDO.Type type;
	//状态
	private Status status;
	@Column(name = "client_id", nullable = false)
	public String getClientId() {
		return clientId;
	}
	public void setClientId(String clientId) {
		this.clientId = clientId;
	}
	@Column(name = "sms_gateway_id", nullable = false)
	public String getSmsGatewayId() {
		return smsGatewayId;
	}
	public void setSmsGatewayId(String smsGatewayId) {
		this.smsGatewayId = smsGatewayId;
	}
	@Column(name = "request_ip", nullable = false)
	public String getRequestIp() {
		return requestIp;
	}
	public void setRequestIp(String requestIp) {
		this.requestIp = requestIp;
	}
	@Column(name = "mobile", nullable = false)
	public String getMobile() {
		return mobile;
	}
	public void setMobile(String mobile) {
		this.mobile = mobile;
	}
	@Column(name = "content", nullable = false)
	public String getContent() {
		return content;
	}
	public void setContent(String content) {
		this.content = content;
	}
	@Column(name = "type", nullable = false)
	public SmsTemplateDO.Type getType() {
		return type;
	}
	public void setType(SmsTemplateDO.Type type) {
		this.type = type;
	}
	@Column(name = "deadline", nullable = false)
	public Date getDeadline() {
		return deadline;
	}
	public void setDeadline(Date deadline) {
		this.deadline = deadline;
	}
	@Column(name = "captcha", nullable = false)
	public String getCaptcha() {
		return captcha;
	}
	public void setCaptcha(String captcha) {
		this.captcha = captcha;
	}
	@Column(name = "status", nullable = false)
	public Status getStatus() {
		return status;
	}
	public void setStatus(Status status) {
		this.status = status;
	}
}

+ 58 - 46
common/common-entity/src/main/java/com/yihu/jw/entity/base/sms/SmsGatewayDO.java

@ -1,4 +1,4 @@
package com.yihu.jw.entity.base.sms;// default package
package com.yihu.jw.entity.base.sms;
import com.yihu.jw.entity.UuidIdentityEntity;
import com.yihu.jw.entity.UuidIdentityEntity;
@ -8,58 +8,59 @@ import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Table;
/**
/**
 * BaseSmsGateway entity. @author MyEclipse Persistence Tools
 * Entity - 短信网关
 * Created by progr1mmer on 2018/8/14.
 */
 */
@Entity
@Entity
@Table(name = "base_sms_gateway")
@Table(name = "base_sms_gateway")
public class SmsGatewayDO extends UuidIdentityEntity implements java.io.Serializable {
	// Fields
	//private String saasId;  //关联 base_saas code
	private String name;  //名称
    private String officialWebsite; //官网地址
	private String username;  //短信接口的账号
    private String password;  //短信接口的密码
    private String certificate; //调用凭证(json串)
    private String ip;  //短信接口的ip地址
    private String url;	 //短信接口的url
	private Integer status;  // -1 删除 0 禁用 可用
	/** default constructor */
	public SmsGatewayDO() {
	}
	/** full constructor */
	public SmsGatewayDO(Long id, String code, String saasId,
                        String orgCode, String ip, String username, String password,
                        String url) {
		//this.saasId = saasId;
		this.ip = ip;
		this.username = username;
		this.password = password;
		this.url = url;
public class SmsGatewayDO extends UuidIdentityEntity {
	/**
	 * 0-禁用,1-可用,2-不可用
	 */
	public enum Status {
		disable,
		available,
		delete
	}
	}
	/*@Column(name = "saas_id", length = 64)
	//关联 base_saas id
	private String saasId;
	//名称
	private String name;
	//短信接口的账号
	private String username;
	//短信接口的密码
	private String password;
	//官网地址
	private String website;
	//短信接口调用的地址
	private String url;
	//调用凭证(json串)
	private String certificate;
	//状态
	private Status status;
	@Column(name = "saas_id", nullable = false)
	public String getSaasId() {
	public String getSaasId() {
		return this.saasId;
		return saasId;
	}
	}
	public void setSaasId(String saasId) {
	public void setSaasId(String saasId) {
		this.saasId = saasId;
		this.saasId = saasId;
	}*/
	}
	@Column(name = "ip", length = 20)
	public String getIp() {
		return this.ip;
	@Column(name = "name")
	public String getName() {
		return name;
	}
	}
	public void setIp(String ip) {
		this.ip = ip;
	public void setName(String name) {
		this.name = name;
	}
	}
	@Column(name = "username", length = 20)
	@Column(name = "username")
	public String getUsername() {
	public String getUsername() {
		return this.username;
		return this.username;
	}
	}
@ -68,7 +69,7 @@ public class SmsGatewayDO extends UuidIdentityEntity implements java.io.Serializ
		this.username = username;
		this.username = username;
	}
	}
	@Column(name = "password", length = 50)
	@Column(name = "password")
	public String getPassword() {
	public String getPassword() {
		return this.password;
		return this.password;
	}
	}
@ -77,7 +78,16 @@ public class SmsGatewayDO extends UuidIdentityEntity implements java.io.Serializ
		this.password = password;
		this.password = password;
	}
	}
	@Column(name = "url", length = 200)
	@Column(name = "website")
	public String getWebsite() {
		return website;
	}
	public void setWebsite(String website) {
		this.website = website;
	}
	@Column(name = "url")
	public String getUrl() {
	public String getUrl() {
		return this.url;
		return this.url;
	}
	}
@ -86,19 +96,21 @@ public class SmsGatewayDO extends UuidIdentityEntity implements java.io.Serializ
		this.url = url;
		this.url = url;
	}
	}
	public String getName() {
		return name;
	@Column(name = "certificate", nullable = false)
	public String getCertificate() {
		return certificate;
	}
	}
	public void setName(String name) {
		this.name = name;
	public void setCertificate(String certificate) {
		this.certificate = certificate;
	}
	}
	public Integer getStatus() {
	@Column(name = "status", nullable = false)
	public Status getStatus() {
		return status;
		return status;
	}
	}
	public void setStatus(Integer status) {
	public void setStatus(Status status) {
		this.status = status;
		this.status = status;
	}
	}
}
}

+ 27 - 12
common/common-entity/src/main/java/com/yihu/jw/entity/base/sms/SmsTemplateDO.java

@ -2,27 +2,39 @@ package com.yihu.jw.entity.base.sms;
import com.yihu.jw.entity.UuidIdentityEntity;
import com.yihu.jw.entity.UuidIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Table;
/**
/**
 * Entity - 短信模板
 * Created by progr1mmer on 2018/8/14.
 * Created by progr1mmer on 2018/8/14.
 */
 */
@Entity
@Entity
@Table(name = "base_sms_template")
@Table(name = "base_sms_template")
public class SmsTemplateDO extends UuidIdentityEntity {
public class SmsTemplateDO extends UuidIdentityEntity {
    public enum Label {
        verificationCode, //验证码
        notification, //服务通知
        dailyPush //日常推送
    /**
     * 0 - 注册
     * 1 - 登陆
     * 2 - 重置密码
     */
    public enum Type {
        register,
        login,
        resetPassword
    }
    }
    private String clientId; //应用ID
    private String label; //标签
    private String header; //头部
    private String content; //内容
    //应用ID
    private String clientId;
    //标签
    private Type type;
    //头部
    private String header;
    //内容
    private String content;
    @Column(name = "client_id", nullable = false)
    public String getClientId() {
    public String getClientId() {
        return clientId;
        return clientId;
    }
    }
@ -31,14 +43,16 @@ public class SmsTemplateDO extends UuidIdentityEntity {
        this.clientId = clientId;
        this.clientId = clientId;
    }
    }
    public String getLabel() {
        return label;
    @Column(name = "type", nullable = false)
    public Type getType() {
        return type;
    }
    }
    public void setLabel(String label) {
        this.label = label;
    public void setType(Type type) {
        this.type = type;
    }
    }
    @Column(name = "header", nullable = false)
    public String getHeader() {
    public String getHeader() {
        return header;
        return header;
    }
    }
@ -47,6 +61,7 @@ public class SmsTemplateDO extends UuidIdentityEntity {
        this.header = header;
        this.header = header;
    }
    }
    @Column(name = "content", nullable = false)
    public String getContent() {
    public String getContent() {
        return content;
        return content;
    }
    }

+ 5 - 4
common/common-entity/src/main/java/com/yihu/jw/entity/base/system/SystemDictDO.java

@ -1,17 +1,18 @@
package com.yihu.jw.entity.base.system;// default package
package com.yihu.jw.entity.base.system;// default package
import com.yihu.jw.entity.IntegerIdentityEntity;
import com.yihu.jw.entity.UuidIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Table;
/**
/**
 * SystemDict entity. @author MyEclipse Persistence Tools
 * Entity - 系统字典
 * Created by progr1mmer on 2018/8/14.
 */
 */
@Entity
@Entity
@Table(name = "system_dict")
public class SystemDictDO extends IntegerIdentityEntity {
@Table(name = "base_system_dict")
public class SystemDictDO extends UuidIdentityEntity {
	public enum Type {
	public enum Type {
		//基础字典
		//基础字典

+ 6 - 5
common/common-entity/src/main/java/com/yihu/jw/entity/base/system/SystemDictEntryDO.java

@ -1,17 +1,18 @@
package com.yihu.jw.entity.base.system;// default package
package com.yihu.jw.entity.base.system;
import com.yihu.jw.entity.IntegerIdentityEntity;
import com.yihu.jw.entity.UuidIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Table;
/**
/**
 * SystemDictList entity. @author MyEclipse Persistence Tools
 * Entity - 系统字典项
 * Created by progr1mmer on 2018/8/14.
 */
 */
@Entity
@Entity
@Table(name = "system_dict_entry")
public class SystemDictEntryDO extends IntegerIdentityEntity {
@Table(name = "base_system_dict_entry")
public class SystemDictEntryDO extends UuidIdentityEntity {
	//所属字典编码
	//所属字典编码
	private String dictCode;
	private String dictCode;

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

@ -8,6 +8,7 @@ import javax.persistence.Table;
import java.util.Date;
import java.util.Date;
/**
/**
 * Entity - 用户
 * Created by progr1mmer on 2018/8/20.
 * Created by progr1mmer on 2018/8/20.
 */
 */
@Entity
@Entity

+ 6 - 8
common/common-entity/src/main/java/com/yihu/jw/entity/base/user/UserRoleDO.java

@ -15,7 +15,7 @@ public class UserRoleDO extends IntegerIdentityEntity {
	// Fields
	// Fields
	private String userId;
	private String userId;
	private Integer roleId;
	private String roleCode;
	@Column(name = "user_id", length = 50)
	@Column(name = "user_id", length = 50)
	public String getUserId() {
	public String getUserId() {
@ -26,14 +26,12 @@ public class UserRoleDO extends IntegerIdentityEntity {
		this.userId = userId;
		this.userId = userId;
	}
	}
	@Column(name = "role_id")
	public Integer getRoleId() {
		return this.roleId;
	@Column(name = "role_code", length = 16)
	public String getRoleCode() {
		return roleCode;
	}
	}
	public void setRoleId(Integer roleId) {
		this.roleId = roleId;
	public void setRoleCode(String roleCode) {
		this.roleCode = roleCode;
	}
	}
}
}

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

@ -28,18 +28,11 @@ public class BaseRequestMapping {
        public static final String AUDIT  = "/audit";
        public static final String AUDIT  = "/audit";
    }
    }
    /**
     * SAAS模块
     */
    public static class SaasModule extends Basic {
        public static final String PREFIX  = "/saas_module";
    }
    /**
    /**
     * SAAS默认模块
     * SAAS默认模块
     */
     */
    public static class SaasDefaultModule extends Basic {
        public static final String PREFIX  = "/saas_default_module";
    public static class SaasDefaultModuleFunction extends Basic {
        public static final String PREFIX  = "/saas_default_module_function";
    }
    }
    /**
    /**
@ -127,4 +120,20 @@ public class BaseRequestMapping {
    public static class WeChat extends Basic {
    public static class WeChat extends Basic {
        public static final String PREFIX  = "/wechat";
        public static final String PREFIX  = "/wechat";
    }
    }
    /**
     * 短信网关
     */
    public static class SmsGateway extends Basic {
        public static final String PREFIX  = "/sms_gateway";
        public static final String SEND  = "/send";
    }
    /**
     * 短信模板
     */
    public static class SmsTemplate extends Basic {
        public static final String PREFIX  = "/sms_template";
    }
}
}

+ 3 - 3
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/base/FunctionVO.java

@ -14,7 +14,7 @@ import java.util.*;
public class FunctionVO implements Serializable {
public class FunctionVO implements Serializable {
    @ApiModelProperty(value = "id", example = "1" )
    @ApiModelProperty(value = "id", example = "1" )
    protected Integer id;
    protected String id;
    @ApiModelProperty(value = "创建日期", example = "2018-03-14 11:35:34" )
    @ApiModelProperty(value = "创建日期", example = "2018-03-14 11:35:34" )
    protected Date createTime;
    protected Date createTime;
    @ApiModelProperty(value = "创建者", example = "0dae0003590016e5b3865e377b2f8615" )
    @ApiModelProperty(value = "创建者", example = "0dae0003590016e5b3865e377b2f8615" )
@ -40,11 +40,11 @@ public class FunctionVO implements Serializable {
    @ApiModelProperty(value = "备注", example = "我是备注" )
    @ApiModelProperty(value = "备注", example = "我是备注" )
    private String remark;
    private String remark;
    public Integer getId() {
    public String getId() {
        return id;
        return id;
    }
    }
    public void setId(Integer id) {
    public void setId(String id) {
        this.id = id;
        this.id = id;
    }
    }

+ 45 - 0
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/web/endpoint/EnvelopRestEndpoint.java

@ -48,10 +48,20 @@ public abstract class EnvelopRestEndpoint {
        return success("success", obj);
        return success("success", obj);
    }
    }
    protected <J, _J> ObjEnvelop<_J> success(J obj, Class<_J> target){
        _J _target = convertToModel(obj, target);
        return success(_target);
    }
    protected <J> ObjEnvelop<J> success(String message, J obj){
    protected <J> ObjEnvelop<J> success(String message, J obj){
        return success(message, 200, obj);
        return success(message, 200, obj);
    }
    }
    protected <J, _J> ObjEnvelop<_J> success(String message, J obj, Class<_J> target){
        _J _target = convertToModel(obj, target);
        return success(message, _target);
    }
    protected <J> ObjEnvelop<J> success(String message, int status, J obj){
    protected <J> ObjEnvelop<J> success(String message, int status, J obj){
        ObjEnvelop<J> objEnvelop = new ObjEnvelop<>();
        ObjEnvelop<J> objEnvelop = new ObjEnvelop<>();
        objEnvelop.setMessage(message);
        objEnvelop.setMessage(message);
@ -60,14 +70,29 @@ public abstract class EnvelopRestEndpoint {
        return objEnvelop;
        return objEnvelop;
    }
    }
    protected <J, _J> ObjEnvelop<_J> success(String message, int status, J obj, Class<_J> target){
        _J _target = convertToModel(obj, target);
        return success(message, status, _target);
    }
    protected <T> ListEnvelop<T> success(List<T> contents){
    protected <T> ListEnvelop<T> success(List<T> contents){
        return success("success", contents);
        return success("success", contents);
    }
    }
    protected <T, _T> ListEnvelop<_T> success(List<T> contents, Class<_T> target){
        List<_T> _contents = convertToModels(contents, new ArrayList<>(contents.size()), target);
        return success(_contents);
    }
    protected <T> ListEnvelop<T> success(String message, List<T> contents){
    protected <T> ListEnvelop<T> success(String message, List<T> contents){
        return success(message, 200, contents);
        return success(message, 200, contents);
    }
    }
    protected <T, _T> ListEnvelop<_T> success(String message, List<T> contents, Class<_T> target){
        List<_T> _contents = convertToModels(contents, new ArrayList<>(contents.size()), target);
        return success(message, _contents);
    }
    protected <T> ListEnvelop<T> success(String message, int status, List<T> contents){
    protected <T> ListEnvelop<T> success(String message, int status, List<T> contents){
        ListEnvelop<T> listEnvelop = new ListEnvelop<>();
        ListEnvelop<T> listEnvelop = new ListEnvelop<>();
        listEnvelop.setMessage(message);
        listEnvelop.setMessage(message);
@ -76,14 +101,29 @@ public abstract class EnvelopRestEndpoint {
        return listEnvelop;
        return listEnvelop;
    }
    }
    protected <T, _T> ListEnvelop<_T> success(String message, int status, List<T> contents, Class<_T> target){
        List<_T> _contents = convertToModels(contents, new ArrayList<>(contents.size()), target);
        return success(message, status, _contents);
    }
    protected <T> PageEnvelop<T> success(List<T> contents, int totalCount, int currPage, int pageSize) {
    protected <T> PageEnvelop<T> success(List<T> contents, int totalCount, int currPage, int pageSize) {
        return success("success", contents, totalCount, currPage, pageSize);
        return success("success", contents, totalCount, currPage, pageSize);
    }
    }
    protected <T, _T> PageEnvelop<_T> success(List<T> contents, int totalCount, int currPage, int pageSize, Class<_T> target){
        List<_T> _contents = convertToModels(contents, new ArrayList<>(contents.size()), target);
        return success(_contents, totalCount, currPage, pageSize);
    }
    protected <T> PageEnvelop<T> success(String message, List<T> contents, int totalCount, int currPage, int pageSize) {
    protected <T> PageEnvelop<T> success(String message, List<T> contents, int totalCount, int currPage, int pageSize) {
        return success(message, 200, contents, totalCount, currPage, pageSize);
        return success(message, 200, contents, totalCount, currPage, pageSize);
    }
    }
    protected <T, _T> PageEnvelop<_T> success(String message, List<T> contents, int totalCount, int currPage, int pageSize, Class<_T> target){
        List<_T> _contents = convertToModels(contents, new ArrayList<>(contents.size()), target);
        return success(message, _contents, totalCount, currPage, pageSize);
    }
    protected <T> PageEnvelop<T> success(String message, int status,  List<T> contents, int totalCount, int currPage, int pageSize) {
    protected <T> PageEnvelop<T> success(String message, int status,  List<T> contents, int totalCount, int currPage, int pageSize) {
        PageEnvelop<T> pageEnvelop = new PageEnvelop();
        PageEnvelop<T> pageEnvelop = new PageEnvelop();
        pageEnvelop.setMessage(message);
        pageEnvelop.setMessage(message);
@ -95,6 +135,11 @@ public abstract class EnvelopRestEndpoint {
        return pageEnvelop;
        return pageEnvelop;
    }
    }
    protected <T, _T> PageEnvelop<_T> success(String message, int status, List<T> contents, int totalCount, int currPage, int pageSize, Class<_T> target){
        List<_T> _contents = convertToModels(contents, new ArrayList<>(contents.size()), target);
        return success(message, status, _contents, totalCount, currPage, pageSize);
    }
    protected <T, J> MixEnvelop<T, J> success(List<T> contents, J obj) {
    protected <T, J> MixEnvelop<T, J> success(List<T> contents, J obj) {
        return success("success", contents, obj);
        return success("success", contents, obj);
    }
    }

+ 0 - 4
common/common-util/pom.xml

@ -37,10 +37,6 @@
            <groupId>org.slf4j</groupId>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <artifactId>slf4j-api</artifactId>
        </dependency>
        </dependency>
        <dependency>
            <groupId>com.yihu.jw</groupId>
            <artifactId>common-util</artifactId>
        </dependency>
        <dependency>
        <dependency>
            <groupId>com.yihu.jw</groupId>
            <groupId>com.yihu.jw</groupId>
            <artifactId>common-entity</artifactId>
            <artifactId>common-entity</artifactId>

+ 42 - 42
svr/svr-base/src/main/java/com/yihu/jw/base/config/SwaggerDocs.java

@ -1,42 +1,42 @@
package com.yihu.jw.base.config;
import io.github.swagger2markup.GroupBy;
import io.github.swagger2markup.Language;
import io.github.swagger2markup.Swagger2MarkupConfig;
import io.github.swagger2markup.Swagger2MarkupConverter;
import io.github.swagger2markup.builder.Swagger2MarkupConfigBuilder;
import io.github.swagger2markup.markup.builder.MarkupLanguage;
import java.net.URL;
import java.nio.file.Path;
import java.nio.file.Paths;
/**
 * Created by progr1mmer on 2018/8/21.
 */
public class SwaggerDocs {
    public static void main(String[] args) throws Exception {
        //1.请求 http://ip:port/swagger-resources获取group
        String group = "Default";
        //2.定义请求地址 new URL("http://ip:port/v2/api-docs?group=" + groupName)
        URL remoteSwaggerFile = new URL("http://127.0.0.1:10020/v2/api-docs?group=" + group); //项目的swagger-ui地址
        //3.定义文件输出路径
        String prefix = Thread.currentThread().getContextClassLoader().getResource("").getPath();
        Path outputFile = Paths.get(prefix.substring(prefix.lastIndexOf(":") + 1, prefix.indexOf("target") - 1) + "/build/" + group); //文档输出地址
        Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder()
                .withMarkupLanguage(MarkupLanguage.ASCIIDOC)
                .withOutputLanguage(Language.ZH)
                .withPathsGroupedBy(GroupBy.TAGS)
                .withGeneratedExamples()
                .withoutInlineSchema()
                //.withBasePathPrefix()
                .build();
        Swagger2MarkupConverter converter = Swagger2MarkupConverter.from(remoteSwaggerFile)
                .withConfig(config)
                .build();
        converter.toFile(outputFile);
    }
}
//package com.yihu.jw.base.config;
//
//import io.github.swagger2markup.GroupBy;
//import io.github.swagger2markup.Language;
//import io.github.swagger2markup.Swagger2MarkupConfig;
//import io.github.swagger2markup.Swagger2MarkupConverter;
//import io.github.swagger2markup.builder.Swagger2MarkupConfigBuilder;
//import io.github.swagger2markup.markup.builder.MarkupLanguage;
//
//import java.net.URL;
//import java.nio.file.Path;
//import java.nio.file.Paths;
//
///**
// * Created by progr1mmer on 2018/8/21.
// */
//public class SwaggerDocs {
//    public static void main(String[] args) throws Exception {
//        //1.请求 http://ip:port/swagger-resources获取group
//        String group = "Default";
//        //2.定义请求地址 new URL("http://ip:port/v2/api-docs?group=" + groupName)
//        URL remoteSwaggerFile = new URL("http://127.0.0.1:10020/v2/api-docs?group=" + group); //项目的swagger-ui地址
//        //3.定义文件输出路径
//        String prefix = Thread.currentThread().getContextClassLoader().getResource("").getPath();
//        Path outputFile = Paths.get(prefix.substring(prefix.lastIndexOf(":") + 1, prefix.indexOf("target") - 1) + "/build/" + group); //文档输出地址
//
//        Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder()
//                .withMarkupLanguage(MarkupLanguage.ASCIIDOC)
//                .withOutputLanguage(Language.ZH)
//                .withPathsGroupedBy(GroupBy.TAGS)
//                .withGeneratedExamples()
//                .withoutInlineSchema()
//                //.withBasePathPrefix()
//                .build();
//
//        Swagger2MarkupConverter converter = Swagger2MarkupConverter.from(remoteSwaggerFile)
//                .withConfig(config)
//                .build();
//
//        converter.toFile(outputFile);
//    }
//}

+ 2 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/dao/FunctionDao.java

@ -5,8 +5,9 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
/**
 * Dao - 功能
 * Created by chenweida on 2017/5/19.
 * Created by chenweida on 2017/5/19.
 */
 */
public interface FunctionDao extends PagingAndSortingRepository<FunctionDO, Integer>, JpaSpecificationExecutor<FunctionDO> {
public interface FunctionDao extends PagingAndSortingRepository<FunctionDO, String>, JpaSpecificationExecutor<FunctionDO> {
}
}

+ 2 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/dao/ModuleDao.java

@ -5,8 +5,9 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
/**
 * Dao - 模块
 * Created by chenweida on 2017/5/19.
 * Created by chenweida on 2017/5/19.
 */
 */
public interface ModuleDao extends PagingAndSortingRepository<ModuleDO, Integer>, JpaSpecificationExecutor<ModuleDO> {
public interface ModuleDao extends PagingAndSortingRepository<ModuleDO, String>, JpaSpecificationExecutor<ModuleDO> {
}
}

+ 12 - 12
svr/svr-base/src/main/java/com/yihu/jw/base/dao/ModuleFunctionDao.java

@ -1,12 +1,12 @@
package com.yihu.jw.base.dao;
import com.yihu.jw.entity.base.module.ModuleFunctionDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Created by chenweida on 2017/5/19.
 */
public interface ModuleFunctionDao extends PagingAndSortingRepository<ModuleFunctionDO, Integer>, JpaSpecificationExecutor<ModuleFunctionDO> {
}
//package com.yihu.jw.base.dao;
//
//import com.yihu.jw.entity.base.module.ModuleFunctionDO;
//import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
//import org.springframework.data.repository.PagingAndSortingRepository;
//
///**
// * Created by chenweida on 2017/5/19.
// */
//public interface ModuleFunctionDao extends PagingAndSortingRepository<ModuleFunctionDO, Integer>, JpaSpecificationExecutor<ModuleFunctionDO> {
//
//}

+ 2 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/dao/RoleDao.java

@ -5,8 +5,9 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
/**
 * Dao - 角色
 * Created by progr1mmer on 2018/8/17.
 * Created by progr1mmer on 2018/8/17.
 */
 */
public interface RoleDao extends PagingAndSortingRepository<RoleDO, Integer>, JpaSpecificationExecutor<RoleDO> {
public interface RoleDao extends PagingAndSortingRepository<RoleDO, String>, JpaSpecificationExecutor<RoleDO> {
}
}

+ 2 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/dao/RoleModuleFunctionDao.java

@ -5,8 +5,9 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
/**
 * Dao - 角色模块功能
 * Created by progr1mmer on 2018/8/17.
 * Created by progr1mmer on 2018/8/17.
 */
 */
public interface RoleModuleFunctionDao extends PagingAndSortingRepository<RoleModuleFunctionDO, Integer>, JpaSpecificationExecutor<RoleModuleFunctionDO> {
public interface RoleModuleFunctionDao extends PagingAndSortingRepository<RoleModuleFunctionDO, String>, JpaSpecificationExecutor<RoleModuleFunctionDO> {
}
}

+ 2 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/dao/SaasDao.java

@ -4,7 +4,8 @@ import com.yihu.jw.entity.base.saas.SaasDO;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
/**
 * Created by chenweida on 2017/5/19.
 * Dao - SAAS
 * Created by progr1mmer on 2018/8/14.
 */
 */
public interface SaasDao extends PagingAndSortingRepository<SaasDO, String> {
public interface SaasDao extends PagingAndSortingRepository<SaasDO, String> {

+ 0 - 16
svr/svr-base/src/main/java/com/yihu/jw/base/dao/SaasDefaultModuleDao.java

@ -1,16 +0,0 @@
package com.yihu.jw.base.dao;
import com.yihu.jw.entity.base.saas.SaasDO;
import com.yihu.jw.entity.base.saas.SaasDefaultModuleDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * Created by progr1mmer on 2018/8/17.
 */
public interface SaasDefaultModuleDao extends PagingAndSortingRepository<SaasDefaultModuleDO, Integer>, JpaSpecificationExecutor<SaasDefaultModuleDO> {
    List<SaasDefaultModuleDO> findByType(SaasDO.Type type);
}

+ 16 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/SaasDefaultModuleFunctionDao.java

@ -0,0 +1,16 @@
package com.yihu.jw.base.dao;
import com.yihu.jw.entity.base.saas.SaasDO;
import com.yihu.jw.entity.base.saas.SaasDefaultModuleFunctionDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * Created by progr1mmer on 2018/8/17.
 */
public interface SaasDefaultModuleFunctionDao extends PagingAndSortingRepository<SaasDefaultModuleFunctionDO, Integer>, JpaSpecificationExecutor<SaasDefaultModuleFunctionDO> {
    List<SaasDefaultModuleFunctionDO> findByType(SaasDO.Type type);
}

+ 0 - 12
svr/svr-base/src/main/java/com/yihu/jw/base/dao/SaasModuleDao.java

@ -1,12 +0,0 @@
package com.yihu.jw.base.dao;
import com.yihu.jw.entity.base.saas.SaasModuleDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Created by progr1mmer on 2018/8/17.
 */
public interface SaasModuleDao extends PagingAndSortingRepository<SaasModuleDO, Integer>, JpaSpecificationExecutor<SaasModuleDO> {
}

+ 13 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/SmsDao.java

@ -0,0 +1,13 @@
package com.yihu.jw.base.dao;
import com.yihu.jw.entity.base.sms.SmsDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Dao - 短信记录
 * Created by progr1mmer on 2018/8/23.
 */
public interface SmsDao extends PagingAndSortingRepository<SmsDO, String>, JpaSpecificationExecutor<SmsDO> {
}

+ 12 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/SmsGatewayDao.java

@ -0,0 +1,12 @@
package com.yihu.jw.base.dao;
import com.yihu.jw.entity.base.sms.SmsGatewayDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Dao - 短信网关
 * Created by progr1mmer on 2018/8/23.
 */
public interface SmsGatewayDao extends PagingAndSortingRepository<SmsGatewayDO, String>, JpaSpecificationExecutor<SmsGatewayDO> {
}

+ 13 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/SmsTemplateDao.java

@ -0,0 +1,13 @@
package com.yihu.jw.base.dao;
import com.yihu.jw.entity.base.sms.SmsTemplateDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Dao - 短信模板
 * Created by progr1mmer on 2018/8/23.
 */
public interface SmsTemplateDao extends PagingAndSortingRepository<SmsTemplateDO, String>, JpaSpecificationExecutor<SmsTemplateDO> {
}

+ 2 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/dao/SystemDictDao.java

@ -5,7 +5,8 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
/**
 * Dao - 系统字典
 * Created by LiTaohong on 2017/12/01.
 * Created by LiTaohong on 2017/12/01.
 */
 */
public interface SystemDictDao extends PagingAndSortingRepository<SystemDictDO, Integer>, JpaSpecificationExecutor<SystemDictDO> {
public interface SystemDictDao extends PagingAndSortingRepository<SystemDictDO, String>, JpaSpecificationExecutor<SystemDictDO> {
}
}

+ 2 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/dao/SystemDictEntryDao.java

@ -5,7 +5,8 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
/**
 * Dao - 系统字典项
 * Created by LiTaohong on 2017/12/01.
 * Created by LiTaohong on 2017/12/01.
 */
 */
public interface SystemDictEntryDao extends PagingAndSortingRepository<SystemDictEntryDO, Integer>, JpaSpecificationExecutor<SystemDictEntryDO> {
public interface SystemDictEntryDao extends PagingAndSortingRepository<SystemDictEntryDO, String>, JpaSpecificationExecutor<SystemDictEntryDO> {
}
}

+ 1 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/UserDao.java

@ -5,6 +5,7 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
/**
 * Dao - 用户
 * Created by progr1mmer on 2018/8/20.
 * Created by progr1mmer on 2018/8/20.
 */
 */
public interface UserDao extends PagingAndSortingRepository<UserDO, String>, JpaSpecificationExecutor<UserDO> {
public interface UserDao extends PagingAndSortingRepository<UserDO, String>, JpaSpecificationExecutor<UserDO> {

+ 6 - 6
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/function/FunctionEndpoint.java

@ -16,10 +16,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
import java.util.List;
/**
/**
 * Endpoint - 功能
 * Created by progr1mmer on 2018/8/16.
 * Created by progr1mmer on 2018/8/16.
 */
 */
@RestController
@RestController
@ -37,7 +37,7 @@ public class FunctionEndpoint extends EnvelopRestEndpoint {
            @RequestBody String jsonData) throws Exception {
            @RequestBody String jsonData) throws Exception {
        FunctionDO functionDO = toEntity(jsonData, FunctionDO.class);
        FunctionDO functionDO = toEntity(jsonData, FunctionDO.class);
        functionDO = functionService.save(functionDO);
        functionDO = functionService.save(functionDO);
        return success(convertToModel(functionDO, FunctionVO.class));
        return success(functionDO, FunctionVO.class);
    }
    }
    @PostMapping(value = BaseRequestMapping.Function.DELETE)
    @PostMapping(value = BaseRequestMapping.Function.DELETE)
@ -59,7 +59,7 @@ public class FunctionEndpoint extends EnvelopRestEndpoint {
            return failed("ID不能为空", ObjEnvelop.class);
            return failed("ID不能为空", ObjEnvelop.class);
        }
        }
        functionDO = functionService.save(functionDO);
        functionDO = functionService.save(functionDO);
        return success(convertToModel(functionDO, FunctionVO.class));
        return success(functionDO, FunctionVO.class);
    }
    }
    @GetMapping(value = BaseRequestMapping.Function.PAGE)
    @GetMapping(value = BaseRequestMapping.Function.PAGE)
@ -75,9 +75,9 @@ public class FunctionEndpoint extends EnvelopRestEndpoint {
            @RequestParam(value = "page") int page,
            @RequestParam(value = "page") int page,
            @ApiParam(name = "size", value = "页码", required = true, defaultValue = "15")
            @ApiParam(name = "size", value = "页码", required = true, defaultValue = "15")
            @RequestParam(value = "size") int size) throws Exception {
            @RequestParam(value = "size") int size) throws Exception {
        List<FunctionVO> functionDOS = functionService.search(fields, filters, sorts, page, size);
        List<FunctionDO> functionDOS = functionService.search(fields, filters, sorts, page, size);
        int count = (int)functionService.getCount(filters);
        int count = (int)functionService.getCount(filters);
        return success(convertToModels(functionDOS, new ArrayList<>(), FunctionVO.class), count, page, size);
        return success(functionDOS, count, page, size, FunctionVO.class);
    }
    }
    @GetMapping(value = BaseRequestMapping.Function.LIST)
    @GetMapping(value = BaseRequestMapping.Function.LIST)
@ -90,7 +90,7 @@ public class FunctionEndpoint extends EnvelopRestEndpoint {
            @ApiParam(name = "sorts", value = "排序,规则参见说明文档")
            @ApiParam(name = "sorts", value = "排序,规则参见说明文档")
            @RequestParam(value = "sorts", required = false) String sorts) throws Exception {
            @RequestParam(value = "sorts", required = false) String sorts) throws Exception {
        List<FunctionDO> functionDOS = functionService.search(fields, filters, sorts);
        List<FunctionDO> functionDOS = functionService.search(fields, filters, sorts);
        return success(convertToModels(functionDOS, new ArrayList<>(), FunctionVO.class));
        return success(functionDOS, FunctionVO.class);
    }
    }
}
}

+ 1 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/module/ModuleEndpoint.java

@ -18,6 +18,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.List;
/**
/**
 * Endpoint - 模块
 * Created by progr1mmer on 2018/8/16.
 * Created by progr1mmer on 2018/8/16.
 */
 */
@RestController
@RestController

+ 94 - 94
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/module/ModuleFunctionEndpoint.java

@ -1,94 +1,94 @@
package com.yihu.jw.base.endpoint.module;
import com.yihu.jw.base.service.ModuleFunctionService;
import com.yihu.jw.entity.base.module.ModuleFunctionDO;
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;
/**
 * Created by progr1mmer on 2018/8/16.
 */
@RestController
@RequestMapping(value = BaseRequestMapping.ModuleFunction.PREFIX)
@Api(value = "模块功能管理", description = "模块功能管理服务接口", tags = {"wlyy基础服务 - 模块功能管理服务接口"})
public class ModuleFunctionEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private ModuleFunctionService moduleFunctionService;
    @PostMapping(value = BaseRequestMapping.ModuleFunction.CREATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "创建")
    public ObjEnvelop<ModuleFunctionDO> create (
            @ApiParam(name = "json_data", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
        ModuleFunctionDO moduleFunctionDO = toEntity(jsonData, ModuleFunctionDO.class);
        moduleFunctionDO = moduleFunctionService.save(moduleFunctionDO);
        return success(moduleFunctionDO);
    }
    @PostMapping(value = BaseRequestMapping.ModuleFunction.DELETE)
    @ApiOperation(value = "删除")
    public Envelop delete(
            @ApiParam(name = "ids", value = "id串,中间用,分隔", required = true)
            @RequestParam(value = "ids") String ids) {
        moduleFunctionService.delete(ids);
        return success("删除成功");
    }
    @PostMapping(value = BaseRequestMapping.ModuleFunction.UPDATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "更新")
    public Envelop update (
            @ApiParam(name = "json_data", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
        ModuleFunctionDO moduleFunctionDO = toEntity(jsonData, ModuleFunctionDO.class);
        if (null == moduleFunctionDO.getId()) {
            return failed("ID不能为空", Envelop.class);
        }
        moduleFunctionDO = moduleFunctionService.save(moduleFunctionDO);
        return success(moduleFunctionDO);
    }
    @GetMapping(value = BaseRequestMapping.ModuleFunction.PAGE)
    @ApiOperation(value = "获取分页")
    public PageEnvelop<ModuleFunctionDO> 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<ModuleFunctionDO> moduleFunctionDOS = moduleFunctionService.search(fields, filters, sorts, page, size);
        int count = (int)moduleFunctionService.getCount(filters);
        return success(moduleFunctionDOS, count, page, size);
    }
    @GetMapping(value = BaseRequestMapping.ModuleFunction.LIST)
    @ApiOperation(value = "获取列表")
    public ListEnvelop<ModuleFunctionDO> 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<ModuleFunctionDO> moduleFunctionDOS = moduleFunctionService.search(fields, filters, sorts);
        return success(moduleFunctionDOS);
    }
}
//package com.yihu.jw.base.endpoint.module;
//
//import com.yihu.jw.base.service.ModuleFunctionService;
//import com.yihu.jw.entity.base.module.ModuleFunctionDO;
//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;
//
///**
// * Created by progr1mmer on 2018/8/16.
// */
//@RestController
//@RequestMapping(value = BaseRequestMapping.ModuleFunction.PREFIX)
//@Api(value = "模块功能管理", description = "模块功能管理服务接口", tags = {"wlyy基础服务 - 模块功能管理服务接口"})
//public class ModuleFunctionEndpoint extends EnvelopRestEndpoint {
//
//    @Autowired
//    private ModuleFunctionService moduleFunctionService;
//
//    @PostMapping(value = BaseRequestMapping.ModuleFunction.CREATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
//    @ApiOperation(value = "创建")
//    public ObjEnvelop<ModuleFunctionDO> create (
//            @ApiParam(name = "json_data", value = "Json数据", required = true)
//            @RequestBody String jsonData) throws Exception {
//        ModuleFunctionDO moduleFunctionDO = toEntity(jsonData, ModuleFunctionDO.class);
//        moduleFunctionDO = moduleFunctionService.save(moduleFunctionDO);
//        return success(moduleFunctionDO);
//    }
//
//    @PostMapping(value = BaseRequestMapping.ModuleFunction.DELETE)
//    @ApiOperation(value = "删除")
//    public Envelop delete(
//            @ApiParam(name = "ids", value = "id串,中间用,分隔", required = true)
//            @RequestParam(value = "ids") String ids) {
//        moduleFunctionService.delete(ids);
//        return success("删除成功");
//    }
//
//    @PostMapping(value = BaseRequestMapping.ModuleFunction.UPDATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
//    @ApiOperation(value = "更新")
//    public Envelop update (
//            @ApiParam(name = "json_data", value = "Json数据", required = true)
//            @RequestBody String jsonData) throws Exception {
//        ModuleFunctionDO moduleFunctionDO = toEntity(jsonData, ModuleFunctionDO.class);
//        if (null == moduleFunctionDO.getId()) {
//            return failed("ID不能为空", Envelop.class);
//        }
//        moduleFunctionDO = moduleFunctionService.save(moduleFunctionDO);
//        return success(moduleFunctionDO);
//    }
//
//    @GetMapping(value = BaseRequestMapping.ModuleFunction.PAGE)
//    @ApiOperation(value = "获取分页")
//    public PageEnvelop<ModuleFunctionDO> 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<ModuleFunctionDO> moduleFunctionDOS = moduleFunctionService.search(fields, filters, sorts, page, size);
//        int count = (int)moduleFunctionService.getCount(filters);
//        return success(moduleFunctionDOS, count, page, size);
//    }
//
//    @GetMapping(value = BaseRequestMapping.ModuleFunction.LIST)
//    @ApiOperation(value = "获取列表")
//    public ListEnvelop<ModuleFunctionDO> 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<ModuleFunctionDO> moduleFunctionDOS = moduleFunctionService.search(fields, filters, sorts);
//        return success(moduleFunctionDOS);
//    }
//
//}

+ 1 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/role/RoleEndpoint.java

@ -18,6 +18,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.List;
/**
/**
 * Endpoint - 角色
 * Created by progr1mmer on 2018/8/16.
 * Created by progr1mmer on 2018/8/16.
 */
 */
@RestController
@RestController

+ 1 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/role/RoleModuleFunctionEndpoint.java

@ -18,6 +18,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.List;
/**
/**
 * Endpoint - 角色模块功能
 * Created by progr1mmer on 2018/8/16.
 * Created by progr1mmer on 2018/8/16.
 */
 */
@RestController
@RestController

+ 17 - 17
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/saas/SaasDefaultModuleEndpoint.java

@ -1,7 +1,7 @@
package com.yihu.jw.base.endpoint.saas;
package com.yihu.jw.base.endpoint.saas;
import com.yihu.jw.base.service.SaasDefaultModuleService;
import com.yihu.jw.entity.base.saas.SaasDefaultModuleDO;
import com.yihu.jw.base.service.SaasDefaultModuleFunctionService;
import com.yihu.jw.entity.base.saas.SaasDefaultModuleFunctionDO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
@ -21,24 +21,24 @@ import java.util.List;
 * Created by progr1mmer on 2018/8/16.
 * Created by progr1mmer on 2018/8/16.
 */
 */
@RestController
@RestController
@RequestMapping(value = BaseRequestMapping.SaasDefaultModule.PREFIX)
@RequestMapping(value = BaseRequestMapping.SaasDefaultModuleFunction.PREFIX)
@Api(value = "Saas默认模块管理", description = "Saas默认模块管理服务接口", tags = {"wlyy基础服务 - Saas默认模块管理服务接口"})
@Api(value = "Saas默认模块管理", description = "Saas默认模块管理服务接口", tags = {"wlyy基础服务 - Saas默认模块管理服务接口"})
public class SaasDefaultModuleEndpoint extends EnvelopRestEndpoint {
public class SaasDefaultModuleFunctionEndpoint extends EnvelopRestEndpoint {
    @Autowired
    @Autowired
    private SaasDefaultModuleService saasDefaultModuleService;
    private SaasDefaultModuleFunctionService saasDefaultModuleService;
    @PostMapping(value = BaseRequestMapping.SaasDefaultModule.CREATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @PostMapping(value = BaseRequestMapping.SaasDefaultModuleFunction.CREATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "创建")
    @ApiOperation(value = "创建")
    public ObjEnvelop<SaasDefaultModuleDO> create (
    public ObjEnvelop<SaasDefaultModuleFunctionDO> create (
            @ApiParam(name = "json", value = "Json数据", required = true)
            @ApiParam(name = "json", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
            @RequestBody String jsonData) throws Exception {
        SaasDefaultModuleDO saasDefaultModuleDO = toEntity(jsonData, SaasDefaultModuleDO.class);
        SaasDefaultModuleFunctionDO saasDefaultModuleDO = toEntity(jsonData, SaasDefaultModuleFunctionDO.class);
        saasDefaultModuleDO = saasDefaultModuleService.save(saasDefaultModuleDO);
        saasDefaultModuleDO = saasDefaultModuleService.save(saasDefaultModuleDO);
        return success(saasDefaultModuleDO);
        return success(saasDefaultModuleDO);
    }
    }
    @PostMapping(value = BaseRequestMapping.SaasDefaultModule.DELETE)
    @PostMapping(value = BaseRequestMapping.SaasDefaultModuleFunction.DELETE)
    @ApiOperation(value = "删除")
    @ApiOperation(value = "删除")
    public Envelop delete(
    public Envelop delete(
            @ApiParam(name = "ids", value = "id串,中间用,分隔", required = true)
            @ApiParam(name = "ids", value = "id串,中间用,分隔", required = true)
@ -47,12 +47,12 @@ public class SaasDefaultModuleEndpoint extends EnvelopRestEndpoint {
        return success("删除成功");
        return success("删除成功");
    }
    }
    @PostMapping(value = BaseRequestMapping.SaasDefaultModule.UPDATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @PostMapping(value = BaseRequestMapping.SaasDefaultModuleFunction.UPDATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "更新")
    @ApiOperation(value = "更新")
    public Envelop update (
    public Envelop update (
            @ApiParam(name = "json", value = "Json数据", required = true)
            @ApiParam(name = "json", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
            @RequestBody String jsonData) throws Exception {
        SaasDefaultModuleDO saasDefaultModuleDO = toEntity(jsonData, SaasDefaultModuleDO.class);
        SaasDefaultModuleFunctionDO saasDefaultModuleDO = toEntity(jsonData, SaasDefaultModuleFunctionDO.class);
        if (null == saasDefaultModuleDO.getId()) {
        if (null == saasDefaultModuleDO.getId()) {
            return failed("ID不能为空", Envelop.class);
            return failed("ID不能为空", Envelop.class);
        }
        }
@ -60,9 +60,9 @@ public class SaasDefaultModuleEndpoint extends EnvelopRestEndpoint {
        return success(saasDefaultModuleDO);
        return success(saasDefaultModuleDO);
    }
    }
    @GetMapping(value = BaseRequestMapping.SaasDefaultModule.PAGE)
    @GetMapping(value = BaseRequestMapping.SaasDefaultModuleFunction.PAGE)
    @ApiOperation(value = "获取分页")
    @ApiOperation(value = "获取分页")
    public PageEnvelop<SaasDefaultModuleDO> page (
    public PageEnvelop<SaasDefaultModuleFunctionDO> page (
            @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
            @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
            @RequestParam(value = "fields", required = false) String fields,
            @RequestParam(value = "fields", required = false) String fields,
            @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
            @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
@ -73,21 +73,21 @@ public class SaasDefaultModuleEndpoint extends EnvelopRestEndpoint {
            @RequestParam(value = "page") int page,
            @RequestParam(value = "page") int page,
            @ApiParam(name = "size", value = "页码", required = true, defaultValue = "15")
            @ApiParam(name = "size", value = "页码", required = true, defaultValue = "15")
            @RequestParam(value = "size") int size) throws Exception {
            @RequestParam(value = "size") int size) throws Exception {
        List<SaasDefaultModuleDO> saasDefaultModuleDOS = saasDefaultModuleService.search(fields, filters, sorts, page, size);
        List<SaasDefaultModuleFunctionDO> saasDefaultModuleDOS = saasDefaultModuleService.search(fields, filters, sorts, page, size);
        int count = (int)saasDefaultModuleService.getCount(filters);
        int count = (int)saasDefaultModuleService.getCount(filters);
        return success(saasDefaultModuleDOS, count, page, size);
        return success(saasDefaultModuleDOS, count, page, size);
    }
    }
    @GetMapping(value = BaseRequestMapping.SaasDefaultModule.LIST)
    @GetMapping(value = BaseRequestMapping.SaasDefaultModuleFunction.LIST)
    @ApiOperation(value = "获取列表")
    @ApiOperation(value = "获取列表")
    public ListEnvelop<SaasDefaultModuleDO> list (
    public ListEnvelop<SaasDefaultModuleFunctionDO> list (
            @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
            @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
            @RequestParam(value = "fields", required = false) String fields,
            @RequestParam(value = "fields", required = false) String fields,
            @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
            @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
            @RequestParam(value = "filters", required = false) String filters,
            @RequestParam(value = "filters", required = false) String filters,
            @ApiParam(name = "sorts", value = "排序,规则参见说明文档")
            @ApiParam(name = "sorts", value = "排序,规则参见说明文档")
            @RequestParam(value = "sorts", required = false) String sorts) throws Exception {
            @RequestParam(value = "sorts", required = false) String sorts) throws Exception {
        List<SaasDefaultModuleDO> saasDefaultModuleDOS = saasDefaultModuleService.search(fields, filters, sorts);
        List<SaasDefaultModuleFunctionDO> saasDefaultModuleDOS = saasDefaultModuleService.search(fields, filters, sorts);
        return success(saasDefaultModuleDOS);
        return success(saasDefaultModuleDOS);
    }
    }

+ 2 - 7
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/saas/SaasEndpoint.java

@ -21,7 +21,8 @@ import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.List;
/**
/**
 * Created by chenweida on 2017/5/19.
 * Endpoint - SAAS
 * Created by progr1mmer on 2018/8/14.
 */
 */
@RestController
@RestController
@RequestMapping(value = BaseRequestMapping.Saas.PREFIX)
@RequestMapping(value = BaseRequestMapping.Saas.PREFIX)
@ -43,12 +44,6 @@ public class SaasEndpoint extends EnvelopRestEndpoint {
        if (userService.search("username=" + userDO.getUsername()).size() > 0) {
        if (userService.search("username=" + userDO.getUsername()).size() > 0) {
            return failed("管理员用户名已存在", Envelop.class);
            return failed("管理员用户名已存在", Envelop.class);
        }
        }
        userDO.setEnabled(true);
        userDO.setLocked(false);
        if (StringUtils.isEmpty(userDO.getPassword())) {
            String password = MD5.md5Hex(userDO.getIdcard().substring(0, 5));
            userDO.setPassword(password);
        }
        saasService.save(saasDO, userDO);
        saasService.save(saasDO, userDO);
        return success("创建成功");
        return success("创建成功");
    }
    }

+ 93 - 94
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/saas/SaasModuleEndpoint.java

@ -1,94 +1,93 @@
package com.yihu.jw.base.endpoint.saas;
import com.yihu.jw.base.service.SaasModuleService;
import com.yihu.jw.entity.base.saas.SaasModuleDO;
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;
/**
 * Created by progr1mmer on 2018/8/16.
 */
@RestController
@RequestMapping(value = BaseRequestMapping.SaasModule.PREFIX)
@Api(value = "Saas模块管理", description = "Saas模块管理服务接口", tags = {"wlyy基础服务 - Saas模块管理服务接口"})
public class SaasModuleEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private SaasModuleService saasModuleService;
    @PostMapping(value = BaseRequestMapping.SaasModule.CREATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "创建")
    public ObjEnvelop<SaasModuleDO> create (
            @ApiParam(name = "json", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
        SaasModuleDO saasModuleDO = toEntity(jsonData, SaasModuleDO.class);
        saasModuleDO = saasModuleService.save(saasModuleDO);
        return success(saasModuleDO);
    }
    @PostMapping(value = BaseRequestMapping.SaasModule.DELETE)
    @ApiOperation(value = "删除")
    public Envelop delete(
            @ApiParam(name = "ids", value = "id串,中间用,分隔", required = true)
            @RequestParam(value = "ids") String ids) {
        saasModuleService.delete(ids);
        return success("删除成功");
    }
    @PostMapping(value = BaseRequestMapping.SaasModule.UPDATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "更新")
    public Envelop update (
            @ApiParam(name = "json", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
        SaasModuleDO saasModuleDO = toEntity(jsonData, SaasModuleDO.class);
        if (null == saasModuleDO.getId()) {
            return failed("ID不能为空", Envelop.class);
        }
        saasModuleDO = saasModuleService.save(saasModuleDO);
        return success(saasModuleDO);
    }
    @GetMapping(value = BaseRequestMapping.SaasModule.PAGE)
    @ApiOperation(value = "获取分页")
    public PageEnvelop<SaasModuleDO> 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<SaasModuleDO> saasModuleDOS = saasModuleService.search(fields, filters, sorts, page, size);
        int count = (int)saasModuleService.getCount(filters);
        return success(saasModuleDOS, count, page, size);
    }
    @GetMapping(value = BaseRequestMapping.SaasModule.LIST)
    @ApiOperation(value = "获取列表")
    public ListEnvelop<SaasModuleDO> 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<SaasModuleDO> saasModuleDOS = saasModuleService.search(fields, filters, sorts);
        return success(saasModuleDOS);
    }
}
//package com.yihu.jw.base.endpoint.saas;
//
//import com.yihu.jw.base.service.SaasModuleService;
//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;
//
///**
// * Created by progr1mmer on 2018/8/16.
// */
//@RestController
//@RequestMapping(value = BaseRequestMapping.SaasModule.PREFIX)
//@Api(value = "Saas模块管理", description = "Saas模块管理服务接口", tags = {"wlyy基础服务 - Saas模块管理服务接口"})
//public class SaasModuleEndpoint extends EnvelopRestEndpoint {
//
//    @Autowired
//    private SaasModuleService saasModuleService;
//
//    @PostMapping(value = BaseRequestMapping.SaasModule.CREATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
//    @ApiOperation(value = "创建")
//    public ObjEnvelop<SaasModuleDO> create (
//            @ApiParam(name = "json", value = "Json数据", required = true)
//            @RequestBody String jsonData) throws Exception {
//        SaasModuleDO saasModuleDO = toEntity(jsonData, SaasModuleDO.class);
//        saasModuleDO = saasModuleService.save(saasModuleDO);
//        return success(saasModuleDO);
//    }
//
//    @PostMapping(value = BaseRequestMapping.SaasModule.DELETE)
//    @ApiOperation(value = "删除")
//    public Envelop delete(
//            @ApiParam(name = "ids", value = "id串,中间用,分隔", required = true)
//            @RequestParam(value = "ids") String ids) {
//        saasModuleService.delete(ids);
//        return success("删除成功");
//    }
//
//    @PostMapping(value = BaseRequestMapping.SaasModule.UPDATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
//    @ApiOperation(value = "更新")
//    public Envelop update (
//            @ApiParam(name = "json", value = "Json数据", required = true)
//            @RequestBody String jsonData) throws Exception {
//        SaasModuleDO saasModuleDO = toEntity(jsonData, SaasModuleDO.class);
//        if (null == saasModuleDO.getId()) {
//            return failed("ID不能为空", Envelop.class);
//        }
//        saasModuleDO = saasModuleService.save(saasModuleDO);
//        return success(saasModuleDO);
//    }
//
//    @GetMapping(value = BaseRequestMapping.SaasModule.PAGE)
//    @ApiOperation(value = "获取分页")
//    public PageEnvelop<SaasModuleDO> 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<SaasModuleDO> saasModuleDOS = saasModuleService.search(fields, filters, sorts, page, size);
//        int count = (int)saasModuleService.getCount(filters);
//        return success(saasModuleDOS, count, page, size);
//    }
//
//    @GetMapping(value = BaseRequestMapping.SaasModule.LIST)
//    @ApiOperation(value = "获取列表")
//    public ListEnvelop<SaasModuleDO> 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<SaasModuleDO> saasModuleDOS = saasModuleService.search(fields, filters, sorts);
//        return success(saasModuleDOS);
//    }
//
//}

+ 109 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/sms/SmsGatewayEndpoint.java

@ -0,0 +1,109 @@
package com.yihu.jw.base.endpoint.sms;
import com.yihu.jw.base.service.SmsGatewayService;
import com.yihu.jw.entity.base.sms.SmsGatewayDO;
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.ArrayList;
import java.util.List;
/**
 * Endpoint - 短信网关
 * Created by progr1mmer on 2018/8/23.
 */
@RestController
@RequestMapping(value = BaseRequestMapping.SmsGateway.PREFIX)
@Api(value = "短信网关管理", description = "短信网关管理服务接口", tags = {"wlyy基础服务 - 短信网关管理服务接口"})
public class SmsGatewayEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private SmsGatewayService smsGatewayService;
    @PostMapping(value = BaseRequestMapping.SmsGateway.CREATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "创建")
    public ObjEnvelop<SmsGatewayDO> create (
            @ApiParam(name = "json_data", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
        SmsGatewayDO smsGatewayDO = toEntity(jsonData, SmsGatewayDO.class);
        smsGatewayDO = smsGatewayService.save(smsGatewayDO);
        return success(convertToModel(smsGatewayDO, SmsGatewayDO.class));
    }
    @PostMapping(value = BaseRequestMapping.SmsGateway.DELETE)
    @ApiOperation(value = "删除")
    public Envelop delete(
            @ApiParam(name = "ids", value = "id串,中间用,分隔", required = true)
            @RequestParam(value = "ids") String ids) {
        smsGatewayService.delete(ids);
        return success("删除成功");
    }
    @PostMapping(value = BaseRequestMapping.SmsGateway.UPDATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "更新")
    public ObjEnvelop<SmsGatewayDO> update (
            @ApiParam(name = "json_data", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
        SmsGatewayDO smsGatewayDO = toEntity(jsonData, SmsGatewayDO.class);
        if (null == smsGatewayDO.getId()) {
            return failed("ID不能为空", ObjEnvelop.class);
        }
        smsGatewayDO = smsGatewayService.save(smsGatewayDO);
        return success(convertToModel(smsGatewayDO, SmsGatewayDO.class));
    }
    @GetMapping(value = BaseRequestMapping.SmsGateway.PAGE)
    @ApiOperation(value = "获取分页")
    public PageEnvelop<SmsGatewayDO> 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<SmsGatewayDO> smsGatewayDOS = smsGatewayService.search(fields, filters, sorts, page, size);
        int count = (int)smsGatewayService.getCount(filters);
        return success(convertToModels(smsGatewayDOS, new ArrayList<>(), SmsGatewayDO.class), count, page, size);
    }
    @GetMapping(value = BaseRequestMapping.SmsGateway.LIST)
    @ApiOperation(value = "获取列表")
    public ListEnvelop<SmsGatewayDO> 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<SmsGatewayDO> smsGatewayDOS = smsGatewayService.search(fields, filters, sorts);
        return success(convertToModels(smsGatewayDOS, new ArrayList<>(), SmsGatewayDO.class));
    }
    @GetMapping(value = BaseRequestMapping.SmsGateway.SEND)
    @ApiOperation(value = "发送短信")
    public Envelop send (
            @ApiParam(name = "clientId", value = "应用ID", required = true)
            @RequestParam(value = "clientId") String clientId,
            @ApiParam(name = "type", value = "短信标签类型", required = true)
            @RequestParam(value = "type") Integer type,
            @ApiParam(name = "mobile", value = "手机号码", required = true)
            @RequestParam(value = "mobile") String mobile) {
        return success("");
    }
}

+ 96 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/sms/SmsTemplateEndpoint.java

@ -0,0 +1,96 @@
package com.yihu.jw.base.endpoint.sms;
import com.yihu.jw.base.service.SmsTemplateService;
import com.yihu.jw.entity.base.sms.SmsTemplateDO;
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.ArrayList;
import java.util.List;
/**
 * Endpoint - 短信模板
 * Created by progr1mmer on 2018/8/23.
 */
@RestController
@RequestMapping(value = BaseRequestMapping.SmsTemplate.PREFIX)
@Api(value = "短信模板管理", description = "短信模板管理服务接口", tags = {"wlyy基础服务 - 短信模板管理服务接口"})
public class SmsTemplateEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private SmsTemplateService smsTemplateService;
    @PostMapping(value = BaseRequestMapping.SmsTemplate.CREATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "创建")
    public ObjEnvelop<SmsTemplateDO> create (
            @ApiParam(name = "json_data", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
        SmsTemplateDO smsTemplateDO = toEntity(jsonData, SmsTemplateDO.class);
        smsTemplateDO = smsTemplateService.save(smsTemplateDO);
        return success(convertToModel(smsTemplateDO, SmsTemplateDO.class));
    }
    @PostMapping(value = BaseRequestMapping.SmsTemplate.DELETE)
    @ApiOperation(value = "删除")
    public Envelop delete(
            @ApiParam(name = "ids", value = "id串,中间用,分隔", required = true)
            @RequestParam(value = "ids") String ids) {
        smsTemplateService.delete(ids);
        return success("删除成功");
    }
    @PostMapping(value = BaseRequestMapping.SmsTemplate.UPDATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "更新")
    public ObjEnvelop<SmsTemplateDO> update (
            @ApiParam(name = "json_data", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
        SmsTemplateDO smsTemplateDO = toEntity(jsonData, SmsTemplateDO.class);
        if (null == smsTemplateDO.getId()) {
            return failed("ID不能为空", ObjEnvelop.class);
        }
        smsTemplateDO = smsTemplateService.save(smsTemplateDO);
        return success(convertToModel(smsTemplateDO, SmsTemplateDO.class));
    }
    @GetMapping(value = BaseRequestMapping.SmsTemplate.PAGE)
    @ApiOperation(value = "获取分页")
    public PageEnvelop<SmsTemplateDO> 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<SmsTemplateDO> smsTemplateDOS = smsTemplateService.search(fields, filters, sorts, page, size);
        int count = (int)smsTemplateService.getCount(filters);
        return success(convertToModels(smsTemplateDOS, new ArrayList<>(), SmsTemplateDO.class), count, page, size);
    }
    @GetMapping(value = BaseRequestMapping.SmsTemplate.LIST)
    @ApiOperation(value = "获取列表")
    public ListEnvelop<SmsTemplateDO> 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<SmsTemplateDO> smsTemplateDOS = smsTemplateService.search(fields, filters, sorts);
        return success(convertToModels(smsTemplateDOS, new ArrayList<>(), SmsTemplateDO.class));
    }
}

+ 1 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/system/SystemDictEndpoint.java

@ -18,6 +18,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.List;
/**
/**
 * Endpoint - 系统字典
 * Created by progr1mmer on 2018/8/16.
 * Created by progr1mmer on 2018/8/16.
 */
 */
@RestController
@RestController

+ 1 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/system/SystemDictEntryEndpoint.java

@ -18,6 +18,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.List;
/**
/**
 * Endpoint - 系统字典项
 * Created by progr1mmer on 2018/8/16.
 * Created by progr1mmer on 2018/8/16.
 */
 */
@RestController
@RestController

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

@ -18,6 +18,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.List;
/**
/**
 * Endpoint - 用户
 * Created by progr1mmer on 2018/8/16.
 * Created by progr1mmer on 2018/8/16.
 */
 */
@RestController
@RestController

+ 1 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/FunctionService.java

@ -7,6 +7,7 @@ import org.springframework.stereotype.Service;
/**
/**
 * Service - 功能
 * Created by chenweida on 2017/5/19.
 * Created by chenweida on 2017/5/19.
 */
 */
@Service
@Service

+ 20 - 20
svr/svr-base/src/main/java/com/yihu/jw/base/service/ModuleFunctionService.java

@ -1,20 +1,20 @@
package com.yihu.jw.base.service;
import com.yihu.jw.base.dao.ModuleFunctionDao;
import com.yihu.jw.entity.base.module.ModuleFunctionDO;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
 * Created by chenweida on 2017/5/19.
 */
@Service
public class ModuleFunctionService extends BaseJpaService<ModuleFunctionDO, ModuleFunctionDao> {
    @Autowired
    private ModuleFunctionDao moduleFunctionDao;
}
//package com.yihu.jw.base.service;
//
//import com.yihu.jw.base.dao.ModuleFunctionDao;
//import com.yihu.jw.entity.base.module.ModuleFunctionDO;
//import com.yihu.mysql.query.BaseJpaService;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Service;
//
//
///**
// * Created by chenweida on 2017/5/19.
// */
//@Service
//public class ModuleFunctionService extends BaseJpaService<ModuleFunctionDO, ModuleFunctionDao> {
//
//    @Autowired
//    private ModuleFunctionDao moduleFunctionDao;
//
//
//}

+ 1 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/ModuleService.java

@ -7,6 +7,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.stereotype.Service;
/**
/**
 * Service - 模块
 * Created by chenweida on 2017/5/19.
 * Created by chenweida on 2017/5/19.
 */
 */
@Service
@Service

+ 1 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/RoleModuleFunctionService.java

@ -7,6 +7,7 @@ import org.springframework.stereotype.Service;
/**
/**
 * Service - 角色模块功能
 * Created by progr1mmer on 2018/8/17.
 * Created by progr1mmer on 2018/8/17.
 */
 */
@Service
@Service

+ 1 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/RoleService.java

@ -6,6 +6,7 @@ import com.yihu.mysql.query.BaseJpaService;
import org.springframework.stereotype.Service;
import org.springframework.stereotype.Service;
/**
/**
 * Service - 角色
 * Created by progr1mmer on 2018/8/17.
 * Created by progr1mmer on 2018/8/17.
 */
 */
@Service
@Service

+ 14 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/SaasDefaultModuleFunctionService.java

@ -0,0 +1,14 @@
package com.yihu.jw.base.service;
import com.yihu.jw.base.dao.SaasDefaultModuleFunctionDao;
import com.yihu.jw.entity.base.saas.SaasDefaultModuleFunctionDO;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.stereotype.Service;
/**
 * Created by progr1mmer on 2018/8/17.
 */
@Service
public class SaasDefaultModuleFunctionService extends BaseJpaService<SaasDefaultModuleFunctionDO, SaasDefaultModuleFunctionDao> {
}

+ 0 - 14
svr/svr-base/src/main/java/com/yihu/jw/base/service/SaasDefaultModuleService.java

@ -1,14 +0,0 @@
package com.yihu.jw.base.service;
import com.yihu.jw.base.dao.SaasDefaultModuleDao;
import com.yihu.jw.entity.base.saas.SaasDefaultModuleDO;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.stereotype.Service;
/**
 * Created by progr1mmer on 2018/8/17.
 */
@Service
public class SaasDefaultModuleService extends BaseJpaService<SaasDefaultModuleDO, SaasDefaultModuleDao> {
}

+ 15 - 15
svr/svr-base/src/main/java/com/yihu/jw/base/service/SaasModuleService.java

@ -1,15 +1,15 @@
package com.yihu.jw.base.service;
import com.yihu.jw.base.dao.SaasModuleDao;
import com.yihu.jw.entity.base.saas.SaasModuleDO;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.stereotype.Service;
/**
 * Created by progr1mmer on 2018/8/17.
 */
@Service
public class SaasModuleService extends BaseJpaService<SaasModuleDO, SaasModuleDao> {
}
//package com.yihu.jw.base.service;
//
//import com.yihu.jw.base.dao.SaasModuleDao;
//import com.yihu.jw.entity.base.saas.SaasModuleDO;
//import com.yihu.mysql.query.BaseJpaService;
//import org.springframework.stereotype.Service;
//
///**
// * Created by progr1mmer on 2018/8/17.
// */
//@Service
//public class SaasModuleService extends BaseJpaService<SaasModuleDO, SaasModuleDao> {
//
//
//}

+ 62 - 21
svr/svr-base/src/main/java/com/yihu/jw/base/service/SaasService.java

@ -1,52 +1,93 @@
package com.yihu.jw.base.service;
package com.yihu.jw.base.service;
import com.yihu.jw.base.dao.SaasDefaultModuleDao;
import com.yihu.jw.base.dao.SaasModuleDao;
import com.yihu.jw.base.dao.UserDao;
import com.yihu.jw.base.dao.*;
import com.yihu.jw.entity.base.role.RoleDO;
import com.yihu.jw.entity.base.role.RoleModuleFunctionDO;
import com.yihu.jw.entity.base.saas.SaasDO;
import com.yihu.jw.entity.base.saas.SaasDO;
import com.yihu.jw.base.dao.SaasDao;
import com.yihu.jw.entity.base.saas.SaasDefaultModuleDO;
import com.yihu.jw.entity.base.saas.SaasModuleDO;
import com.yihu.jw.entity.base.saas.SaasDefaultModuleFunctionDO;
import com.yihu.jw.entity.base.user.UserDO;
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.mysql.query.BaseJpaService;
import com.yihu.utils.security.MD5;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.ArrayList;
import java.util.List;
import java.util.List;
import java.util.UUID;
/**
/**
 * Created by chenweida on 2017/5/19.
 * Service - SAAS
 * Created by progr1mmer on 2018/8/14.
 */
 */
@Service
@Service
public class SaasService extends BaseJpaService<SaasDO, SaasDao> {
public class SaasService extends BaseJpaService<SaasDO, SaasDao> {
    @Value("${wlyy.base.client-id}")
    private String clientId;
    @Autowired
    @Autowired
    private SaasDao saasDao;
    private SaasDao saasDao;
    @Autowired
    @Autowired
    private UserDao userDao;
    private UserDao userDao;
    @Autowired
    @Autowired
    private SaasDefaultModuleDao saasDefaultModuleDao;
    private SaasDefaultModuleFunctionDao saasDefaultModuleFunctionDao;
    @Autowired
    private RoleModuleFunctionDao roleModuleFunctionDao;
    @Autowired
    private RoleDao roleDao;
    @Autowired
    @Autowired
    private SaasModuleDao saasModuleDao;
    private UserRoleDao userRoleDao;
    @Transactional
    @Transactional
    public SaasDO save(SaasDO saas, UserDO user) {
    public SaasDO save(SaasDO saas, UserDO user) {
        user = userDao.save(user);
        saas.setManager(user.getId());
        saas = saasDao.save(saas);
        String saasId = saas.getId();
        List<SaasDefaultModuleDO> saasDefaultModuleDOS = saasDefaultModuleDao.findByType(saas.getType());
        List<SaasModuleDO> saasModuleDOS = new ArrayList<>();
        //初始化租户信息
        String saasId = getCode();
        String userId = getCode();
        String roleId = getCode();
        saas.setId(saasId);
        saas.setManager(userId);
        //初始化角色
        RoleDO roleDO = new RoleDO();
        roleDO.setClientId(clientId);
        roleDO.setSaasId(saasId);
        roleDO.setName(saas.getName() + "管理员");
        roleDO.setCode(randomString(16));
        roleDO.setRemark("Saas初始化分配");
        roleDO.setSystem(false);
        //初始化租户管理员
        user.setId(userId);
        user.setEnabled(true);
        user.setLocked(false);
        user.setSalt(randomString(5));
        String password = user.getPassword();
        if (StringUtils.isEmpty(password)) {
            password = user.getIdcard().substring(0, 5);
        }
        user.setPassword(MD5.md5Hex(password + "{" + user.getSalt() + "}"));
        //初始化管理员角色
        UserRoleDO userRoleDO = new UserRoleDO();
        userRoleDO.setUserId(user.getId());
        userRoleDO.setRoleCode(roleDO.getId());
        //初始化租户默认模块
        List<SaasDefaultModuleFunctionDO> saasDefaultModuleDOS = saasDefaultModuleFunctionDao.findByType(saas.getType());
        List<RoleModuleFunctionDO> roleModuleFunctionDOS = new ArrayList<>();
        saasDefaultModuleDOS.forEach(item -> {
        saasDefaultModuleDOS.forEach(item -> {
            SaasModuleDO saasModuleDO = new SaasModuleDO();
            saasModuleDO.setSaasId(saasId);
            saasModuleDO.setModuleId(item.getModuleId());
            saasModuleDOS.add(saasModuleDO);
            RoleModuleFunctionDO roleModuleFunctionDO = new RoleModuleFunctionDO();
            roleModuleFunctionDO.setRoleId(roleId);
            roleModuleFunctionDO.setModuleId(item.getModuleId());
            roleModuleFunctionDO.setFunctionId(item.getFunctionId());
            roleModuleFunctionDO.setEnabled(true);
            roleModuleFunctionDOS.add(roleModuleFunctionDO);
        });
        });
        saasModuleDao.save(saasModuleDOS);
        //保存数据
        saas = saasDao.save(saas);
        roleDao.save(roleDO);
        userDao.save(user);
        userRoleDao.save(userRoleDO);
        roleModuleFunctionDao.save(roleModuleFunctionDOS);
        return saas;
        return saas;
    }
    }

+ 15 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/SmsGatewayService.java

@ -0,0 +1,15 @@
package com.yihu.jw.base.service;
import com.yihu.jw.base.dao.SmsGatewayDao;
import com.yihu.jw.entity.base.sms.SmsGatewayDO;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.stereotype.Service;
/**
 * Service - 短信网关
 * Created by progr1mmer on 2018/8/23.
 */
@Service
public class SmsGatewayService extends BaseJpaService<SmsGatewayDO, SmsGatewayDao> {
}

+ 15 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/SmsTemplateService.java

@ -0,0 +1,15 @@
package com.yihu.jw.base.service;
import com.yihu.jw.base.dao.SmsTemplateDao;
import com.yihu.jw.entity.base.sms.SmsTemplateDO;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.stereotype.Service;
/**
 * Service - 短信模板
 * Created by progr1mmer on 2018/8/23.
 */
@Service
public class SmsTemplateService extends BaseJpaService<SmsTemplateDO, SmsTemplateDao>{
}

+ 1 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/SystemDictEntryService.java

@ -6,6 +6,7 @@ import com.yihu.mysql.query.BaseJpaService;
import org.springframework.stereotype.Service;
import org.springframework.stereotype.Service;
/**
/**
 * Service - 系统字典项
 * Created by LiTaohong on 2017/12/01.
 * Created by LiTaohong on 2017/12/01.
 */
 */
@Service
@Service

+ 1 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/SystemDictService.java

@ -6,6 +6,7 @@ import com.yihu.mysql.query.BaseJpaService;
import org.springframework.stereotype.Service;
import org.springframework.stereotype.Service;
/**
/**
 * Service - 系统字典
 * Created by LiTaohong on 2017/12/01.
 * Created by LiTaohong on 2017/12/01.
 */
 */
@Service
@Service

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

@ -6,6 +6,7 @@ import com.yihu.mysql.query.BaseJpaService;
import org.springframework.stereotype.Service;
import org.springframework.stereotype.Service;
/**
/**
 * Service - 用户
 * Created by progr1mmer on 2018/8/20.
 * Created by progr1mmer on 2018/8/20.
 */
 */
@Service
@Service

+ 4 - 0
svr/svr-base/src/main/resources/application.yml

@ -35,6 +35,10 @@ eureka:
    serviceUrl:
    serviceUrl:
      defaultZone: http://jw:jkzl@172.19.103.33:8761/eureka/
      defaultZone: http://jw:jkzl@172.19.103.33:8761/eureka/
wlyy:
  base:
    client-id: EwC0iRSrcS
---
---
spring:
spring:
  profiles: jwdev
  profiles: jwdev