Browse Source

Merge remote-tracking branch 'center/dev' into dev

# Conflicts:
#	svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/saas/SaasEndpoint.java
zdm 6 years ago
parent
commit
7441f66a47
33 changed files with 1035 additions and 31 deletions
  1. 0 5
      common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/DictHealthProblemDO.java
  2. 15 1
      common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/DictMedicineDO.java
  3. 13 1
      common/common-entity/src/main/java/com/yihu/jw/entity/base/saas/SaasDO.java
  4. 110 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/saas/SaasThemeDO.java
  5. 47 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/saas/SaasThemeExtendDO.java
  6. 37 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/saas/SaasUserDO.java
  7. 11 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/system/SystemDictEntryDO.java
  8. 5 0
      common/common-request-mapping/src/main/java/com/yihu/jw/rm/base/BaseRequestMapping.java
  9. 10 2
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/archives/dict/SystemDictEntryVO.java
  10. 44 0
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/saas/SaasThemeExtendVO.java
  11. 107 0
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/saas/SaasThemeVO.java
  12. 32 0
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/saas/SaasUserVO.java
  13. 10 0
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/saas/SaasVO.java
  14. 240 0
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/wx/WxWechatSingleVO.java
  15. 3 1
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/DictDiseaseDao.java
  16. 2 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/DictHealthProblemDao.java
  17. 4 4
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/DictHospitalDeptDao.java
  18. 4 4
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/DictIcd10Dao.java
  19. 4 3
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/DictJobTitleDao.java
  20. 3 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/DictMedicineDao.java
  21. 13 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/saas/SaasThemeDao.java
  22. 13 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/saas/SaasThemeExtendDao.java
  23. 13 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/saas/SaasUserDao.java
  24. 4 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/system/SystemDictDao.java
  25. 4 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/system/SystemDictEntryDao.java
  26. 2 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/wx/WechatDao.java
  27. 29 10
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/saas/SaasEndpoint.java
  28. 17 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/wx/WechatController.java
  29. 176 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/saas/SaasService.java
  30. 16 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/saas/SaasThemeExtendService.java
  31. 16 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/saas/SaasThemeService.java
  32. 16 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/saas/SaasUserService.java
  33. 15 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/wx/WechatService.java

+ 0 - 5
common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/DictHealthProblemDO.java

