ソースを参照

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

yeshijie 6 年 前
コミット
dc26b2e6fd
24 ファイル変更1041 行追加356 行削除
  1. 122 126
      common/common-entity/src/main/java/com/yihu/jw/entity/base/population/BasePopulationDO.java
  2. 27 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/population/BaseYearDO.java
  3. 11 0
      common/common-request-mapping/src/main/java/com/yihu/jw/rm/base/BaseRequestMapping.java
  4. 120 121
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/population/BasePopulationVO.java
  5. 240 0
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/wx/WxWechatSingleVO.java
  6. 11 0
      svr/svr-base/pom.xml
  7. 11 8
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/area/BaseCityDao.java
  8. 10 8
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/area/BaseProvinceDao.java
  9. 11 8
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/area/BaseTownDao.java
  10. 16 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/population/BaseYearDao.java
  11. 2 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/wx/WechatDao.java
  12. 209 56
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/population/BasePopulationEndpoint.java
  13. 73 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/population/BaseYearEndpoint.java
  14. 37 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/saas/SaasEndpoint.java
  15. 1 1
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/saas/SaasTypeDictEndpoint.java
  16. 17 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/wx/WechatController.java
  17. 12 7
      svr/svr-base/src/main/java/com/yihu/jw/base/service/area/BaseCityService.java
  18. 12 7
      svr/svr-base/src/main/java/com/yihu/jw/base/service/area/BaseProvinceService.java
  19. 12 7
      svr/svr-base/src/main/java/com/yihu/jw/base/service/area/BaseTownService.java
  20. 12 7
      svr/svr-base/src/main/java/com/yihu/jw/base/service/population/BasePopulationService.java
  21. 42 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/population/BaseYearService.java
  22. 4 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/saas/SaasService.java
  23. 15 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/wx/WechatService.java
  24. 14 0
      svr/svr-base/src/main/resources/application.yml

+ 122 - 126
common/common-entity/src/main/java/com/yihu/jw/entity/base/population/BasePopulationDO.java

