Просмотр исходного кода

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

yeshijie 6 лет назад
Родитель
Сommit
5b694cb608
29 измененных файлов с 752 добавлено и 24 удалено
  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. 2 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. 3 1
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/DictDiseaseDao.java
  15. 2 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/DictHealthProblemDao.java
  16. 4 4
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/DictHospitalDeptDao.java
  17. 4 4
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/DictIcd10Dao.java
  18. 4 3
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/DictJobTitleDao.java
  19. 3 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/DictMedicineDao.java
  20. 13 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/saas/SaasThemeDao.java
  21. 13 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/saas/SaasThemeExtendDao.java
  22. 13 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/saas/SaasUserDao.java
  23. 4 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/system/SystemDictDao.java
  24. 4 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/system/SystemDictEntryDao.java
  25. 23 3
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/saas/SaasEndpoint.java
  26. 176 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/saas/SaasService.java
  27. 16 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/saas/SaasThemeExtendService.java
  28. 16 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/saas/SaasThemeService.java
  29. 16 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/saas/SaasUserService.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;

+ 2 - 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";
    }

+ 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;
	}
}

+ 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);
}

+ 23 - 3
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;
@ -44,7 +43,7 @@ public class SaasEndpoint extends EnvelopRestEndpoint {
    private ErrorCodeUtil errorCodeUtil;
    @PostMapping(value = BaseRequestMapping.Saas.CREATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "创建")
    @ApiOperation(value = "创建-基本信息")
    public Envelop create (
            @ApiParam(name = "saasDO", value = "Json数据", required = true)
            @RequestParam(value = "saasDO") SaasDO saasDO,
@ -64,6 +63,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(

+ 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> {
}