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

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

zdm 6 лет назад
Родитель
Сommit
f50ab07385
20 измененных файлов с 307 добавлено и 124 удалено
  1. 8 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/user/UserDO.java
  2. 2 0
      common/common-request-mapping/src/main/java/com/yihu/jw/rm/base/BaseRequestMapping.java
  3. 4 0
      gateway/ag-basic/pom.xml
  4. 1 1
      server/svr-discovery/pom.xml
  5. 3 3
      server/svr-discovery/src/main/resources/application.yml
  6. 13 1
      sql/init.sql
  7. 2 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/org/BaseOrgDao.java
  8. 8 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/user/UserDao.java
  9. 22 4
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/org/BaseOrgEndpoint.java
  10. 13 1
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/user/UserEndpoint.java
  11. 71 67
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/wx/WechatController.java
  12. 77 6
      svr/svr-base/src/main/java/com/yihu/jw/base/service/org/BaseOrgService.java
  13. 18 22
      svr/svr-base/src/main/java/com/yihu/jw/base/service/org/OrgTree.java
  14. 4 4
      svr/svr-base/src/main/java/com/yihu/jw/base/service/org/tree/SimpleTreeNode.java
  15. 4 4
      svr/svr-base/src/main/java/com/yihu/jw/base/service/org/tree/TreeNode.java
  16. 3 3
      svr/svr-base/src/main/java/com/yihu/jw/base/service/patient/BasePatientService.java
  17. 6 6
      svr/svr-base/src/main/java/com/yihu/jw/base/service/system/SystemDictService.java
  18. 1 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/user/UserRoleService.java
  19. 45 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/user/UserService.java
  20. 2 2
      svr/svr-base/src/main/java/com/yihu/jw/base/service/wx/WechatService.java

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