@ -17,217 +17,213 @@ import java.util.Date;
@Entity
@Table(name = "base_population")
public class BasePopulationDO extends UuidIdentityEntityWithOperator {
    //saas化的id
    @Column(name = "saas_id",nullable = false)
    private String  saasId;
    //租户名称
    @Column(name = "saas_name")
    private String  saasName;
    //租户创建时间
    @Column(name = "saas_create_time")
    private Date  saasCreateTime;
    //所属省代码
    @Column(name = "province_code")
    private String  provinceCode;
    //省份名称
    @Column(name = "province_name")
    private String  provinceName;
    //城市编码
    @Column(name = "city_code")
    private String  cityCode;
    //城市名称
    @Column(name = "city_name")
    private String  cityName;
    //所属区代码
    @Column(name = "district_code")
    private String  districtCode;
    //区名
    @Column(name = "district_name")
    private String  districtName;
    //户籍人口数
    @Column(name = "regis_population_num")
    private Integer  regisPopulationNum ;
    //常住人口数
    @Column(name = "population_num")
    private Integer  populationNum;
    //类别 0是省,1是市,2是区,3是机构
    @Column(name = "type")
    private String  type;
    //时间(年份)
    @Column(name = "year")
    private String  year;
    // 高血压人口数,HBP为医学简称
    @Column(name = "hbp_num")
    private Integer  hbpNum;
    // 糖尿病人口数,DM为医学简称
    @Column(name = "dm_num")
    private Integer  dmNum;
    //高血压任务数
    @Column(name = "hbp_task_num")
    private Integer  hbpTaskNum;
    //糖尿病任务数
    @Column(name = "dm_task_num")
    private Integer  dmTaskNum;
    //任务数
    @Column(name = "task_num")
    private Integer  taskNum;
    //慢病人数
    @Column(name = "ncd_num")
    private Integer ncdNum;
    /**
	 * saas化的id
	 */
	private String saasId;
    /**
	 * 所属省代码
	 */
	private String provinceCode;
    /**
	 * 所属市代码
	 */
	private String cityCode;
    /**
	 * 所属区代码
	 */
	private String districtCode;
    /**
	 * 所属具体名称
	 */
	private String name;
    /**
	 * 人口数
	 */
	private Integer populationNum;
    /**
	 * 类别 0是省,1是市,2是区,3是机构
	 */
	private String type;
    /**
	 * 每年的人口数
	 */
	private Integer year;
    /**
	 * 高血压发病数,HBP为医学简称
	 */
	private Integer hbpNum;
    /**
	 * 糖尿病发病数,DM为医学简称
	 */
	private Integer dmNum;
    /**
	 * 65岁以上老年人口数
	 */
	private Integer olderThan65Num;
    /**
	 * 高血压任务数
	 */
	private Integer hbpTaskNum;
    /**
	 * 糖尿病任务数
	 */
	private Integer dmTaskNum;
    /**
	 * 65岁以上老年人口任务数
	 */
	private Integer olderThan65TaskNum;
    /**
	 * 户籍人口任务数
	 */
	private Integer taskNum;
    /**
	 * 创建时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
	private Date createTime;
	@Column(name = "saas_id")
    public String getSaasId() {
        return saasId;
    }
    public void setSaasId(String saasId) {
        this.saasId = saasId;
    }
	@Column(name = "province_code")
    public String getSaasName() {
        return saasName;
    }
    public void setSaasName(String saasName) {
        this.saasName = saasName;
    }
    public String getProvinceCode() {
        return provinceCode;
    }
    public void setProvinceCode(String provinceCode) {
        this.provinceCode = provinceCode;
    }
	@Column(name = "city_code")
    public String getCityCode() {
        return cityCode;
    public String getProvinceName() {
        return provinceName;
    }
    public void setCityCode(String cityCode) {
        this.cityCode = cityCode;
    public void setProvinceName(String provinceName) {
        this.provinceName = provinceName;
    }
    public String getCityName() {
        return cityName;
    }
    public void setCityName(String cityName) {
        this.cityName = cityName;
    }
	@Column(name = "district_code")
    public String getDistrictCode() {
        return districtCode;
    }
    public void setDistrictCode(String districtCode) {
        this.districtCode = districtCode;
    }
	@Column(name = "name")
    public String getName() {
        return name;
    public String getDistrictName() {
        return districtName;
    }
    public void setName(String name) {
        this.name = name;
    public void setDistrictName(String districtName) {
        this.districtName = districtName;
    }
    public Integer getRegisPopulationNum() {
        return regisPopulationNum;
    }
    public void setRegisPopulationNum(Integer regisPopulationNum) {
        this.regisPopulationNum = regisPopulationNum;
    }
	@Column(name = "population_num")
    public Integer getPopulationNum() {
        return populationNum;
    }
    public void setPopulationNum(Integer populationNum) {
        this.populationNum = populationNum;
    }
	@Column(name = "type")
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
	@Column(name = "year")
    public Integer getYear() {
    public String getYear() {
        return year;
    }
    public void setYear(Integer year) {
    public void setYear(String year) {
        this.year = year;
    }
	@Column(name = "hbp_num")
    public Integer getHbpNum() {
        return hbpNum;
    }
    public void setHbpNum(Integer hbpNum) {
        this.hbpNum = hbpNum;
    }
	@Column(name = "dm_num")
    public Integer getDmNum() {
        return dmNum;
    }
    public void setDmNum(Integer dmNum) {
        this.dmNum = dmNum;
    }
	@Column(name = "older_than_65_num")
    public Integer getOlderThan65Num() {
        return olderThan65Num;
    }
    public void setOlderThan65Num(Integer olderThan65Num) {
        this.olderThan65Num = olderThan65Num;
    }
	@Column(name = "hbp_task_num")
    public Integer getHbpTaskNum() {
        return hbpTaskNum;
    }
    public void setHbpTaskNum(Integer hbpTaskNum) {
        this.hbpTaskNum = hbpTaskNum;
    }
	@Column(name = "dm_task_num")
    public Integer getDmTaskNum() {
        return dmTaskNum;
    }
    public void setDmTaskNum(Integer dmTaskNum) {
        this.dmTaskNum = dmTaskNum;
    }
	@Column(name = "older_than_65_task_num")
    public Integer getOlderThan65TaskNum() {
        return olderThan65TaskNum;
    }
    public void setOlderThan65TaskNum(Integer olderThan65TaskNum) {
        this.olderThan65TaskNum = olderThan65TaskNum;
    }
	@Column(name = "task_num")
    public Integer getTaskNum() {
        return taskNum;
    }
    public void setTaskNum(Integer taskNum) {
        this.taskNum = taskNum;
    }
	@Column(name = "create_time")
    public Date getCreateTime() {
        return createTime;
    public Integer getNcdNum() {
        return ncdNum;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    public void setNcdNum(Integer ncdNum) {
        this.ncdNum = ncdNum;
    }
    public String getCityCode() {
        return cityCode;
    }
    public void setCityCode(String cityCode) {
        this.cityCode = cityCode;
    }
    public Date getSaasCreateTime() {
        return saasCreateTime;
    }
    public void setSaasCreateTime(Date saasCreateTime) {
        this.saasCreateTime = saasCreateTime;
    }
}

+ 27 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/population/BaseYearDO.java

@ -0,0 +1,27 @@
package com.yihu.jw.entity.base.population;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
 * Created by zdm on 2018/10/12.
 */
@Entity
@Table(name = "base_year")
public class BaseYearDO extends UuidIdentityEntityWithOperator {
    //年份
    @Column(name = "year",nullable = false)
    private String  year;
    public String getYear() {
        return year;
    }
    public void setYear(String year) {
        this.year = year;
    }
}

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

@ -224,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";
@ -237,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";
@ -397,6 +400,14 @@ public class BaseRequestMapping {
     */
    public static class BasePopulation extends Basic {
        public static final String PREFIX  = "/basePopulation";
        public static final String CHECK_POPULATION_IS_EXIST  = "/checkBasePopulationIsExist";
    }
    /**
     * 年份
     */
    public static class BaseYear extends Basic {
        public static final String PREFIX  = "/baseYear";
    }

+ 120 - 121
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/population/BasePopulationVO.java

@ -4,6 +4,8 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.restmodel.UuidIdentityVOWithOperator;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import javax.persistence.Column;
import java.util.Date;
@ -22,121 +24,107 @@ import java.util.Date;
@ApiModel(value = "BasePopulationVO", description = "基础人口基数信息")
public class BasePopulationVO extends UuidIdentityVOWithOperator {
    /**
	 * saas化的id
	 */
	@ApiModelProperty(value = "saas化的id", example = "402803ee656498890165649ad2da1112")
    private String saasId;
    /**
	 * 所属省代码
	 */
	@ApiModelProperty(value = "所属省代码", example = "参考省代码")
    private String provinceCode;
    /**
	 * 所属市代码
	 */
	@ApiModelProperty(value = "所属市代码", example = "参考市代码")
    private String cityCode;
    /**
	 * 所属区代码
	 */
	@ApiModelProperty(value = "所属区代码", example = "参考区代码")
    private String districtCode;
    /**
	 * 所属具体名称
	 */
	@ApiModelProperty(value = "所属具体名称", example = "")
    private String name;
    /**
	 * 人口数
	 */
	@ApiModelProperty(value = "人口数", example = "自然数")
    private Integer populationNum;
    /**
	 * 类别 0是省,1是市,2是区,3是机构
	 */
	@ApiModelProperty(value = "类别 0是省,1是市,2是区,3是机构", example = "0")
    private String type;
    /**
	 * 每年的人口数
	 */
	@ApiModelProperty(value = "每年的人口数", example = "自然数")
    private Integer year;
    /**
	 * 高血压发病数,HBP为医学简称
	 */
	@ApiModelProperty(value = "高血压发病数,HBP为医学简称", example = "模块1")
    private Integer hbpNum;
    /**
	 * 糖尿病发病数,DM为医学简称
	 */
	@ApiModelProperty(value = "糖尿病发病数,DM为医学简称", example = "模块1")
    private Integer dmNum;
    /**
	 * 65岁以上老年人口数
	 */
	@ApiModelProperty(value = "65岁以上老年人口数", example = "自然数")
    private Integer olderThan65Num;
    /**
	 * 高血压任务数
	 */
	@ApiModelProperty(value = "高血压任务数", example = "自然数")
    private Integer hbpTaskNum;
    /**
	 * 糖尿病任务数
	 */
	@ApiModelProperty(value = "糖尿病任务数", example = "自然数")
    private Integer dmTaskNum;
    /**
	 * 65岁以上老年人口任务数
	 */
	@ApiModelProperty(value = "65岁以上老年人口任务数", example = "自然数")
    private Integer olderThan65TaskNum;
    /**
	 * 户籍人口任务数
	 */
	@ApiModelProperty(value = "户籍人口任务数", example = "自然数")
    private Integer taskNum;
    /**
	 * 创建时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
	@ApiModelProperty(value = "创建时间", example = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    //saas化的id
    @ApiModelProperty(value = "saasId", example = "自然数")
    private String  saasId;
    //租户名称
    @ApiModelProperty(value = "租户名称", example = "i健康")
    private String  saasName;
    //所属省代码
    @ApiModelProperty(value = "所属省代码", example = "350000")
    private String  provinceCode;
    //省份名称
    @ApiModelProperty(value = "省份名称", example = "福建省")
    private String  provinceName;
    //城市名称
    @ApiModelProperty(value = "城市名称", example = "厦门市")
    private String  cityName;
    //城市名称
    @ApiModelProperty(value = "城市编码", example = "350200")
    private String  cityCode;
    //所属区代码
    @ApiModelProperty(value = "所属区代码", example = "350203")
    private String  districtCode;
    //区名
    @ApiModelProperty(value = "所属区名称", example = "思明区")
    private String  districtName;
    //户籍人口数
    @ApiModelProperty(value = "户籍人口数", example = "自然数")
    private Integer  regisPopulationNum ;
    //常住人口数
    @ApiModelProperty(value = "常住人口数", example = "自然数")
    private Integer  populationNum;
    //类别 0是省,1是市,2是区,3是机构
    @ApiModelProperty(value = "类别 0是省,1是市,2是区,3是机构", example = "自然数")
    private String  type;
    //时间(年份)
    @ApiModelProperty(value = "时间", example = "2018年")
    private String  year;
    // 高血压人口数,HBP为医学简称
    @ApiModelProperty(value = "高血压人口数", example = "自然数")
    private Integer  hbpNum;
    // 糖尿病人口数,DM为医学简称
    @ApiModelProperty(value = "糖尿病人口数", example = "自然数")
    private Integer  dmNum;
    //高血压任务数
    @ApiModelProperty(value = "高血压任务数", example = "自然数")
    private Integer  hbpTaskNum;
    //糖尿病任务数
    @ApiModelProperty(value = "糖尿病任务数", example = "自然数")
    private Integer  dmTaskNum;
    //任务数
    @ApiModelProperty(value = "任务数", example = "自然数")
    private Integer  taskNum;
    @ApiModelProperty(value = "慢病人数(高血压人口数+糖尿病人口数)", example = "自然数")
    private Integer ncdNum;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    @ApiModelProperty(value = "租户创建时间", example = "yyyy-MM-dd HH:mm:ss")
    private Date  saasCreateTime;
    public String getSaasId() {
        return saasId;
    }
    public void setSaasId(String saasId) {
        this.saasId = saasId;
    }
    public String getSaasName() {
        return saasName;
    }
    public void setSaasName(String saasName) {
        this.saasName = saasName;
    }
    public String getProvinceCode() {
        return provinceCode;
    }
    public void setProvinceCode(String provinceCode) {
        this.provinceCode = provinceCode;
    }
    public String getProvinceName() {
        return provinceName;
    }
    public void setProvinceName(String provinceName) {
        this.provinceName = provinceName;
    }
    public String getCityName() {
        return cityName;
    }
    public void setCityName(String cityName) {
        this.cityName = cityName;
    }
    public String getCityCode() {
        return cityCode;
    }
    public void setCityCode(String cityCode) {
        this.cityCode = cityCode;
    }
@ -144,20 +132,31 @@ public class BasePopulationVO extends UuidIdentityVOWithOperator {
    public String getDistrictCode() {
        return districtCode;
    }
    public void setDistrictCode(String districtCode) {
        this.districtCode = districtCode;
    }
    public String getName() {
        return name;
    public String getDistrictName() {
        return districtName;
    }
    public void setDistrictName(String districtName) {
        this.districtName = districtName;
    }
    public void setName(String name) {
        this.name = name;
    public Integer getRegisPopulationNum() {
        return regisPopulationNum;
    }
    public void setRegisPopulationNum(Integer regisPopulationNum) {
        this.regisPopulationNum = regisPopulationNum;
    }
    public Integer getPopulationNum() {
        return populationNum;
    }
    public void setPopulationNum(Integer populationNum) {
        this.populationNum = populationNum;
    }
@ -165,20 +164,23 @@ public class BasePopulationVO extends UuidIdentityVOWithOperator {
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    public Integer getYear() {
    public String getYear() {
        return year;
    }
    public void setYear(Integer year) {
    public void setYear(String year) {
        this.year = year;
    }
    public Integer getHbpNum() {
        return hbpNum;
    }
    public void setHbpNum(Integer hbpNum) {
        this.hbpNum = hbpNum;
    }
@ -186,20 +188,15 @@ public class BasePopulationVO extends UuidIdentityVOWithOperator {
    public Integer getDmNum() {
        return dmNum;
    }
    public void setDmNum(Integer dmNum) {
        this.dmNum = dmNum;
    }
    public Integer getOlderThan65Num() {
        return olderThan65Num;
    }
    public void setOlderThan65Num(Integer olderThan65Num) {
        this.olderThan65Num = olderThan65Num;
    }
    public Integer getHbpTaskNum() {
        return hbpTaskNum;
    }
    public void setHbpTaskNum(Integer hbpTaskNum) {
        this.hbpTaskNum = hbpTaskNum;
    }
@ -207,30 +204,32 @@ public class BasePopulationVO extends UuidIdentityVOWithOperator {
    public Integer getDmTaskNum() {
        return dmTaskNum;
    }
    public void setDmTaskNum(Integer dmTaskNum) {
        this.dmTaskNum = dmTaskNum;
    }
    public Integer getOlderThan65TaskNum() {
        return olderThan65TaskNum;
    }
    public void setOlderThan65TaskNum(Integer olderThan65TaskNum) {
        this.olderThan65TaskNum = olderThan65TaskNum;
    }
    public Integer getTaskNum() {
        return taskNum;
    }
    public void setTaskNum(Integer taskNum) {
        this.taskNum = taskNum;
    }
    public Date getCreateTime() {
        return createTime;
    public Integer getNcdNum() {
        return ncdNum;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    public void setNcdNum(Integer ncdNum) {
        this.ncdNum = ncdNum;
    }
    public Date getSaasCreateTime() {
        return saasCreateTime;
    }
    public void setSaasCreateTime(Date saasCreateTime) {
        this.saasCreateTime = saasCreateTime;
    }
}

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

+ 11 - 0
svr/svr-base/pom.xml

@ -130,6 +130,17 @@
            <version>1.3.2</version>
        </dependency>
        <!-- 发送邮件 -->
        <dependency>
            <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
            <version>1.4.7</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>
    </dependencies>
    <build>

+ 11 - 8
svr/svr-base/src/main/java/com/yihu/jw/base/dao/area/BaseCityDao.java

@ -1,21 +1,24 @@
package com.yihu.jw.base.dao.area;
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.area.BaseCityDO;
import org.springframework.data.repository.query.Param;
/**
 * 
 * 城市字典 数据库访问层
 * 
 * @version 
 * <pre>
 * Author	Version		Date		Changes
 * litaohong 	1.0  		2018年08月31日 	Created
 *
 * </pre>
 * @version <pre>
 *          Author	Version		Date		Changes
 *          litaohong 	1.0  		2018年08月31日 	Created
 *
 *          </pre>
 * @since 1.
 */
public interface BaseCityDao extends PagingAndSortingRepository<BaseCityDO, Integer>, JpaSpecificationExecutor<BaseCityDO>  {
public interface BaseCityDao extends PagingAndSortingRepository<BaseCityDO, Integer>, JpaSpecificationExecutor<BaseCityDO> {
    @Query("select name from BaseCityDO where code =:code")
    String getNameByCode(@Param("code") String code);
}

+ 10 - 8
svr/svr-base/src/main/java/com/yihu/jw/base/dao/area/BaseProvinceDao.java

@ -1,21 +1,23 @@
package com.yihu.jw.base.dao.area;
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.area.BaseProvinceDO;
import org.springframework.data.repository.query.Param;
/**
 * 
 * 省字典 数据库访问层
 * 
 * @version 
 * <pre>
 * Author	Version		Date		Changes
 * litaohong 	1.0  		2018年08月31日 	Created
 *
 * </pre>
 * @version <pre>
 *                   Author	Version		Date		Changes
 *                   litaohong 	1.0  		2018年08月31日 	Created
 *
 *                   </pre>
 * @since 1.
 */
public interface BaseProvinceDao extends PagingAndSortingRepository<BaseProvinceDO, Integer>, JpaSpecificationExecutor<BaseProvinceDO>  {
public interface BaseProvinceDao extends PagingAndSortingRepository<BaseProvinceDO, Integer>, JpaSpecificationExecutor<BaseProvinceDO> {
    @Query("select name from BaseProvinceDO where code =:code")
    String getNameByCode(@Param("code") String code);
}

+ 11 - 8
svr/svr-base/src/main/java/com/yihu/jw/base/dao/area/BaseTownDao.java

@ -1,21 +1,24 @@
package com.yihu.jw.base.dao.area;
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.area.BaseTownDO;
import org.springframework.data.repository.query.Param;
/**
 * 
 * 区县字典 数据库访问层
 * 
 * @version 
 * <pre>
 * Author	Version		Date		Changes
 * litaohong 	1.0  		2018年08月31日 	Created
 *
 * </pre>
 * @version <pre>
 *          Author	Version		Date		Changes
 *          litaohong 	1.0  		2018年08月31日 	Created
 *
 *          </pre>
 * @since 1.
 */
public interface BaseTownDao extends PagingAndSortingRepository<BaseTownDO, Integer>, JpaSpecificationExecutor<BaseTownDO>  {
public interface BaseTownDao extends PagingAndSortingRepository<BaseTownDO, Integer>, JpaSpecificationExecutor<BaseTownDO> {
    @Query("select name from BaseTownDO where code =:code")
    String getNameByCode(@Param("code") String code);
}

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

@ -0,0 +1,16 @@
package com.yihu.jw.base.dao.population;
import com.yihu.jw.entity.base.population.BaseYearDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * Created by zdm on 2018/10/12.
 */
public interface BaseYearDao extends PagingAndSortingRepository<BaseYearDO, String>, JpaSpecificationExecutor<BaseYearDO>  {
    @Query("select year from BaseYearDO ")
    List<String> findYears();
}

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

+ 209 - 56
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/population/BasePopulationEndpoint.java

@ -1,7 +1,13 @@
package com.yihu.jw.base.endpoint.population;
import com.yihu.jw.base.service.area.BaseCityService;
import com.yihu.jw.base.service.area.BaseProvinceService;
import com.yihu.jw.base.service.area.BaseTownService;
import com.yihu.jw.base.service.population.BasePopulationService;
import com.yihu.jw.base.service.saas.SaasService;
import com.yihu.jw.entity.base.area.BaseTownDO;
import com.yihu.jw.entity.base.population.BasePopulationDO;
import com.yihu.jw.entity.base.saas.SaasDO;
import com.yihu.jw.restmodel.base.population.BasePopulationVO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
@ -12,93 +18,240 @@ import com.yihu.jw.rm.base.BaseRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
*
* 基础人口基数信息控制器
*
* @version
* <pre>
 * Author	Version		Date		Changes
 * litaohong 	1.0  		2018年09月26日 	update
 * 基础人口基数信息控制器
 *
 * </pre>
* @since 1.
*/
 * @version <pre>
 *                                                       Author	Version		Date		Changes
 *                                                       litaohong 	1.0  		2018年09月26日 	update
 *
 *                                                       </pre>
 * @since 1.
 */
@RestController
@RequestMapping(value = BaseRequestMapping.BasePopulation.PREFIX)
@Api(value = "基础人口基数信息管理", description = "基础人口基数信息管理服务接口", tags = {"wlyy基础服务 - 基础人口基数信息管理服务接口"})
public class BasePopulationEndpoint extends EnvelopRestEndpoint {
@Autowired
private BasePopulationService basePopulationService;
@PostMapping(value = BaseRequestMapping.BasePopulation.CREATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
@ApiOperation(value = "创建")
public ObjEnvelop<BasePopulationVO> create (
    @ApiParam(name = "json_data", value = "Json数据", required = true)
    @RequestBody String jsonData) throws Exception {
    BasePopulationDO basePopulation = toEntity(jsonData, BasePopulationDO.class);
    basePopulation = basePopulationService.save(basePopulation);
    return success(basePopulation, BasePopulationVO.class);
    @Autowired
    private BasePopulationService basePopulationService;
    @Autowired
    private SaasService saasService;
    @Autowired
    private BaseTownService baseTownService;
    @Autowired
    private BaseProvinceService baseProvinceService;
    @Autowired
    private BaseCityService baseCityService;
    @PostMapping(value = BaseRequestMapping.BasePopulation.CREATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "创建")
    public ObjEnvelop<BasePopulationVO> create(
            @ApiParam(name = "json_data", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
        BasePopulationDO basePopulation = toEntity(jsonData, BasePopulationDO.class);
        //根据saasid获取所属机构的行政区划
        if (StringUtils.isNotBlank(basePopulation.getSaasId())) {
            basePopulation = updateBasePopulation(basePopulation);
        } else {
            return failed("租户id不能为空!", ObjEnvelop.class);
        }
        Boolean bo = checkNameAndYear(basePopulation.getSaasId(), basePopulation.getYear());
        if (!bo) {
            return failed("已添加" + basePopulation.getYear() + basePopulation.getSaasName() + "的基础人口信息,请直接修改即可!", ObjEnvelop.class);
        }
        basePopulation = basePopulationService.save(basePopulation);
        return success(basePopulation, BasePopulationVO.class);
    }
    @PostMapping(value = BaseRequestMapping.BasePopulation.DELETE)
    @ApiOperation(value = "删除")
    public Envelop delete(
    @ApiParam(name = "ids", value = "id串,中间用,分隔", required = true)
    @RequestParam(value = "ids") String ids) {
    basePopulationService.delete(ids.split(","));
    return success("删除成功");
            @ApiParam(name = "ids", value = "id串,中间用,分隔", required = true)
            @RequestParam(value = "ids") String ids) {
        basePopulationService.delete(ids.split(","));
        return success("删除成功");
    }
    @PostMapping(value = BaseRequestMapping.BasePopulation.UPDATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "更新")
    public ObjEnvelop<BasePopulationVO> update (
        @ApiParam(name = "json_data", value = "Json数据", required = true)
        @RequestBody String jsonData) throws Exception {
    public ObjEnvelop<BasePopulationVO> update(
            @ApiParam(name = "json_data", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
        BasePopulationDO basePopulation = toEntity(jsonData, BasePopulationDO.class);
        if (null == basePopulation.getId()) {
        return failed("ID不能为空", ObjEnvelop.class);
            return failed("ID不能为空", ObjEnvelop.class);
        }
        //根据saasid获取所属机构的行政区划
        if (StringUtils.isNotBlank(basePopulation.getSaasId())) {
            basePopulation = updateBasePopulation(basePopulation);
        } else {
            return failed("租户id不能为空!", ObjEnvelop.class);
        }
        Boolean bo = checkNameAndYear(basePopulation.getSaasId(), basePopulation.getYear());
        if (!bo) {
            return failed("已添加" + basePopulation.getYear() + basePopulation.getSaasName() + "的基础人口信息,请直接修改即可!", ObjEnvelop.class);
        }
        basePopulation = basePopulationService.save(basePopulation);
        return success(basePopulation, BasePopulationVO.class);
    }
    @GetMapping(value = BaseRequestMapping.BasePopulation.PAGE)
    @ApiOperation(value = "基数统计-获取分页")
    public PageEnvelop<BasePopulationVO> page(
            @ApiParam(name = "saasName", value = "租户名称,支持模糊搜索")
            @RequestParam(value = "saasName", required = false) String saasName,
            @ApiParam(name = "provinceCode", value = "省份编码")
            @RequestParam(value = "provinceCode", required = false) String provinceCode,
            @ApiParam(name = "cityCode", value = "城市编码")
            @RequestParam(value = "cityCode", required = false) String cityCode,
            @ApiParam(name = "year", value = "时间")
            @RequestParam(value = "year", required = false) String year,
            @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 {
        StringBuffer s = new StringBuffer();
        if (StringUtils.isNotBlank(saasName)) {
            s.append("saasName?" + saasName + " g1;");
        }
        if (StringUtils.isNotBlank(provinceCode)) {
            s.append("provinceCode=" + provinceCode);
        }
        if (StringUtils.isNotBlank(cityCode)) {
            s.append("cityCode=" + cityCode);
        }
        if (StringUtils.isNotBlank(year)) {
            s.append("year=" + year);
        }
        //时间(最近时间排最前)>租户创建时间(最新创建租户排最前)
        String sorts = "-createTime,-saasCreateTime";
        String filters = s.toString();
        List<BasePopulationDO> basePopulations = basePopulationService.search(null, filters, sorts, page, size);
        int count = (int) basePopulationService.getCount(filters);
        return success(basePopulations, count, page, size, BasePopulationVO.class);
    }
        @GetMapping(value = BaseRequestMapping.BasePopulation.PAGE)
        @ApiOperation(value = "获取分页")
        public PageEnvelop<BasePopulationVO> page (
    @GetMapping(value = BaseRequestMapping.BasePopulation.LIST)
    @ApiOperation(value = "获取列表")
    public ListEnvelop<BasePopulationVO> 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,
            @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<BasePopulationDO> basePopulations = basePopulationService.search(fields, filters, sorts, page, size);
                int count = (int)basePopulationService.getCount(filters);
                return success(basePopulations, count, page, size, BasePopulationVO.class);
         }
         @GetMapping(value = BaseRequestMapping.BasePopulation.LIST)
         @ApiOperation(value = "获取列表")
         public ListEnvelop<BasePopulationVO> 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<BasePopulationDO> basePopulations = basePopulationService.search(fields, filters, sorts);
                  return success(basePopulations, BasePopulationVO.class);
         }
 }
            @RequestParam(value = "sorts", required = false) String sorts) throws Exception {
        List<BasePopulationDO> basePopulations = basePopulationService.search(fields, filters, sorts);
        return success(basePopulations, BasePopulationVO.class);
    }
    /**
     * 根据基数中的saasid,更新基数中租户相关信息
     *
     * @param basePopulation
     * @return
     * @throws Exception
     */
    public BasePopulationDO updateBasePopulation(BasePopulationDO basePopulation) throws Exception {
        SaasDO saasDO = saasService.findById(basePopulation.getSaasId());
        if (null != saasDO) {
            basePopulation.setSaasCreateTime(saasDO.getCreateTime());
            basePopulation.setSaasName(saasDO.getName());
            String areaCode = saasDO.getAreaNumber();
            String filters = "province?" + areaCode + " g1;city?" + areaCode + " g1;code?" + areaCode + " g1;";
            List<BaseTownDO> baseTowns = baseTownService.search(filters);
            BaseTownDO baseTownDO = (null != baseTowns && baseTowns.size() > 0 ? baseTowns.get(0) : null);
            if (null != baseTownDO) {
                if (baseTownDO.getCode().equals(areaCode)) {
                    basePopulation.setProvinceCode(baseTownDO.getProvince());
                    basePopulation.setProvinceName(baseProvinceService.getNameByCode(baseTownDO.getProvince()));
                    //市编码
                    basePopulation.setCityCode(baseTownDO.getCity());
                    basePopulation.setCityName(baseCityService.getNameByCode(baseTownDO.getCity()));
                    //区县编码
                    basePopulation.setDistrictCode(areaCode);
                    basePopulation.setDistrictName(baseTownDO.getName());
                } else if (baseTownDO.getCity().equals(areaCode)) {
                    basePopulation.setProvinceCode(baseTownDO.getProvince());
                    basePopulation.setProvinceName(baseProvinceService.getNameByCode(baseTownDO.getProvince()));
                    //市编码
                    basePopulation.setCityCode(areaCode);
                    basePopulation.setCityName(baseCityService.getNameByCode(areaCode));
                    //区县编码
                    basePopulation.setDistrictCode("");
                    basePopulation.setDistrictName("");
                } else if (baseTownDO.getProvince().equals(areaCode)) {
                    //省编码
                    basePopulation.setProvinceCode(areaCode);
                    basePopulation.setProvinceName(baseProvinceService.getNameByCode(areaCode));
                    //市编码
                    basePopulation.setCityCode("");
                    basePopulation.setCityName("");
                    //区县编码
                    basePopulation.setDistrictCode("");
                    basePopulation.setDistrictName("");
                }
            }
        }
        //更新慢病总人数
        basePopulation.setNcdNum(basePopulation.getHbpNum() + basePopulation.getDmNum());
        return basePopulation;
    }
    @PostMapping(value = BaseRequestMapping.BasePopulation.FINDBYID)
    @ApiOperation(value = "根据基数统计id获取信息")
    public ObjEnvelop<BasePopulationVO> audit(
            @ApiParam(name = "id", value = "id", required = true)
            @RequestParam(value = "id") String id) throws Exception {
        BasePopulationDO basePopulationDO = basePopulationService.findById(id);
        if (null == basePopulationDO) {
            return failed("无相关基数统计信息", ObjEnvelop.class);
        }
        return success(basePopulationDO, BasePopulationVO.class);
    }
    @GetMapping(value = BaseRequestMapping.BasePopulation.CHECK_POPULATION_IS_EXIST)
    @ApiOperation(value = "根据租户id和年份,判断基数统计是否已经存在")
    public ObjEnvelop<Boolean> checkPopulationIsExist(
            @ApiParam(name = "saasId", value = "租户id", required = true)
            @RequestParam(value = "saasId") String saasId,
            @ApiParam(name = "year", value = "年份", required = true)
            @RequestParam(value = "year") String year) throws Exception {
        Boolean bo = checkNameAndYear(saasId, year);
        return success(bo);
    }
    /**
     * 验证名称+年份数据是否已存在
     *
     * @param saasId
     * @param year
     * @return
     * @throws Exception
     */
    public Boolean checkNameAndYear(String saasId, String year) throws Exception {
        StringBuffer s = new StringBuffer();
        if (StringUtils.isNotBlank(saasId)) {
            s.append("saasId=" + saasId + ";");
        }
        if (StringUtils.isNotBlank(year)) {
            s.append("year=" + year);
        }
        String filters = s.toString();
        List<BasePopulationDO> basePopulationDOList = basePopulationService.search(filters);
        return (null != basePopulationDOList && basePopulationDOList.size() > 0) ? true : false;
    }
}

+ 73 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/population/BaseYearEndpoint.java

@ -0,0 +1,73 @@
package com.yihu.jw.base.endpoint.population;
import ch.qos.logback.core.util.TimeUtil;
import com.yihu.jw.base.service.population.BaseYearService;
import com.yihu.jw.entity.base.population.BaseYearDO;
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.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.base.BaseRequestMapping;
import com.yihu.jw.util.date.DateUtil;
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;
/**
 * 基数-年份维护
 * Created by zdm on 2018/10/12.
 */
@RestController
@RequestMapping(value = BaseRequestMapping.BaseYear.PREFIX)
@Api(value = "年份管理", description = "基础人口-年份管理接口", tags = {"wlyy基础服务 - 基础人口-年份管理接口"})
public class BaseYearEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private BaseYearService baseYearService;
    @PostMapping(value = BaseRequestMapping.BaseYear.CREATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "获取系统当前年份,创建时间列表至1990年")
    public ObjEnvelop<Boolean> create() throws Exception {
        int year = DateUtil.getNowYear();
        baseYearService.save(year);
        return success(true);
    }
    @PostMapping(value = BaseRequestMapping.BaseYear.DELETE)
    @ApiOperation(value = "删除")
    public Envelop delete(
            @ApiParam(name = "ids", value = "id串,中间用,分隔", required = true)
            @RequestParam(value = "ids") String ids) {
        baseYearService.delete(ids.split(","));
        return success("删除成功");
    }
    @PostMapping(value = BaseRequestMapping.BaseYear.UPDATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "更新")
    public ObjEnvelop<BaseYearDO> update(
            @ApiParam(name = "json_data", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
        BaseYearDO BaseYear = toEntity(jsonData, BaseYearDO.class);
        if (null == BaseYear.getId()) {
            return failed("ID不能为空", ObjEnvelop.class);
        }
        BaseYear = baseYearService.save(BaseYear);
        return success(BaseYear);
    }
    @GetMapping(value = BaseRequestMapping.BaseYear.LIST)
    @ApiOperation(value = "获取列表")
    public ListEnvelop<String> getYearList() throws Exception {
        List<String> BaseYears = baseYearService.getYearList();
        return success(BaseYears);
    }
}

+ 37 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/saas/SaasEndpoint.java

@ -19,9 +19,13 @@ 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.beans.factory.annotation.Value;
import org.springframework.http.MediaType;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
@ -41,6 +45,10 @@ public class SaasEndpoint extends EnvelopRestEndpoint {
    private SaasTypeDictService saasTypeDictService;
    @Autowired
    private ErrorCodeUtil errorCodeUtil;
    @Autowired
    JavaMailSender jms;
    @Value("${spring.mail.username}")
    private String username;
    @PostMapping(value = BaseRequestMapping.Saas.CREATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "创建-基本信息")
@ -175,4 +183,33 @@ public class SaasEndpoint extends EnvelopRestEndpoint {
        return success("操作成功");
    }
    @GetMapping("/sendEmail")
    @ApiOperation(value = "邮件发送")
    public void send() throws Exception {
        //建立邮件消息
        SimpleMailMessage mainMessage = new SimpleMailMessage();
        //发送者
        mainMessage.setFrom(username);
        //接收者
        mainMessage.setTo("763558454@qq.com");
        //发送的标题
        mainMessage.setSubject("租户审核");
        //发送的内容
        String content =  "您好!\n"+ "感谢您注册健康之路城市i健康。\n";
        if (true) {
            content = content + "您提交的是租户注册信息已审核通过,登录账号、密码如下所示:\n";
            content = content + "账号:test"+"\n";
            content = content + "密码:123456"+"\n";
            content = content + "点击以下链接进入健康之路城市i健康综合管理平台:"+ "http://www.baidu.com \n";
            content = content + "如果以上链接无法点击,请将上面的地址复制到你的浏览器(如IE)的地址栏进入健康之路城市i健康综合管理平台\n";
        }else {
            content = content + "您提交的是租户注册信息审核未通过,审核未通过原因如下:\n";
            content = content + "营业执照图片模糊,不清晰。\n";
            content = content + "请点击以下链接修改注册信息并重新提交审核:"+ "http://www.baidu.com \n";
            content = content + "如果以上链接无法点击,请将上面的地址复制到你的浏览器(如IE)的地址栏进入租户注册信息修改。\n";
        }
        mainMessage.setText(content);
        jms.send(mainMessage);
    }
}

+ 1 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/saas/SaasTypeDictEndpoint.java

@ -95,7 +95,7 @@ public class SaasTypeDictEndpoint extends EnvelopRestEndpoint {
            @RequestParam(value = "size") int size) throws Exception {
        StringBuffer s = new StringBuffer();
        if (StringUtils.isNotEmpty(name)) {
            s.append("name?" + name + "g1;");
            s.append("name?" + name + " g1;");
        }
        if (null != status) {
            s.append("status=" + status);

+ 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() {

+ 12 - 7
svr/svr-base/src/main/java/com/yihu/jw/base/service/area/BaseCityService.java

@ -2,21 +2,26 @@ package com.yihu.jw.base.service.area;
import com.yihu.jw.base.dao.area.BaseCityDao;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.yihu.jw.entity.base.area.BaseCityDO;
/**
 * 
 * 城市字典服务service
 * 
 * @version 
 * <pre>
 * Author	Version		Date		Changes
 * litaohong    1.0  2018年08月31日 Created
 *
 * </pre>
 * @version <pre>
 *          Author	Version		Date		Changes
 *          litaohong    1.0  2018年08月31日 Created
 *
 *          </pre>
 * @since 1.
 */
@Service
public class BaseCityService extends BaseJpaService<BaseCityDO, BaseCityDao> {
    @Autowired
    private BaseCityDao baseCityDao;
    public String getNameByCode(String code) {
        return baseCityDao.getNameByCode(code);
    }
}

+ 12 - 7
svr/svr-base/src/main/java/com/yihu/jw/base/service/area/BaseProvinceService.java

@ -2,21 +2,26 @@ package com.yihu.jw.base.service.area;
import com.yihu.jw.base.dao.area.BaseProvinceDao;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.yihu.jw.entity.base.area.BaseProvinceDO;
/**
 * 
 * 省字典服务service
 * 
 * @version 
 * <pre>
 * Author	Version		Date		Changes
 * litaohong    1.0  2018年08月31日 Created
 *
 * </pre>
 * @version <pre>
 *                   Author	Version		Date		Changes
 *                   litaohong    1.0  2018年08月31日 Created
 *
 *                   </pre>
 * @since 1.
 */
@Service
public class BaseProvinceService extends BaseJpaService<BaseProvinceDO, BaseProvinceDao> {
    @Autowired
    private BaseProvinceDao baseProvinceDao;
    public String getNameByCode(String code) {
        return baseProvinceDao.getNameByCode(code);
    }
}

+ 12 - 7
svr/svr-base/src/main/java/com/yihu/jw/base/service/area/BaseTownService.java

@ -2,21 +2,26 @@ package com.yihu.jw.base.service.area;
import com.yihu.jw.base.dao.area.BaseTownDao;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.yihu.jw.entity.base.area.BaseTownDO;
/**
 * 
 * 区县字典服务service
 * 
 * @version 
 * <pre>
 * Author	Version		Date		Changes
 * litaohong    1.0  2018年08月31日 Created
 *
 * </pre>
 * @version <pre>
 *                   Author	Version		Date		Changes
 *                   litaohong    1.0  2018年08月31日 Created
 *
 *                   </pre>
 * @since 1.
 */
@Service
public class BaseTownService extends BaseJpaService<BaseTownDO, BaseTownDao> {
    @Autowired
    private BaseTownDao baseTownDao;
    public String getNameByCode(String code) {
        return baseTownDao.getNameByCode(code);
    }
}

+ 12 - 7
svr/svr-base/src/main/java/com/yihu/jw/base/service/population/BasePopulationService.java

@ -3,20 +3,25 @@ package com.yihu.jw.base.service.population;
import com.yihu.jw.base.dao.population.BasePopulationDao;
import com.yihu.jw.entity.base.population.BasePopulationDO;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
 * 
 * 基础人口基数信息服务service
 * 
 * @version 
 * <pre>
 * Author	Version		Date		Changes
 * litaohong    1.0  2018年09月26日 update
 *
 * </pre>
 * @version <pre>
 *          Author	Version		Date		Changes
 *          litaohong    1.0  2018年09月26日 update
 *
 *          </pre>
 * @since 1.
 */
@Service
public class BasePopulationService extends BaseJpaService<BasePopulationDO, BasePopulationDao> {
    @Autowired
    private BasePopulationDao basePopulationDao;
    public BasePopulationDO findById(String id) {
        return basePopulationDao.findOne(id);
    }
}

+ 42 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/population/BaseYearService.java

@ -0,0 +1,42 @@
package com.yihu.jw.base.service.population;
import com.yihu.jw.base.dao.population.BaseYearDao;
import com.yihu.jw.entity.base.module.ModuleDO;
import com.yihu.jw.entity.base.module.SaasTypeModuleDO;
import com.yihu.jw.entity.base.population.BaseYearDO;
import com.yihu.jw.entity.base.saas.SaasTypeDictDO;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.List;
/**
 * Created by zdm on 2018/10/12.
 */
@Service
public class BaseYearService extends BaseJpaService<BaseYearDO, BaseYearDao> {
    @Autowired
    private BaseYearDao baseYearDao;
    public boolean save(int year) {
        BaseYearDO baseYearDo;
        List<BaseYearDO> baseYearDOList=new ArrayList<>();
        for( int i=year;i>1989;i--){
            baseYearDo=new BaseYearDO();
            String uuid=getCode();
            baseYearDo.setId(uuid);
            baseYearDo.setYear(i+"年");
            baseYearDOList.add(baseYearDo);
        }
        baseYearDao.save(baseYearDOList);
        return true;
    }
    public List<String> getYearList(){
      return baseYearDao.findYears();
    }
}

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

@ -289,4 +289,8 @@ public class SaasService extends BaseJpaService<SaasDO, SaasDao> {
        }
    }
    public SaasDO findById(String id){
        return saasDao.findById(id);
    }
}

+ 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=======================

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

@ -79,6 +79,20 @@ spring:
#    password: jkzl_ehr
#  zipkin:
#    base-url: http://localhost:9411 #日志追踪的地址
  mail:
    default-encoding: UTF-8
    host: smtp.qq.com
#发送者的邮箱密码
    password: lcmlpoaqitujbfcg
#端口
    port: 25
#协议
    protocol: smtp
#发送者的邮箱账号
    username: 763558454@qq.com
    properties.mail.smtp.auth: true
    properties.mail.smtp.starttls.enable: true
    properties.mail.smtp.starttls.required: true
fastDFS:
  fastdfs_file_url: http://172.19.103.54:80/
# 短信发送地址