@ -37,11 +37,6 @@ public class DictHealthProblemDO extends IntegerIdentityEntity {
     */
    private String chronicFlag;
    /**
     * 是否传染病 1-是,0-否
     */
    private String infectiousFlag;
    /**
	 * 描述
	 */

+ 15 - 1
common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/DictMedicineDO.java

@ -21,6 +21,11 @@ public class DictMedicineDO extends IntegerIdentityEntity {
	 */
	private String code;
    /**
     * saasId
     */
    private String saasId;
    /**
	 * 药品中文名
	 */
@ -80,7 +85,16 @@ public class DictMedicineDO extends IntegerIdentityEntity {
        this.code = code;
    }
	@Column(name = "name")
    @Column(name = "saas_id")
    public String getSaasId() {
        return saasId;
    }
    public void setSaasId(String saasId) {
        this.saasId = saasId;
    }
    @Column(name = "name")
    public String getName() {
        return name;
    }

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

@ -26,11 +26,13 @@ public class SaasDO extends UuidIdentityEntityWithOperator {
        auditPassed,
		//审核不通过
        auditNotPassed,
        //已暂停
        stoped,
		//已删除
		delete
    }
	private String name; //系统名称
	private Status status; //状态  0待审核 1审核通过 2审核不通过 3已删除
	private Status status; // 状态(0-待审核 1-审核通过(启用) 2-审核不通过 3-已暂停)
	private String remark; //备注
	private String logo; //远程fastDFS文件地址
    private Integer type; //类型
@ -41,6 +43,7 @@ public class SaasDO extends UuidIdentityEntityWithOperator {
	private String businessLicense; //营业执照url
	private String systemName; //系统名称
	private String areaNumber; //行政区划代码
	private String themeColor; //主题色
    //审核不通过的原因
    private String auditFailedReason;
    //管理员姓名
@ -193,4 +196,13 @@ public class SaasDO extends UuidIdentityEntityWithOperator {
    public void setMobile(String mobile) {
        this.mobile = mobile;
    }
    @Column(name = "theme_color")
    public String getThemeColor() {
        return themeColor;
    }
    public void setThemeColor(String themeColor) {
        this.themeColor = themeColor;
    }
}

+ 110 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/saas/SaasThemeDO.java

@ -0,0 +1,110 @@
package com.yihu.jw.entity.base.saas;
import com.yihu.jw.entity.UuidIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.List;
/**
 * 租户主题风格
 * @author yeshijie on 2018/10/16.
 */
@Entity
@Table(name = "base_saas_theme")
public class SaasThemeDO extends UuidIdentityEntity{
    private String saasId;//saas_id
    private String type;//组件类型(1单张图文广告,2多图图文广告,3标题,4中心指标1,5中心指标2)
    private String img;//图片url
    private String title;//标题
    private String content;//内容/解释说明
    private String url;//跳转url
    private String font;//字体大小
    private Integer sort;//排序
    List<SaasThemeExtendDO> themeExtendList;//主题扩展
    @Column(name = "saas_id")
    public String getSaasId() {
        return saasId;
    }
    public void setSaasId(String saasId) {
        this.saasId = saasId;
    }
    @Column(name = "type")
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    @Column(name = "img")
    public String getImg() {
        return img;
    }
    public void setImg(String img) {
        this.img = img;
    }
    @Column(name = "title")
    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    @Column(name = "content")
    public String getContent() {
        return content;
    }
    public void setContent(String content) {
        this.content = content;
    }
    @Column(name = "url")
    public String getUrl() {
        return url;
    }
    public void setUrl(String url) {
        this.url = url;
    }
    @Column(name = "font")
    public String getFont() {
        return font;
    }
    public void setFont(String font) {
        this.font = font;
    }
    @Column(name = "sort")
    public Integer getSort() {
        return sort;
    }
    public void setSort(Integer sort) {
        this.sort = sort;
    }
    @Transient
    public List<SaasThemeExtendDO> getThemeExtendList() {
        return themeExtendList;
    }
    public void setThemeExtendList(List<SaasThemeExtendDO> themeExtendList) {
        this.themeExtendList = themeExtendList;
    }
}

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

@ -0,0 +1,47 @@
package com.yihu.jw.entity.base.saas;
import com.yihu.jw.entity.UuidIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
 * 主题风格扩展表(type=2时存多图)
 * @author yeshijie on 2018/10/16.
 */
@Entity
@Table(name = "base_saas_theme_extend")
public class SaasThemeExtendDO extends UuidIdentityEntity {
    private String themeId;//theme_id
    private String img;//图片地址
    private String url;//url地址
    @Column(name = "theme_id")
    public String getThemeId() {
        return themeId;
    }
    public void setThemeId(String themeId) {
        this.themeId = themeId;
    }
    @Column(name = "img")
    public String getImg() {
        return img;
    }
    public void setImg(String img) {
        this.img = img;
    }
    @Column(name = "url")
    public String getUrl() {
        return url;
    }
    public void setUrl(String url) {
        this.url = url;
    }
}

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

@ -0,0 +1,37 @@
package com.yihu.jw.entity.base.saas;
import com.yihu.jw.entity.UuidIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
 * 租户账号
 * @author yeshijie on 2018/10/16.
 */
@Entity
@Table(name = "base_saas_user")
public class SaasUserDO extends UuidIdentityEntity {
    private String saasId;//租户ID
    private String userId;//用户账号
    @Column(name = "saas_id")
    public String getSaasId() {
        return saasId;
    }
    public void setSaasId(String saasId) {
        this.saasId = saasId;
    }
    @Column(name = "user_id")
    public String getUserId() {
        return userId;
    }
    public void setUserId(String userId) {
        this.userId = userId;
    }
}

+ 11 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/system/SystemDictEntryDO.java

@ -18,6 +18,8 @@ public class SystemDictEntryDO extends UuidIdentityEntity {
	private String dictCode;
	//编码
	private String code;
	//租户id
	private String saasId;
	//拼音码
	private String pyCode;
	//值
@ -36,6 +38,15 @@ public class SystemDictEntryDO extends UuidIdentityEntity {
		this.dictCode = dictCode;
	}
	@Column(name = "saasId")
	public String getSaasId() {
		return saasId;
	}
	public void setSaasId(String saasId) {
		this.saasId = saasId;
	}
	@Column(name = "code", nullable = false, length = 50)
	public String getCode() {
		return code;

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

@ -26,6 +26,8 @@ public class BaseRequestMapping {
     */
    public static class Saas extends Basic {
        public static final String PREFIX  = "/saas";
        public static final String SYSTEM_CONFIGURATION  = "/system_configuration";
        public static final String THEME_STYLE  = "/theme_style";
        public static final String AUDIT  = "/audit";
    }
@ -222,6 +224,8 @@ public class BaseRequestMapping {
        public static final String getWechatInfos ="/getWechatInfos";
        public static final String saveWxAndSaas ="/saveWxAndSaas";
        public static final String updateWxAndSaas ="/updateWxAndSaas";
        public static final String findWxWechatSingle ="/findWxWechatSingle";
        public static final String findWxWechatExist ="/findWxWechatExist";
        public static final String findWechatCombo ="/findWechatCombo";
        public static final String findWechatImgGroup ="/findWechatImgGroup";
@ -235,6 +239,7 @@ public class BaseRequestMapping {
        public static final String saveWxReplyScene ="/saveWxReplyScene";
        public static final String findWxReplyScene ="/findWxReplyScene";
        public static final String saveWxTemp ="/saveWxTemp";
        public static final String findWxtemp ="/findWxtemp";
        public static final String saveWxTempConfig ="/saveWxTempConfig";
        public static final String findWxTempConfigList ="/findWxTempConfigList";
        public static final String findWxTemplateConfig ="/findWxTemplateConfig";

+ 10 - 2
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/archives/dict/SystemDictEntryVO.java

@ -4,8 +4,6 @@ import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.List;
/**
 * Created by wq on 2016/2/19.
 */
@ -16,6 +14,8 @@ public class SystemDictEntryVO {
    private long dictId;
    @ApiModelProperty("系统字典元编码")
    private String code;
    @ApiModelProperty("saasId")
    private String saasId;
    @ApiModelProperty("系统字典元值")
    private String value;
    @ApiModelProperty("系统字典元排序")
@ -33,6 +33,14 @@ public class SystemDictEntryVO {
        this.dictId = dictId;
    }
    public String getSaasId() {
        return saasId;
    }
    public void setSaasId(String saasId) {
        this.saasId = saasId;
    }
    public String getCode() {
        return code;
    }

+ 44 - 0
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/saas/SaasThemeExtendVO.java

@ -0,0 +1,44 @@
package com.yihu.jw.restmodel.base.saas;
import com.yihu.jw.restmodel.UuidIdentityVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
 * 主题风格扩展表(type=2时存多图)
 * @author yeshijie on 2018/10/16.
 */
@ApiModel(value = "SaasThemeExtendVO", description = "主题风格扩展")
public class SaasThemeExtendVO extends UuidIdentityVO {
    @ApiModelProperty(value = "主题id", example = "theme_id")
    private String themeId;
    @ApiModelProperty(value = "图片地址", example = "图片地址")
    private String img;
    @ApiModelProperty(value = "url地址", example = "url地址")
    private String url;
    public String getThemeId() {
        return themeId;
    }
    public void setThemeId(String themeId) {
        this.themeId = themeId;
    }
    public String getImg() {
        return img;
    }
    public void setImg(String img) {
        this.img = img;
    }
    public String getUrl() {
        return url;
    }
    public void setUrl(String url) {
        this.url = url;
    }
}

+ 107 - 0
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/saas/SaasThemeVO.java

@ -0,0 +1,107 @@
package com.yihu.jw.restmodel.base.saas;
import com.yihu.jw.restmodel.UuidIdentityVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.List;
/**
 * 租户主题风格
 * @author yeshijie on 2018/10/16.
 */
@ApiModel(value = "SaasThemeVO", description = "租户主题风格")
public class SaasThemeVO extends UuidIdentityVO{
    @ApiModelProperty(value = "saas_id", example = "saas_id")
    private String saasId;
    @ApiModelProperty(value = "组件类型", example = "(1单张图文广告,2多图图文广告,3标题,4中心指标1,5中心指标2)")
    private String type;
    @ApiModelProperty(value = "图片url", example = "图片url")
    private String img;
    @ApiModelProperty(value = "标题", example = "标题")
    private String title;
    @ApiModelProperty(value = "内容/解释说明", example = "解释说明")
    private String content;
    @ApiModelProperty(value = "跳转url", example = "跳转url")
    private String url;
    @ApiModelProperty(value = "字体大小", example = "12")
    private String font;
    @ApiModelProperty(value = "排序", example = "1")
    private Integer sort;
    @ApiModelProperty(value = "type=2,才有值", example = "1")
    List<SaasThemeExtendVO> themeExtendList;
    public String getSaasId() {
        return saasId;
    }
    public void setSaasId(String saasId) {
        this.saasId = saasId;
    }
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    public String getImg() {
        return img;
    }
    public void setImg(String img) {
        this.img = img;
    }
    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    public String getContent() {
        return content;
    }
    public void setContent(String content) {
        this.content = content;
    }
    public String getUrl() {
        return url;
    }
    public void setUrl(String url) {
        this.url = url;
    }
    public String getFont() {
        return font;
    }
    public void setFont(String font) {
        this.font = font;
    }
    public Integer getSort() {
        return sort;
    }
    public void setSort(Integer sort) {
        this.sort = sort;
    }
    public List<SaasThemeExtendVO> getThemeExtendList() {
        return themeExtendList;
    }
    public void setThemeExtendList(List<SaasThemeExtendVO> themeExtendList) {
        this.themeExtendList = themeExtendList;
    }
}

+ 32 - 0
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/saas/SaasUserVO.java

@ -0,0 +1,32 @@
package com.yihu.jw.restmodel.base.saas;
import com.yihu.jw.restmodel.UuidIdentityVO;
import io.swagger.annotations.ApiModel;
/**
 * 租户账号
 * @author yeshijie on 2018/10/16.
 */
@ApiModel(value = "SaasUserVO", description = "租户账号")
public class SaasUserVO extends UuidIdentityVO {
    private String saasId;//租户ID
    private String userId;//用户账号
    public String getSaasId() {
        return saasId;
    }
    public void setSaasId(String saasId) {
        this.saasId = saasId;
    }
    public String getUserId() {
        return userId;
    }
    public void setUserId(String userId) {
        this.userId = userId;
    }
}

+ 10 - 0
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/saas/SaasVO.java

@ -49,6 +49,8 @@ public class SaasVO extends UuidIdentityVOWithOperator {
	private String systemName;
	@ApiModelProperty(value = "行政区划代码", example = "361000")
	private String areaNumber;
	@ApiModelProperty(value = "主题色", example = "主题色")
	private String themeColor;
	@ApiModelProperty(value = "机构", example = "机构")
	List<BaseOrgVO> orgList;
@ -199,4 +201,12 @@ public class SaasVO extends UuidIdentityVOWithOperator {
    public void setManagerName(String managerName) {
        this.managerName = managerName;
    }
	public String getThemeColor() {
		return themeColor;
	}
	public void setThemeColor(String themeColor) {
		this.themeColor = themeColor;
	}
}

+ 240 - 0
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/wx/WxWechatSingleVO.java

@ -0,0 +1,240 @@
package com.yihu.jw.restmodel.base.wx;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import java.util.List;
/**
 * Created by Trick on 2018/10/16.
 */
public class WxWechatSingleVO {
    @ApiModelProperty(value = "id")
    private String id;
    @ApiModelProperty(value = "名称")
    private String name;//名称
    @ApiModelProperty(value = "token")
    private String token;//token
    @ApiModelProperty(value = "加密密钥")
    private String encodingAesKey;//加密密钥
    @ApiModelProperty(value = "加密方式  0:明文模式   1:兼容模式   2:安全模式")
    private Integer encType;//加密方式  0:明文模式   1:兼容模式   2:安全模式
    @ApiModelProperty(value = "类型 -1 已删除 0未认证 1已认证 2 审核中 3.审核未通过'")
    private Integer status;//'类型 -1 已删除 0未认证 1已认证 2 审核中 3.审核未通过'
    @ApiModelProperty(value = "1:服务号 2 订阅号")
    private String type;//'1:服务号 2 订阅号
    @ApiModelProperty(value = "微信app_id")
    private String appId;//'微信app_id'
    @ApiModelProperty(value = "微信app_secret'")
    private String appSecret;//'微信app_secret'
    @ApiModelProperty(value = "原始ID")
    private String appOriginId;//原始ID
    @ApiModelProperty(value = "微信base_url'")
    private String baseUrl;//'微信base_url'
    @ApiModelProperty(value = "公总号登录账户")
    private String userName;//公总号登录账户
    @ApiModelProperty(value = "用户密码")
    private String password;//用户密码
    @ApiModelProperty(value = "1.自运营,2.外接")
    private String publicType;//1.自运营,2.外接
    @ApiModelProperty(value = "备注")
    private String remark;//'备注'
    //创建时间
    @ApiModelProperty(value = "创建时间")
    protected Date createTime;
    //创建者
    @ApiModelProperty(value = "创建者")
    protected String createUser;
    //创建者
    @ApiModelProperty(value = "创建者")
    protected String createUserName;
    //更新时间
    @ApiModelProperty(value = "更新时间")
    protected Date updateTime;
    //更新者
    @ApiModelProperty(value = "更新者")
    protected String updateUser;
    //更新者
    @ApiModelProperty(value = "更新者")
    protected String updateUserName;
    @ApiModelProperty(value = "租户")
    private List<WxSaasVO> saas;
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getToken() {
        return token;
    }
    public void setToken(String token) {
        this.token = token;
    }
    public String getEncodingAesKey() {
        return encodingAesKey;
    }
    public void setEncodingAesKey(String encodingAesKey) {
        this.encodingAesKey = encodingAesKey;
    }
    public Integer getEncType() {
        return encType;
    }
    public void setEncType(Integer encType) {
        this.encType = encType;
    }
    public Integer getStatus() {
        return status;
    }
    public void setStatus(Integer status) {
        this.status = status;
    }
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    public String getAppId() {
        return appId;
    }
    public void setAppId(String appId) {
        this.appId = appId;
    }
    public String getAppSecret() {
        return appSecret;
    }
    public void setAppSecret(String appSecret) {
        this.appSecret = appSecret;
    }
    public String getAppOriginId() {
        return appOriginId;
    }
    public void setAppOriginId(String appOriginId) {
        this.appOriginId = appOriginId;
    }
    public String getBaseUrl() {
        return baseUrl;
    }
    public void setBaseUrl(String baseUrl) {
        this.baseUrl = baseUrl;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getPublicType() {
        return publicType;
    }
    public void setPublicType(String publicType) {
        this.publicType = publicType;
    }
    public String getRemark() {
        return remark;
    }
    public void setRemark(String remark) {
        this.remark = remark;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public String getCreateUser() {
        return createUser;
    }
    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }
    public String getCreateUserName() {
        return createUserName;
    }
    public void setCreateUserName(String createUserName) {
        this.createUserName = createUserName;
    }
    public Date getUpdateTime() {
        return updateTime;
    }
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }
    public String getUpdateUser() {
        return updateUser;
    }
    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
    }
    public String getUpdateUserName() {
        return updateUserName;
    }
    public void setUpdateUserName(String updateUserName) {
        this.updateUserName = updateUserName;
    }
    public List<WxSaasVO> getSaas() {
        return saas;
    }
    public void setSaas(List<WxSaasVO> saas) {
        this.saas = saas;
    }
}

+ 3 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/DictDiseaseDao.java

@ -1,7 +1,7 @@
package com.yihu.jw.base.dao.dict;
import com.yihu.jw.entity.base.dict.DictDiseaseDO;
import com.yihu.jw.entity.base.dict.DictIcd10DO;
import com.yihu.jw.entity.base.dict.DictJobTitleDO;
import feign.Param;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
@ -31,4 +31,6 @@ public interface DictDiseaseDao extends PagingAndSortingRepository<DictDiseaseDO
    @Query("select code as code,name as name from DictDiseaseDO")
    List<Map<String,Object>> findCodeAndName(Pageable pageable);
    List<DictDiseaseDO> findBySaasId(String saasId);
}

+ 2 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/DictHealthProblemDao.java

@ -31,4 +31,6 @@ public interface DictHealthProblemDao extends PagingAndSortingRepository<DictHea
    @Query("select code as code,name as name from DictHealthProblemDO")
    List<Map<String,Object>> findCodeAndName();
    List<DictHealthProblemDO> findBySaasId(String saasId);
}

+ 4 - 4
svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/DictHospitalDeptDao.java

@ -1,15 +1,13 @@
package com.yihu.jw.base.dao.dict;
import com.yihu.jw.entity.base.dict.DictHealthProblemDO;
import com.yihu.jw.entity.base.dict.DictIcd10DO;
import com.yihu.jw.entity.base.dict.DictDiseaseDO;
import com.yihu.jw.entity.base.dict.DictHospitalDeptDO;
import feign.Param;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import com.yihu.jw.entity.base.dict.DictHospitalDeptDO;
import java.util.List;
import java.util.Map;
@ -32,4 +30,6 @@ public interface DictHospitalDeptDao extends PagingAndSortingRepository<DictHosp
    @Query("select code as code,name as name from DictHospitalDeptDO")
    List<Map<String,Object>> findCodeAndName(Pageable pageable);
    List<DictHospitalDeptDO> findBySaasId(String saasId);
}

+ 4 - 4
svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/DictIcd10Dao.java

@ -1,14 +1,12 @@
package com.yihu.jw.base.dao.dict;
import com.yihu.jw.entity.base.dict.DictHospitalDeptDO;
import feign.Param;
import com.yihu.jw.entity.base.dict.DictIcd10DO;
import com.yihu.jw.entity.base.dict.DictJobTitleDO;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import com.yihu.jw.entity.base.dict.DictIcd10DO;
import java.util.List;
import java.util.Map;
@ -31,4 +29,6 @@ public interface DictIcd10Dao extends PagingAndSortingRepository<DictIcd10DO, In
    @Query("select code as code,name as name from DictIcd10DO")
    List<Map<String,Object>> findCodeAndName(Pageable pageable);
    List<DictIcd10DO> findBySaasId(String saasId);
}

+ 4 - 3
svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/DictJobTitleDao.java

@ -1,14 +1,13 @@
package com.yihu.jw.base.dao.dict;
import com.yihu.jw.entity.base.dict.DictIcd10DO;
import com.yihu.jw.entity.base.dict.DictJobTitleDO;
import com.yihu.jw.entity.base.dict.DictMedicineDO;
import feign.Param;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import com.yihu.jw.entity.base.dict.DictJobTitleDO;
import java.util.List;
import java.util.Map;
@ -31,4 +30,6 @@ public interface DictJobTitleDao extends PagingAndSortingRepository<DictJobTitle
    @Query("select code as code,name as name from DictJobTitleDO")
    List<Map<String,Object>> findCodeAndName(Pageable pageable);
    List<DictJobTitleDO> findBySaasId(String saasId);
}

+ 3 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/DictMedicineDao.java

@ -1,6 +1,7 @@
package com.yihu.jw.base.dao.dict;
import com.yihu.jw.entity.base.dict.DictMedicineDO;
import com.yihu.jw.entity.base.system.SystemDictDO;
import feign.Param;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
@ -30,4 +31,6 @@ public interface DictMedicineDao extends PagingAndSortingRepository<DictMedicine
    @Query("select code as code,name as name from DictMedicineDO")
    List<Map<String,Object>> findCodeAndName(Pageable pageable);
    List<DictMedicineDO> findBySaasId(String saasId);
}

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

@ -0,0 +1,13 @@
package com.yihu.jw.base.dao.saas;
import com.yihu.jw.entity.base.saas.SaasThemeDO;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * 租户主题风格
 * @author yeshijie on 2018/10/16.
 */
public interface SaasThemeDao extends PagingAndSortingRepository<SaasThemeDO, String> {
}

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

@ -0,0 +1,13 @@
package com.yihu.jw.base.dao.saas;
import com.yihu.jw.entity.base.saas.SaasThemeExtendDO;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * 主题风格扩展表(type=2时存多图)
 * @author yeshijie on 2018/10/16.
 */
public interface SaasThemeExtendDao extends PagingAndSortingRepository<SaasThemeExtendDO, String> {
}

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

@ -0,0 +1,13 @@
package com.yihu.jw.base.dao.saas;
import com.yihu.jw.entity.base.saas.SaasUserDO;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * 租户账号
 * @author yeshijie on 2018/10/16.
 */
public interface SaasUserDao extends PagingAndSortingRepository<SaasUserDO, String> {
}

+ 4 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/system/SystemDictDao.java

@ -4,9 +4,13 @@ import com.yihu.jw.entity.base.system.SystemDictDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * Dao - 系统字典
 * Created by LiTaohong on 2017/12/01.
 */
public interface SystemDictDao extends PagingAndSortingRepository<SystemDictDO, String>, JpaSpecificationExecutor<SystemDictDO> {
    List<SystemDictDO> findBySaasId(String saasId);
}

+ 4 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/system/SystemDictEntryDao.java

@ -4,9 +4,13 @@ import com.yihu.jw.entity.base.system.SystemDictEntryDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * Dao - 系统字典项
 * Created by LiTaohong on 2017/12/01.
 */
public interface SystemDictEntryDao extends PagingAndSortingRepository<SystemDictEntryDO, String>, JpaSpecificationExecutor<SystemDictEntryDO> {
    List<SystemDictEntryDO> findBySaasId(String saasId);
}

+ 2 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/wx/WechatDao.java

@ -26,4 +26,6 @@ public interface WechatDao extends PagingAndSortingRepository<WxWechatDO, String
    @Query("from WxWechatDO w where w.appOriginId = ?1 and w.status!=-1")
    WxWechatDO findByAppOriginId(String appOriginId);
    List<WxWechatDO> findByName(String name);
}

+ 29 - 10
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/saas/SaasEndpoint.java

@ -1,11 +1,10 @@
package com.yihu.jw.base.endpoint.saas;
import com.yihu.jw.base.service.saas.SaasTypeDictService;
import com.yihu.jw.base.service.saas.SaasService;
import com.yihu.jw.base.service.saas.SaasTypeDictService;
import com.yihu.jw.base.service.user.UserService;
import com.yihu.jw.base.util.ErrorCodeUtil;
import com.yihu.jw.entity.base.saas.SaasDO;
import com.yihu.jw.base.service.saas.SaasService;
import com.yihu.jw.entity.base.saas.SaasTypeDictDO;
import com.yihu.jw.entity.base.user.UserDO;
import com.yihu.jw.exception.code.BaseErrorCode;
@ -52,8 +51,8 @@ public class SaasEndpoint extends EnvelopRestEndpoint {
    private String username;
    @PostMapping(value = BaseRequestMapping.Saas.CREATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "创建")
    public Envelop create(
    @ApiOperation(value = "创建-基本信息")
    public Envelop create (
            @ApiParam(name = "saasDO", value = "Json数据", required = true)
            @RequestParam(value = "saasDO") SaasDO saasDO,
            @ApiParam(name = "userDO", value = "Json数据", required = true)
@ -72,6 +71,27 @@ public class SaasEndpoint extends EnvelopRestEndpoint {
        return success("创建成功");
    }
    @PostMapping(value = BaseRequestMapping.Saas.SYSTEM_CONFIGURATION, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "创建-系统配置")
    public Envelop createSystemConfig (
            @ApiParam(name = "saasDO", value = "Json数据", required = true)
            @RequestParam(value = "saasDO") SaasDO saasDO) throws Exception {
        saasService.saveSystemConfig(saasDO);
        return success("创建成功");
    }
    @PostMapping(value = BaseRequestMapping.Saas.THEME_STYLE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "创建-主题风格")
    public Envelop createThemeConfig (
            @ApiParam(name = "saasDO", value = "Json数据", required = true)
            @RequestParam(value = "saasDO") SaasDO saasDO) throws Exception {
        saasService.createThemeConfig(saasDO);
        return success("创建成功");
    }
    @PostMapping(value = BaseRequestMapping.Saas.DELETE)
    @ApiOperation(value = "删除")
    public Envelop delete(
@ -83,7 +103,7 @@ public class SaasEndpoint extends EnvelopRestEndpoint {
    @PostMapping(value = BaseRequestMapping.Saas.UPDATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "更新")
    public Envelop update(
    public Envelop update (
            @ApiParam(name = "json", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
        SaasDO saasDO = toEntity(jsonData, SaasDO.class);
@ -96,7 +116,7 @@ public class SaasEndpoint extends EnvelopRestEndpoint {
    @GetMapping(value = BaseRequestMapping.Saas.PAGE)
    @ApiOperation(value = "获取分页")
    public PageEnvelop<SaasVO> page(
    public PageEnvelop<SaasVO> page (
            @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
            @RequestParam(value = "fields", required = false) String fields,
            @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
@ -108,13 +128,13 @@ public class SaasEndpoint extends EnvelopRestEndpoint {
            @ApiParam(name = "size", value = "页码", required = true, defaultValue = "15")
            @RequestParam(value = "size") int size) throws Exception {
        List<SaasDO> saasDOS = saasService.search(fields, filters, sorts, page, size);
        int count = (int) saasService.getCount(filters);
        int count = (int)saasService.getCount(filters);
        return success(saasDOS, count, page, size, SaasVO.class);
    }
    @GetMapping(value = BaseRequestMapping.Saas.LIST)
    @ApiOperation(value = "获取列表")
    public ListEnvelop<SaasVO> list(
    public ListEnvelop<SaasVO> list (
            @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
            @RequestParam(value = "fields", required = false) String fields,
            @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
@ -149,9 +169,8 @@ public class SaasEndpoint extends EnvelopRestEndpoint {
            @ApiParam(name = "status", value = "状态", required = true)
            @RequestParam(value = "status") SaasDO.Status status,
            @ApiParam(name = "auditFailedReason", value = "审核不通过的原因(非必填)")
            @RequestParam(value = "auditFailedReason", required = false) String auditFailedReason, HttpServletRequest request) throws Exception {
            @RequestParam(value = "auditFailedReason",required = false) String auditFailedReason) throws Exception {
        SaasDO saasDO = saasService.retrieve(id);
        if (null == saasDO) {
            return failed("无相关SAAS配置", Envelop.class);
        }

+ 17 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/wx/WechatController.java

@ -69,6 +69,23 @@ public class WechatController extends EnvelopRestEndpoint {
        return wechatService.updateWxAndSaas(wxWechat,list);
    }
    @GetMapping(value = BaseRequestMapping.WeChat.findWxWechatSingle)
    @ApiOperation(value = "查询单条微信信息", notes = "查询单条微信信息")
    public ObjEnvelop<WxWechatSingleVO> findWxWechatSingle(String wechatId) {
        WxWechatDO wxWechatDO  = wechatService.findWxWechatSingle(wechatId);
        WxWechatSingleVO wxWechatSingleVO = convertToModel(wxWechatDO,WxWechatSingleVO.class);
        List<WxSaasVO> list = wechatService.getWxSaasVOs(wechatId);
        wxWechatSingleVO.setSaas(list);
        return success("success", wxWechatSingleVO);
    }
    @GetMapping(value = BaseRequestMapping.WeChat.findWxWechatExist)
    @ApiOperation(value = "判断微信名称是否存在", notes = "判断微信名称是否存在")
    public Envelop findWxWechatExist(String name) {
       return success("success", wechatService.findWxWechatExist(name));
    }
    @GetMapping(value = BaseRequestMapping.WeChat.findWechatCombo)
    @ApiOperation(value = "微信信息下拉框", notes = "微信信息下拉框")
    public MixEnvelop<WxComboVO,WxComboVO> findWechatCombo() {

+ 176 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/saas/SaasService.java

@ -1,22 +1,34 @@
package com.yihu.jw.base.service.saas;
import com.yihu.jw.base.dao.dict.*;
import com.yihu.jw.base.dao.module.SaasModuleDao;
import com.yihu.jw.base.dao.org.BaseOrgDao;
import com.yihu.jw.base.dao.role.RoleDao;
import com.yihu.jw.base.dao.saas.SaasDao;
import com.yihu.jw.base.dao.saas.SaasThemeDao;
import com.yihu.jw.base.dao.saas.SaasThemeExtendDao;
import com.yihu.jw.base.dao.system.SystemDictDao;
import com.yihu.jw.base.dao.system.SystemDictEntryDao;
import com.yihu.jw.base.dao.user.UserDao;
import com.yihu.jw.base.dao.user.UserRoleDao;
import com.yihu.jw.entity.base.dict.*;
import com.yihu.jw.entity.base.module.SaasModuleDO;
import com.yihu.jw.entity.base.org.BaseOrgDO;
import com.yihu.jw.entity.base.role.RoleDO;
import com.yihu.jw.entity.base.saas.SaasDO;
import com.yihu.jw.entity.base.system.SystemDictEntryDO;
import com.yihu.jw.entity.base.user.UserDO;
import com.yihu.jw.entity.base.user.UserRoleDO;
import com.yihu.mysql.query.BaseJpaService;
import com.yihu.utils.security.MD5;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
@ -40,6 +52,30 @@ public class SaasService extends BaseJpaService<SaasDO, SaasDao> {
    private UserRoleDao userRoleDao;
    @Autowired
    private BaseOrgDao baseOrgDao;
    @Autowired
    private SystemDictDao systemDictDao;
    @Autowired
    private SystemDictEntryDao systemDictEntryDao;
    @Autowired
    private DictMedicineDao dictMedicineDao;
    @Autowired
    private DictJobTitleDao dictJobTitleDao;
    @Autowired
    private DictIcd10Dao dictIcd10Dao;
    @Autowired
    private DictHealthProblemDao dictHealthProblemDao;
    @Autowired
    private DictDiseaseDao dictDiseaseDao;
    @Autowired
    private DictHospitalDeptDao dictHospitalDeptDao;
    @Autowired
    private SaasModuleDao saasModuleDao;
    @Autowired
    private SaasThemeDao saasThemeDao;
    @Autowired
    private SaasThemeExtendDao saasThemeExtendDao;
    @Value("${configDefault.saasId}")
    private String defaultSaasId;
    /**
     * 默认租户管理员角色code
@ -74,9 +110,122 @@ public class SaasService extends BaseJpaService<SaasDO, SaasDao> {
        orgDOList.forEach(org->{
            org.setSaasid(saasId);
        });
        //字典配置(由于需要支持租户对字典的crud,目前考虑直接复制一套字典给租户单独使用)
//        List<SystemDictDO> systemDictDOList = systemDictDao.findBySaasId(defaultSaasId);
//        List<SystemDictDO> dictDOList = new ArrayList<>(systemDictDOList.size());
//        systemDictDOList.forEach(dict->{
//            SystemDictDO systemDictDO = new SystemDictDO();
//            systemDictDO.setSaasId(saasId);
//            systemDictDO.setName(dict.getName());
//            systemDictDO.setCode(dict.getCode());
//            systemDictDO.setPyCode(dict.getPyCode());
//            systemDictDO.setType(dict.getType());
//            dictDOList.add(systemDictDO);
//        });
        //系统字典项
        List<SystemDictEntryDO> systemDictEntryDOList = systemDictEntryDao.findBySaasId(defaultSaasId);
        List<SystemDictEntryDO> dictEntryDOList = new ArrayList<>(systemDictEntryDOList.size());
        systemDictEntryDOList.forEach(dict->{
            SystemDictEntryDO systemDictEntryDO = new SystemDictEntryDO();
            systemDictEntryDO.setCode(dict.getCode());
            systemDictEntryDO.setSort(dict.getSort());
            systemDictEntryDO.setSaasId(saasId);
            systemDictEntryDO.setPyCode(dict.getPyCode());
            systemDictEntryDO.setDictCode(dict.getDictCode());
            systemDictEntryDO.setRemark(dict.getRemark());
            systemDictEntryDO.setValue(dict.getValue());
            dictEntryDOList.add(systemDictEntryDO);
        });
        //药品字典
        List<DictMedicineDO> dictMedicineDOList = dictMedicineDao.findBySaasId(defaultSaasId);
        List<DictMedicineDO> medicineDOList = new ArrayList<>(dictMedicineDOList.size());
        dictMedicineDOList.forEach(dict->{
            DictMedicineDO dictMedicineDO = new DictMedicineDO();
            dictMedicineDO.setCode(dict.getCode());
            dictMedicineDO.setDosageForm(dict.getDosageForm());
            dictMedicineDO.setIndication(dict.getIndication());
            dictMedicineDO.setName(dict.getName());
            dictMedicineDO.setPackingSpecification(dict.getPackingSpecification());
            dictMedicineDO.setSequence(dict.getSequence());
            dictMedicineDO.setSpecification(dict.getSpecification());
            dictMedicineDO.setSpellCode(dict.getSpellCode());
            dictMedicineDO.setSubjectCode(dict.getSubjectCode());
            dictMedicineDO.setWbzxCode(dict.getWbzxCode());
            dictMedicineDO.setSaasId(saasId);
            dictMedicineDO.setStorageConditions(dict.getStorageConditions());
            medicineDOList.add(dictMedicineDO);
        });
        //职称字典
        List<DictJobTitleDO> dictJobTitleDOList = dictJobTitleDao.findBySaasId(defaultSaasId);
        List<DictJobTitleDO> jobTitleDOList = new ArrayList<>(dictJobTitleDOList.size());
        dictJobTitleDOList.forEach(dict->{
            DictJobTitleDO jobTitleDO = new DictJobTitleDO();
            jobTitleDO.setSaasId(saasId);
            jobTitleDO.setName(dict.getName());
            jobTitleDO.setCode(dict.getCode());
            jobTitleDO.setCreateTime(new Date());
            jobTitleDOList.add(jobTitleDO);
        });
        //icd10字典
        List<DictIcd10DO> dictIcd10DOList = dictIcd10Dao.findBySaasId(defaultSaasId);
        List<DictIcd10DO> icd10DOList = new ArrayList<>(dictIcd10DOList.size());
        dictIcd10DOList.forEach(dict->{
            DictIcd10DO icd10DO = new DictIcd10DO();
            icd10DO.setSaasId(saasId);
            icd10DO.setName(dict.getName());
            icd10DO.setCode(dict.getCode());
            icd10DO.setCreateTime(new Date());
            icd10DO.setDescription(dict.getDescription());
            icd10DOList.add(icd10DO);
        });
        //健康问题字典
        List<DictHealthProblemDO> dictHealthProblemDOList = dictHealthProblemDao.findBySaasId(defaultSaasId);
        List<DictHealthProblemDO> healthProblemDOList = new ArrayList<>(dictHealthProblemDOList.size());
        dictHealthProblemDOList.forEach(dict->{
            DictHealthProblemDO healthProblemDO = new DictHealthProblemDO();
            healthProblemDO.setSaasId(saasId);
            healthProblemDO.setName(dict.getName());
            healthProblemDO.setCode(dict.getCode());
            healthProblemDO.setCreateTime(new Date());
            healthProblemDO.setDescription(dict.getDescription());
            healthProblemDO.setChronicFlag(dict.getChronicFlag());
            healthProblemDOList.add(healthProblemDO);
        });
        //病种字典
        List<DictDiseaseDO> dictDiseaseDOList = dictDiseaseDao.findBySaasId(defaultSaasId);
        List<DictDiseaseDO> diseaseDOList = new ArrayList<>(dictDiseaseDOList.size());
        dictDiseaseDOList.forEach(dict->{
            DictDiseaseDO diseaseDO = new DictDiseaseDO();
            diseaseDO.setSaasId(saasId);
            diseaseDO.setName(dict.getName());
            diseaseDO.setCode(dict.getCode());
            diseaseDO.setCreateTime(new Date());
            diseaseDOList.add(diseaseDO);
        });
        //科室字典
        List<DictHospitalDeptDO> dictHospitalDeptDOList = dictHospitalDeptDao.findBySaasId(defaultSaasId);
        List<DictHospitalDeptDO> hospitalDeptDOList = new ArrayList<>(dictHospitalDeptDOList.size());
        dictHospitalDeptDOList.forEach(dict->{
            DictHospitalDeptDO deptDO = new DictHospitalDeptDO();
            deptDO.setSaasId(saasId);
            deptDO.setName(dict.getName());
            deptDO.setCode(dict.getCode());
            deptDO.setCreateTime(new Date());
            hospitalDeptDOList.add(deptDO);
        });
        //保存数据
        saas.setStatus(SaasDO.Status.auditWait);
        saas = saasDao.save(saas);
//        systemDictDao.save(dictDOList);
        systemDictEntryDao.save(dictEntryDOList);
        dictMedicineDao.save(medicineDOList);
        dictJobTitleDao.save(jobTitleDOList);
        dictIcd10Dao.save(icd10DOList);
        dictHealthProblemDao.save(healthProblemDOList);
        dictDiseaseDao.save(diseaseDOList);
        dictHospitalDeptDao.save(hospitalDeptDOList);
        baseOrgDao.save(orgDOList);
        userDao.save(user);
        userRoleDao.save(userRoleDO);
@ -84,6 +233,33 @@ public class SaasService extends BaseJpaService<SaasDO, SaasDao> {
        return saas;
    }
    /**
     * 系统配置
     * @param saasDO
     */
    @Transactional
    public void saveSystemConfig(SaasDO saasDO){
        SaasDO oldSaas = saasDao.findById(saasDO.getId());
        oldSaas.setSystemName(saasDO.getSystemName());
        oldSaas.setLogo(saasDO.getLogo());
        oldSaas.setAreaNumber(saasDO.getAreaNumber());
        List<SaasModuleDO> saasModuleDOList = saasDO.getSaasModuleList();
        saasModuleDOList.forEach(saasModuleDO -> {
            saasModuleDO.setSaasId(saasDO.getId());
        });
        saasDao.save(oldSaas);
        saasModuleDao.save(saasModuleDOList);
    }
    /**
     * 主题风格
     * @param saasDO
     */
    public void createThemeConfig(SaasDO saasDO){
    }
    @Transactional
    public void delete(String ids) {
        for (String id : ids.split(",")) {

+ 16 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/saas/SaasThemeExtendService.java

@ -0,0 +1,16 @@
package com.yihu.jw.base.service.saas;
import com.yihu.jw.base.dao.saas.SaasThemeExtendDao;
import com.yihu.jw.entity.base.saas.SaasThemeExtendDO;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.stereotype.Service;
/**
 * 主题风格扩展表(type=2时存多图)
 * @author yeshijie on 2018/10/16.
 */
@Service
public class SaasThemeExtendService extends BaseJpaService<SaasThemeExtendDO, SaasThemeExtendDao> {
}

+ 16 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/saas/SaasThemeService.java

@ -0,0 +1,16 @@
package com.yihu.jw.base.service.saas;
import com.yihu.jw.base.dao.saas.SaasThemeDao;
import com.yihu.jw.entity.base.saas.SaasThemeDO;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.stereotype.Service;
/**
 * 租户主题风格
 * @author yeshijie on 2018/10/16.
 */
@Service
public class SaasThemeService extends BaseJpaService<SaasThemeDO, SaasThemeDao> {
}

+ 16 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/saas/SaasUserService.java

@ -0,0 +1,16 @@
package com.yihu.jw.base.service.saas;
import com.yihu.jw.base.dao.saas.SaasUserDao;
import com.yihu.jw.entity.base.saas.SaasUserDO;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.stereotype.Service;
/**
 * 租户账号
 * @author yeshijie on 2018/10/16.
 */
@Service
public class SaasUserService extends BaseJpaService<SaasUserDO, SaasUserDao> {
}

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

@ -5,8 +5,10 @@ import com.yihu.jw.entity.base.wx.*;
import com.yihu.jw.restmodel.base.wx.*;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.rm.base.BaseRequestMapping;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
@ -157,6 +159,19 @@ public class WechatService {
        return Envelop.getSuccess(BaseRequestMapping.WeChat.api_success);
    }
    public WxWechatDO findWxWechatSingle(String wechatId){
        WxWechatDO wxWechatDO = wechatDao.findOne(wechatId);
        return wxWechatDO;
    }
    public Boolean findWxWechatExist(String name){
        List<WxWechatDO> list = wechatDao.findByName(name);
        if(list!=null&&list.size()>0){
            return true;
        }
        return false;
    }
    //====================微信与租户管理end=======================