@ -56,6 +56,14 @@ public class UserDO extends UuidIdentityEntityWithOperator {
    //登陆失败次数
    private Integer loginFailureCount;
    public UserDO(){}
    public UserDO(String username,String password,String mobile){
        this.username = username;
        this.password = password;
        this.mobile = mobile;
    }
    @Column(name = "username", nullable = false)
    public String getUsername() {
        return username;

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

@ -135,6 +135,7 @@ public class BaseRequestMapping {
    public static class User extends Basic {
        public static final String PREFIX  = "/user";
        public static final String CHECK_USERNAME = "/check_username";
        public static final String CHECK_MOBILE = "/check_mobile";
    }
    /**
@ -376,6 +377,7 @@ public class BaseRequestMapping {
    public static class BaseOrg extends Basic {
        public static final String PREFIX  = "/baseOrg";
        public static final String baseInfoList  = "/baseInfoList";
        public static final String check_code  = "/check_code";
    }

+ 4 - 0
gateway/ag-basic/pom.xml

@ -41,6 +41,10 @@
        </dependency>
        <!-- 支持Tomcat启动 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka</artifactId>

+ 1 - 1
server/svr-discovery/pom.xml

@ -13,7 +13,7 @@
    <groupId>com.yihu.jw</groupId>
    <artifactId>svr-discovery</artifactId>
    <version>${parent.version}</version>
    <packaging>war</packaging>
    <packaging>jar</packaging>
    <dependencies>
        <!-- 支持Tomcat启动 -->

+ 3 - 3
server/svr-discovery/src/main/resources/application.yml

@ -16,10 +16,10 @@ security:
eureka:
  server:
    enable-self-preservation: false  #是否开启自我保护模式,默认为true。
    eviction-interval-timer-in-ms: 60000 #eureka server清理无效节点的时间间隔,默认60000毫秒,即60秒
    #eviction-interval-timer-in-ms: 60000 #eureka server清理无效节点的时间间隔,默认60000毫秒,即60秒
  client:
    register-with-eureka: false
    registry-fetch-interval-seconds: 30 #定期的更新客户端的服务清单 30秒更新一次
    fetch-registry: false #如果是做高可用的发现服务那就要改成true
    fetch-registry: false #如果是做高可用的发现服务那就要改成 true
    #registry-fetch-interval-seconds: 30 #定期的更新客户端的服务清单 30秒更新一次
    service-url:
      defaultZone: http://jw:jkzl@127.0.0.1:8761/eureka/

+ 13 - 1
sql/init.sql

@ -752,4 +752,16 @@ create table `base_role_module`
  `module_id` varchar(50) not null COMMENT '业务模块id',
  primary key (id)
)
  ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='业务模块角色表';
  ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='业务模块角色';
-- 机构区域树形结构表
drop table IF EXISTS `org_tree`;
create table `org_tree`
(
  `id` int(11) NOT NULL AUTO_INCREMENT  COMMENT '表id,自增长',
  `parent_code` varchar(50) not null COMMENT '父级行政区域code',
  `code` varchar(100) DEFAULT NULL COMMENT '行政区域code',
  `name` varchar(50) not null COMMENT '行政区域名称',
  primary key (id)
)
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='机构区域树形结构';

+ 2 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/org/BaseOrgDao.java

@ -44,4 +44,6 @@ public interface BaseOrgDao extends PagingAndSortingRepository<BaseOrgDO, String
    @Query("select new BaseOrgDO(provinceCode,provinceName,cityCode,cityName,townCode,townName,code,name) from BaseOrgDO")
    List<BaseOrgDO> findOrgByArea();
    boolean existsByCode(String code);
}

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

@ -13,4 +13,12 @@ import java.util.List;
public interface UserDao extends PagingAndSortingRepository<UserDO, String>, JpaSpecificationExecutor<UserDO> {
    List<UserDO> findByEnabled(boolean enabled);
    UserDO findByMobile(String mobile);
    UserDO findById(String id);
    boolean existsByMobile(String mobile);
    boolean existsByUsername(String username);
}

+ 22 - 4
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/org/BaseOrgEndpoint.java

@ -1,6 +1,8 @@
package com.yihu.jw.base.endpoint.org;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.base.service.org.BaseOrgService;
import com.yihu.jw.base.util.ConstantUtils;
import com.yihu.jw.restmodel.base.org.BaseOrgVO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
@ -13,6 +15,7 @@ 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.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@ -40,12 +43,16 @@ public class BaseOrgEndpoint extends EnvelopRestEndpoint {
    @PostMapping(value = BaseRequestMapping.BaseOrg.CREATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "创建")
    public ObjEnvelop<BaseOrgVO> create(
    public Envelop create(
            @ApiParam(name = "json_data", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
        BaseOrgDO baseOrg = toEntity(jsonData, BaseOrgDO.class);
        baseOrg = baseOrgService.save(baseOrg);
        return success(baseOrg, BaseOrgVO.class);
        JSONObject jsonObject = JSONObject.parseObject(jsonData);
        BaseOrgDO baseOrg = toEntity(jsonObject.getJSONObject("org").toJSONString(), BaseOrgDO.class);
        String  msg = baseOrgService.createOrUpdateOrg(baseOrg,jsonObject.getJSONObject("admin"));
        if(StringUtils.endsWithIgnoreCase(msg, ConstantUtils.SUCCESS)){
            return success(msg);
        }
        return failed(msg);
    }
    @PostMapping(value = BaseRequestMapping.BaseOrg.DELETE)
@ -121,4 +128,15 @@ public class BaseOrgEndpoint extends EnvelopRestEndpoint {
        return success(list);
    }
    @GetMapping(value = BaseRequestMapping.BaseOrg.check_code)
    @ApiOperation(value = "检查代码是否可用(message=1代表可用,message=0代表不可用)")
    public Envelop checkCode (
            @ApiParam(name = "code", value = "机构代码", required = true)
            @RequestParam(value = "code", required = false) String code) throws Exception {
        if (baseOrgService.existCode(code)) {
            return success("1");
        } else {
            return success("0");
        }
    }
}

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

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

+ 71 - 67
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/wx/WechatController.java

@ -3,8 +3,7 @@ package com.yihu.jw.base.endpoint.wx;
import com.alibaba.fastjson.JSONArray;
import com.yihu.jw.base.service.wx.WechatService;
import com.yihu.jw.entity.base.wx.*;
import com.yihu.jw.restmodel.base.wx.WxReplySceneVO;
import com.yihu.jw.restmodel.base.wx.WxTemplateConfigVO;
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;
@ -33,18 +32,18 @@ public class WechatController extends EnvelopRestEndpoint {
    @GetMapping(value = BaseRequestMapping.WeChat.getWechatInfos)
    @ApiOperation(value = "获取微信基本信息列表", notes = "获取微信基本信息列表")
    public MixEnvelop getWxWechatList(@ApiParam(name = "name", value = "微信名称")
                                      @RequestParam(value = "name", required = false) String name,
                                      @ApiParam(name = "saasName", value = "租户名称")
                                      @RequestParam(value = "saasName", required = false) String saasName,
                                      @ApiParam(name = "status", value = "状态")
                                      @RequestParam(value = "status", required = false) Integer status,
                                      @ApiParam(name = "publicType", value = "微信类型")
                                      @RequestParam(value = "publicType", required = false) Integer publicType,
                                      @ApiParam(name = "page", value = "页码")
                                      @RequestParam(value = "page", required = true) Integer page,
                                      @ApiParam(name = "size", value = "每页大小")
                                      @RequestParam(value = "size", required = true) Integer size) {
    public MixEnvelop<WxWechatVO,WxWechatVO> getWxWechatList(@ApiParam(name = "name", value = "微信名称")
                                                             @RequestParam(value = "name", required = false) String name,
                                                             @ApiParam(name = "saasName", value = "租户名称")
                                                             @RequestParam(value = "saasName", required = false) String saasName,
                                                             @ApiParam(name = "status", value = "状态")
                                                             @RequestParam(value = "status", required = false) Integer status,
                                                             @ApiParam(name = "publicType", value = "微信类型")
                                                             @RequestParam(value = "publicType", required = false) Integer publicType,
                                                             @ApiParam(name = "page", value = "页码")
                                                             @RequestParam(value = "page", required = true) Integer page,
                                                             @ApiParam(name = "size", value = "每页大小")
                                                             @RequestParam(value = "size", required = true) Integer size) {
        return wechatService.getWxWechatList(name, saasName, status, publicType, page, size);
    }
@ -72,7 +71,7 @@ public class WechatController extends EnvelopRestEndpoint {
    @GetMapping(value = BaseRequestMapping.WeChat.findWechatCombo)
    @ApiOperation(value = "微信信息下拉框", notes = "微信信息下拉框")
    public MixEnvelop findWechatCombo() {
    public MixEnvelop<WxComboVO,WxComboVO> findWechatCombo() {
        return wechatService.findWechatCombo();
    }
@ -81,12 +80,12 @@ public class WechatController extends EnvelopRestEndpoint {
    //====================图文素材管理============================
    @GetMapping(value = BaseRequestMapping.WeChat.findWechatImgGroup)
    @ApiOperation(value = "获取图文素材分组", notes = "获取图文素材分组")
    public MixEnvelop findWechatImgGroup(@ApiParam(name = "wechatId", value = "微信ID")
                                         @RequestParam(value = "wechatId", required = true)String wechatId,
                                         @ApiParam(name = "page", value = "第几页")
                                         @RequestParam(value = "page", required = false)Integer page,
                                         @ApiParam(name = "size", value = "每页条数")
                                         @RequestParam(value = "size", required = false)Integer size) {
    public MixEnvelop<WxGraphicSceneVO,WxGraphicSceneVO> findWechatImgGroup(@ApiParam(name = "wechatId", value = "微信ID")
                                                                            @RequestParam(value = "wechatId", required = true)String wechatId,
                                                                            @ApiParam(name = "page", value = "第几页")
                                                                            @RequestParam(value = "page", required = false)Integer page,
                                                                            @ApiParam(name = "size", value = "每页条数")
                                                                            @RequestParam(value = "size", required = false)Integer size) {
        return wechatService.findWechatImgGroup(wechatId,page,size);
    }
@ -124,16 +123,16 @@ public class WechatController extends EnvelopRestEndpoint {
    @GetMapping(value = BaseRequestMapping.WeChat.findImg)
    @ApiOperation(value = "获取图文素材", notes = "获取图文素材")
    public MixEnvelop findImg(@ApiParam(name = "wechatId", value = "微信id")
                              @RequestParam(value = "wechatId", required = true)String wechatId,
                              @ApiParam(name = "title", value = "素材标题")
                              @RequestParam(value = "title", required = false)String title,
                              @ApiParam(name = "scene", value = "场景值")
                              @RequestParam(value = "scene", required = false)String scene,
                              @ApiParam(name = "page", value = "第几页")
                              @RequestParam(value = "page", required = true)Integer page,
                              @ApiParam(name = "size", value = "每页几条")
                              @RequestParam(value = "size", required = true)Integer size) {
    public MixEnvelop<WxGraphicMessageVO,WxGraphicMessageVO> findImg(@ApiParam(name = "wechatId", value = "微信id")
                                                                     @RequestParam(value = "wechatId", required = true)String wechatId,
                                                                     @ApiParam(name = "title", value = "素材标题")
                                                                     @RequestParam(value = "title", required = false)String title,
                                                                     @ApiParam(name = "scene", value = "场景值")
                                                                     @RequestParam(value = "scene", required = false)String scene,
                                                                     @ApiParam(name = "page", value = "第几页")
                                                                     @RequestParam(value = "page", required = true)Integer page,
                                                                     @ApiParam(name = "size", value = "每页几条")
                                                                     @RequestParam(value = "size", required = true)Integer size) {
        return wechatService.findImg(wechatId, title, scene, page, size);
    }
@ -157,17 +156,17 @@ public class WechatController extends EnvelopRestEndpoint {
    @GetMapping(value = BaseRequestMapping.WeChat.findWxReplyScene)
    @ApiOperation(value = "获取消息配置场景", notes = "获取消息配置场景")
    public MixEnvelop<WxReplySceneVO,WxReplySceneVO> findWxReplyScene(@ApiParam(name = "wechatId", value = "微信id")
                                       @RequestParam(value = "wechatId", required = true)String wechatId,
                                                       @ApiParam(name = "msgType", value = "消息类型")
                                       @RequestParam(value = "msgType", required = false)String msgType,
                                                       @ApiParam(name = "event", value = "事件类型")
                                       @RequestParam(value = "event", required = false)String event,
                                                       @ApiParam(name = "content", value = "回复内容")
                                       @RequestParam(value = "content", required = false)String content,
                                                       @ApiParam(name = "page", value = "页数")
                                       @RequestParam(value = "page", required = true)Integer page,
                                                       @ApiParam(name = "size", value = "每页大小")
                                       @RequestParam(value = "size", required = true)Integer size) {
                                                                      @RequestParam(value = "wechatId", required = true)String wechatId,
                                                                      @ApiParam(name = "msgType", value = "消息类型")
                                                                      @RequestParam(value = "msgType", required = false)String msgType,
                                                                      @ApiParam(name = "event", value = "事件类型")
                                                                      @RequestParam(value = "event", required = false)String event,
                                                                      @ApiParam(name = "content", value = "回复内容")
                                                                      @RequestParam(value = "content", required = false)String content,
                                                                      @ApiParam(name = "page", value = "页数")
                                                                      @RequestParam(value = "page", required = true)Integer page,
                                                                      @ApiParam(name = "size", value = "每页大小")
                                                                      @RequestParam(value = "size", required = true)Integer size) {
        return wechatService.findWxReplyScene(wechatId, msgType, event, content, page, size);
    }
    //====================图文素材管理end============================
@ -182,20 +181,20 @@ public class WechatController extends EnvelopRestEndpoint {
        return wechatService.saveWxTemp(wxTemplate);
    }
    @GetMapping(value = BaseRequestMapping.WeChat.saveWxTemp)
    @GetMapping(value = BaseRequestMapping.WeChat.findWxtemp)
    @ApiOperation(value = "获取微信模板消息基础信息(列表)", notes = "获取微信模板消息基础信息(列表)")
    public MixEnvelop findWxtemp(@ApiParam(name = "wechatId", value = "微信id")
                                 @RequestParam(value = "wechatId", required = true)String wechatId,
                                 @ApiParam(name = "status", value = "状态")
                                 @RequestParam(value = "status", required = true)Integer status,
                                 @ApiParam(name = "name", value = "微信模板名称")
                                 @RequestParam(value = "name", required = true)String name,
                                 @ApiParam(name = "key", value = "模板id或标题模糊匹配")
                                 @RequestParam(value = "key", required = true)String key,
                                 @ApiParam(name = "page", value = "页码")
                                 @RequestParam(value = "page", required = true)Integer page,
                                 @ApiParam(name = "size", value = "分页大小")
                                 @RequestParam(value = "size", required = true)Integer size) {
    public MixEnvelop<WxTemplateVO,WxTemplateVO> findWxtemp(@ApiParam(name = "wechatId", value = "微信id")
                                                            @RequestParam(value = "wechatId", required = true)String wechatId,
                                                            @ApiParam(name = "status", value = "状态")
                                                            @RequestParam(value = "status", required = true)Integer status,
                                                            @ApiParam(name = "name", value = "微信模板名称")
                                                            @RequestParam(value = "name", required = true)String name,
                                                            @ApiParam(name = "key", value = "模板id或标题模糊匹配")
                                                            @RequestParam(value = "key", required = true)String key,
                                                            @ApiParam(name = "page", value = "页码")
                                                            @RequestParam(value = "page", required = true)Integer page,
                                                            @ApiParam(name = "size", value = "分页大小")
                                                            @RequestParam(value = "size", required = true)Integer size) {
        return wechatService.findWxtemp(wechatId, status, name, key, page, size);
    }
@ -210,24 +209,24 @@ public class WechatController extends EnvelopRestEndpoint {
    @GetMapping(value = BaseRequestMapping.WeChat.findWxTempConfigList)
    @ApiOperation(value = "获取微信模板列表", notes = "获取微信模板列表")
    public MixEnvelop<WxTemplateConfigVO,WxTemplateConfigVO> findWxTempConfigList(@ApiParam(name = "wechatId", value = "微信id")
                                           @RequestParam(value = "wechatId", required = true)String wechatId,
                                           @ApiParam(name = "scene", value = "微信场景值")
                                           @RequestParam(value = "scene", required = true)String scene,
                                           @ApiParam(name = "page", value = "第几页")
                                           @RequestParam(value = "page", required = true)Integer page,
                                           @ApiParam(name = "size", value = "分页大小")
                                           @RequestParam(value = "size", required = true)Integer size) {
                                                                                  @RequestParam(value = "wechatId", required = true)String wechatId,
                                                                                  @ApiParam(name = "scene", value = "微信场景值")
                                                                                  @RequestParam(value = "scene", required = true)String scene,
                                                                                  @ApiParam(name = "page", value = "第几页")
                                                                                  @RequestParam(value = "page", required = true)Integer page,
                                                                                  @ApiParam(name = "size", value = "分页大小")
                                                                                  @RequestParam(value = "size", required = true)Integer size) {
        return wechatService.findWxTempConfigList(wechatId, scene, page, size);
    }
    @GetMapping(value = BaseRequestMapping.WeChat.findWxTemplateConfig)
    @ApiOperation(value = "获取微信模板列表(单条)", notes = "获取微信模板列表(单条)")
    public ObjEnvelop<WxTemplateConfigVO>  findWxTemplateConfig(@ApiParam(name = "wechatId", value = "微信id")
                                                   @RequestParam(value = "wechatId", required = true)String wechatId,
                                                                          @ApiParam(name = "name", value = "模板名称")
                                                   @RequestParam(value = "name", required = true)String name,
                                                                          @ApiParam(name = "scene", value = "场景值")
                                                   @RequestParam(value = "scene", required = true)String scene) {
                                                                @RequestParam(value = "wechatId", required = true)String wechatId,
                                                                @ApiParam(name = "name", value = "模板名称")
                                                                @RequestParam(value = "name", required = true)String name,
                                                                @ApiParam(name = "scene", value = "场景值")
                                                                @RequestParam(value = "scene", required = true)String scene) {
        return success(wechatService.findWxTemplateConfig(wechatId,name,scene), WxTemplateConfigVO.class);
    }
@ -257,4 +256,9 @@ public class WechatController extends EnvelopRestEndpoint {
    }
    //===================微信粉丝统计end==========================================
//    @GetMapping(value = "header")
//    @ApiOperation(value = "测试header", notes = "测试header")
//    public String getHeader(){
//        return getUID();
//    }
}

+ 77 - 6
svr/svr-base/src/main/java/com/yihu/jw/base/service/org/BaseOrgService.java

@ -7,12 +7,20 @@ import com.alibaba.fastjson.serializer.SimplePropertyPreFilter;
import com.google.gson.JsonObject;
import com.yihu.jw.base.dao.org.BaseOrgDao;
import com.yihu.jw.base.dao.org.OrgTreeDao;
import com.yihu.jw.base.dao.user.UserDao;
import com.yihu.jw.base.dao.user.UserRoleDao;
import com.yihu.jw.base.service.org.tree.SimpleTree;
import com.yihu.jw.base.service.org.tree.SimpleTreeNode;
import com.yihu.jw.base.service.org.tree.Tree;
import com.yihu.jw.base.service.org.tree.TreeNode;
import com.yihu.jw.base.service.user.UserRoleService;
import com.yihu.jw.base.service.user.UserService;
import com.yihu.jw.base.util.ConstantUtils;
import com.yihu.jw.entity.base.user.UserDO;
import com.yihu.jw.entity.base.user.UserRoleDO;
import com.yihu.jw.rm.base.BaseRequestMapping;
import com.yihu.mysql.query.BaseJpaService;
import com.yihu.utils.security.MD5;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.yihu.jw.entity.base.org.BaseOrgDO;
@ -41,6 +49,12 @@ public class BaseOrgService extends BaseJpaService<BaseOrgDO, BaseOrgDao> {
    @Autowired
    private OrgTreeDao orgTreeDao;
    @Autowired
    private UserService userService;
    @Autowired
    private UserRoleService userRoleService;
    /**
@ -54,24 +68,81 @@ public class BaseOrgService extends BaseJpaService<BaseOrgDO, BaseOrgDao> {
        List<Map<String,Object>> result = new ArrayList<>();
        if(StringUtils.endsWithIgnoreCase("1",orgStatus)){
            if(!StringUtils.isEmpty(orgCode) ){
                result = baseOrgDao.findByCodeAndDel(orgCode,orgStatus,creatPage(page,size,sorts));
                result = baseOrgDao.findByCodeAndDel(orgCode,orgStatus,createPage(page,size,sorts));
            }else if(!StringUtils.isEmpty(orgCode)){
                result = baseOrgDao.findByNameAndDel(orgName,orgStatus,creatPage(page,size,sorts));
                result = baseOrgDao.findByNameAndDel(orgName,orgStatus,createPage(page,size,sorts));
            }else{
                result = baseOrgDao.findBaseInfoByDel(orgStatus,creatPage(page,size,sorts));
                result = baseOrgDao.findBaseInfoByDel(orgStatus,createPage(page,size,sorts));
            }
        }else{
            if(!StringUtils.isEmpty(orgCode) ){
                result = baseOrgDao.findByCode(orgCode,creatPage(page,size,sorts));
                result = baseOrgDao.findByCode(orgCode,createPage(page,size,sorts));
            }else if(!StringUtils.isEmpty(orgCode)){
                result = baseOrgDao.findByName(orgName,creatPage(page,size,sorts));
                result = baseOrgDao.findByName(orgName,createPage(page,size,sorts));
            }else{
                result = baseOrgDao.findBaseInfo(creatPage(page,size,sorts));
                result = baseOrgDao.findBaseInfo(createPage(page,size,sorts));
            }
        }
        return result;
    }
    /**
     * 新增/修改机构
     * @param baseOrgDO
     * @param orgAdminJson
     */
    public String createOrUpdateOrg(BaseOrgDO baseOrgDO,JSONObject orgAdminJson){
        UserDO userDO = null;
        String mobile = orgAdminJson.getString("mobile");
        String adminName = orgAdminJson.getString("orgAdmin");
        if(StringUtils.isEmpty(mobile)){
            return "paramter for admin is null";
        }
        //id为空表示新增
        if(StringUtils.isEmpty(baseOrgDO.getId())){
            baseOrgDao.save(baseOrgDO);
            //新增用户(管理员)
            userDO = new UserDO();
            userDO.setUsername(adminName);
            userDO.setMobile(mobile);
            userService.register(userDO);
            // 新增用户角色关联关系
            UserRoleDO userRoleDO = new UserRoleDO();
            userRoleDO.setRoleId("");
            userRoleDO.setUserId("");
            userRoleService.save(userRoleDO);
        }else{
            String id = orgAdminJson.getString("id");
            if(StringUtils.isEmpty(id)){
                return "paramter id for admin is null when update";
            }
            baseOrgDao.save(baseOrgDO);
            userDO = userService.findById(id);
            //没有修改就不保存
            if(StringUtils.endsWithIgnoreCase(adminName,userDO.getUsername()) && StringUtils.endsWithIgnoreCase(mobile,userDO.getMobile())){
                return ConstantUtils.SUCCESS;
            }
            userDO.setUsername(adminName);
            userDO.setMobile(mobile);
            userService.save(userDO);
        }
        return ConstantUtils.SUCCESS;
    }
    /**
     * 判断机构代码是否存在
     * @param code
     * @return
     */
    public Boolean existCode(String code){
        if(StringUtils.isEmpty(code)) {
            return null;
        }
        return baseOrgDao.existsByCode(code);
    }
    /**
     * 构建机构区域树形结构

+ 18 - 22
svr/svr-base/src/main/java/com/yihu/jw/base/service/org/OrgTree.java

@ -1,49 +1,47 @@
package com.yihu.jw.base.service.org;
import com.yihu.jw.base.service.org.tree.TreeNode;
import com.yihu.jw.entity.IntegerIdentityEntity;
public class OrgTree implements TreeNode {
    private Integer id;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
@Entity
@Table(name = "org_tree")
public class OrgTree extends IntegerIdentityEntity implements TreeNode {
    private String code;
    private String parentCode;
    private String name;
    private Integer orderNum;
    public OrgTree(){}
    public OrgTree(String code, String parentCode, String name, Integer orderNum){
    public OrgTree(String code, String parentCode, String name){
        this.code = code;
        this.parentCode = parentCode;
        this.name = name;
        this.orderNum = orderNum;
    }
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    @Override
    public String getNodeId() {
    public String extractNodeId() {
        return this.code;
    }
    @Override
    public String getNodeName() {
    public String extractNodeName() {
        return this.name;
    }
    @Override
    public String getNodeParentId() {
    public String extractNodeParentId() {
        return this.parentCode;
    }
    @Override
    public Integer getOrderNum() {
        return this.orderNum;
    public Integer extractOrderNum() {
        return null;
    }
    @Column(name = "code", nullable = false)
    public String getCode() {
        return code;
    }
@ -52,6 +50,7 @@ public class OrgTree implements TreeNode {
        this.code = code;
    }
    @Column(name = "parent_code", nullable = false)
    public String getParentCode() {
        return parentCode;
    }
@ -60,6 +59,7 @@ public class OrgTree implements TreeNode {
        this.parentCode = parentCode;
    }
    @Column(name = "name", nullable = false)
    public String getName() {
        return name;
    }
@ -68,8 +68,4 @@ public class OrgTree implements TreeNode {
        this.name = name;
    }
    public void setOrderNum(Integer orderNum) {
        this.orderNum = orderNum;
    }
}

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

@ -29,10 +29,10 @@ public class SimpleTreeNode {
    private List<SimpleTreeNode> allChildren = new ArrayList<>();
    public SimpleTreeNode(TreeNode obj){
        this.nodeId = obj.getNodeId();
        this.nodeName = obj.getNodeName();
        this.parentNodeId = obj.getNodeParentId();
        this.orderNum = obj.getOrderNum();
        this.nodeId = obj.extractNodeId();
        this.nodeName = obj.extractNodeName();
        this.parentNodeId = obj.extractNodeParentId();
        this.orderNum = obj.extractOrderNum();
    }
    public void addChild(SimpleTreeNode treeNode){
        this.children.add(treeNode);

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

@ -1,8 +1,8 @@
package com.yihu.jw.base.service.org.tree;
public interface TreeNode {
    String getNodeId();
    String getNodeName();
    String getNodeParentId();
    Integer getOrderNum();
    String extractNodeId();
    String extractNodeName();
    String extractNodeParentId();
    Integer extractOrderNum();
}

+ 3 - 3
svr/svr-base/src/main/java/com/yihu/jw/base/service/patient/BasePatientService.java

@ -60,14 +60,14 @@ public class BasePatientService extends BaseJpaService<BasePatientDO, BasePatien
    public List<Map<String,Object>> queryPatientBaseInfo(String idcard,String name,int page,int size,String sorts)throws Exception{
        List<Map<String,Object>> result = new ArrayList<>();
        if(!StringUtils.isEmpty(idcard)){
            result = basePatientDao.findByIdcard("%"+idcard+"%",creatPage(page,size,sorts));
            result = basePatientDao.findByIdcard("%"+idcard+"%",createPage(page,size,sorts));
            return result;
        }
        if(!StringUtils.isEmpty(name)){
            result = basePatientDao.findByName(idcard,creatPage(page,size,sorts));
            result = basePatientDao.findByName(idcard,createPage(page,size,sorts));
            return result;
        }
        result = basePatientDao.findBaseInfo(creatPage(page,size,sorts));
        result = basePatientDao.findBaseInfo(createPage(page,size,sorts));
        return result;
    }
}

+ 6 - 6
svr/svr-base/src/main/java/com/yihu/jw/base/service/system/SystemDictService.java

@ -84,21 +84,21 @@ public class SystemDictService extends BaseJpaService<SystemDictDO, SystemDictDa
        JSONArray jsonArray = new JSONArray();
        JSONObject jsonObject = new JSONObject();
        if (SystemDictEnum.Icd10Dict == SystemDictEnum.valueOf(type)) {
            jsonObject = dictIcd10Service.queryAll(userId, creatPage(page,size,sorts));
            jsonObject = dictIcd10Service.queryAll(userId, createPage(page,size,sorts));
        } else if (SystemDictEnum.HospitalDeptDict == SystemDictEnum.valueOf(type)) {
            jsonObject = dictHospitalDeptService.queryAll("", creatPage(page,size,sorts));
            jsonObject = dictHospitalDeptService.queryAll("", createPage(page,size,sorts));
        } else if (SystemDictEnum.JobTitleDict == SystemDictEnum.valueOf(type)) {
            jsonObject = dictJobTitleService.queryAll("", creatPage(page,size,sorts));
            jsonObject = dictJobTitleService.queryAll("", createPage(page,size,sorts));
        } else if (SystemDictEnum.HealthProblemDict == SystemDictEnum.valueOf(type)) {
            jsonObject = dictHealthProblemService.queryAll("", creatPage(page,size,sorts));
            jsonObject = dictHealthProblemService.queryAll("", createPage(page,size,sorts));
        } else if (SystemDictEnum.MedicineDict == SystemDictEnum.valueOf(type)) {
            jsonObject = dictMedicineService.queryAll("", creatPage(page,size,sorts));
            jsonObject = dictMedicineService.queryAll("", createPage(page,size,sorts));
        } else if (SystemDictEnum.DiseaseDict == SystemDictEnum.valueOf(type)) {
            jsonObject = dictDiseaseService.queryAll("", creatPage(page,size,sorts));
            jsonObject = dictDiseaseService.queryAll("", createPage(page,size,sorts));
        }
        jsonArray.add(jsonObject);
        return jsonArray;

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

@ -11,4 +11,5 @@ import org.springframework.stereotype.Service;
 */
@Service
public class UserRoleService extends BaseJpaService<UserRoleDO, UserRoleDao> {
}

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

@ -35,6 +35,49 @@ public class UserService extends BaseJpaService<UserDO, UserDao> {
        return userDao.save(userDO);
    }
    /**
     * 根据用户手机号查找(手机号为登录账号)
     * @param mobile
     * @return
     */
    public UserDO findByMobile(String mobile) {
        return userDao.findByMobile(mobile);
    }
    /**
     * 根据id查找用户
     * @param id
     * @return
     */
    public UserDO findById(String id) {
        return userDao.findById(id);
    }
    /**
     * 判断手机号是否存在
     * @param mobile
     * @return
     */
    public Boolean existMobile(String mobile){
        if(StringUtils.isEmpty(mobile)) {
            return null;
        }
        return userDao.existsByMobile(mobile);
    }
    /**
     * 判断手机号是否存在
     * @param username
     * @return
     */
    public Boolean existUserName(String username){
        if(StringUtils.isEmpty(username)) {
            return null;
        }
        return userDao.existsByUsername(username);
    }
    /**
     * 用户管理,获取用户基本信息列表
     * @param name 模糊查询
@ -46,4 +89,6 @@ public class UserService extends BaseJpaService<UserDO, UserDao> {
        List<Map<String,Object>> result = new ArrayList<>();
        return result;
    }
}

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

@ -71,12 +71,12 @@ public class WechatService {
            sql += " AND w.public_type = " + publicType + " " ;
        }
        if (status!=null) {
            sql += " AND w.`status` = " + status + "";
            sql += " AND w.`status` = " + status + " ";
        }
        if (StringUtils.isNotBlank(saasName)) {
            sql += " AND bs.`name` like '%" + saasName + "%'";
        }
        sql += "LIMIT " + (page - 1) * size + "," + size + "";
        sql += " LIMIT " + (page - 1) * size + "," + size + "";
        List<WxWechatVO> list = jdbcTemplate.query(sql, new BeanPropertyRowMapper(WxWechatVO.class));
        if(list!=null&&list.size()>0){