瀏覽代碼

Merge branch 'dev' of http://192.168.1.220:10080/Amoy/patient-co-management into dev

yeshijie 7 年之前
父節點
當前提交
feba9d729f

+ 4 - 12
common/common-entity/src/main/java/com/yihu/es/entity/HealthEduArticleES.java

@ -19,10 +19,10 @@ public class HealthEduArticleES {
    private String batchNo;//批次号记录发送所属批次
    private String patientCode; // 患者标识
    private String patientName; // 患者名称
    private String doctorCode;  //推送的医生code(包括医生本人、卫计委)
    private String doctorName;  //推送的医生名称(包括医生本人、卫计委)
    private String sendCode;   // 发送人code(如管理员推送,保存登陆者code)
    private String sendName;   // 发送人名称(如管理员推送,保存登陆者name)
    private String doctorCode;  //发送人code(如管理员推送,保存登陆者code)
    private String doctorName;  //发送人名称(如管理员推送,保存登陆者name)
//    private String sendCode;   // 发送人code(如管理员推送,保存登陆者code)
    private String sendName;   // 推送的医生名称(包括医生本人、卫计委)
    private String sendPic;   // 发送人头像
    private String sendSex;   // 发送人性别
@ -109,14 +109,6 @@ public class HealthEduArticleES {
        this.doctorName = doctorName;
    }
    public String getSendCode() {
        return sendCode;
    }
    public void setSendCode(String sendCode) {
        this.sendCode = sendCode;
    }
    public String getSendName() {
        return sendName;
    }

+ 8 - 12
edu-article/JkEdu/src/com/yihu/jk/api/CategoryApiTest.java

@ -16,7 +16,7 @@ import net.sf.json.JSONObject;
public class CategoryApiTest {
	public static void main(String[] args){
	public static void main(String[] args)throws Exception{
		// getConfigSys();
		// getArticleORCode();
		addCategory();
@ -24,22 +24,18 @@ public class CategoryApiTest {
	}
	// 获取系统配置 认证 评论开关
	public static void addCategory(){
	public static void addCategory()throws Exception{
		CategoryApi api = new CategoryApi();
		InterfaceMessage im = new InterfaceMessage();
		JSONObject obj = new JSONObject();
		obj.put("categoryId","1");
		obj.put("categoryName","1");
		obj.put("categoryLevel","1");
		obj.put("secondLevelId","1");
		obj.put("firstlevelId","1");
		obj.put("orgName","1");
		obj.put("orgId","1");
		obj.put("operatorName","1");
		obj.put("operatorId","1");
		obj.put("categoryName","内部通知");
		obj.put("categoryLevel","2");
		im.setParam(obj.toString());
		initDB();
		System.out.println(api.addCategory(im));
		System.out.println(api.checkCategory(im));
	}

+ 3 - 3
edu-article/JkEdu/src/com/yihu/jk/dao/CategoryDao.java

@ -52,10 +52,10 @@ public class CategoryDao {
		Sql sql = DB.me().createSql(CategorySqlNameEnum.getCategoryList);
		StringBuffer param = new StringBuffer();
		StringBuffer paramUserId = new StringBuffer();
		if (StringUtil.isNotEmpty(vo.getCategoryLevel())) {
			param.append(" and CategoryName =").append(vo.getCategoryName());
		if (StringUtil.isNotEmpty(vo.getCategoryName())) {
			param.append(" and CategoryName =").append("'"+vo.getCategoryName()+"'");
		}
		if (StringUtil.isNotEmpty(vo.getFirstlevelId())) {
		if (StringUtil.isNotEmpty(vo.getCategoryLevel())) {
			param.append(" and CategoryLevel =").append(vo.getCategoryLevel());
		}
		sql.addVar("@Condition", param.toString());

+ 6 - 6
edu-article/JkEdu/src/sys.xml

@ -8,14 +8,14 @@
  <!-- 数据库连接配置  -->
  <DB.Alias>jkedudb</DB.Alias>
  <DB.DatabaseName>jkedudb</DB.DatabaseName>
  <!--<DB.IP>172.19.103.85</DB.IP>-->
  <!--<DB.Port>3306</DB.Port>-->
  <!--<DB.UserName>linzhou</DB.UserName>-->
  <!--<DB.Password>FDw6DUFgoKg=</DB.Password>-->
  <DB.IP>172.19.103.77</DB.IP>
  <DB.IP>172.19.103.85</DB.IP>
  <DB.Port>3306</DB.Port>
  <DB.UserName>linzhou</DB.UserName>
  <DB.Password>FDw6DUFgoKg=</DB.Password>
  <!--<DB.IP>172.19.103.77</DB.IP>
  <DB.Port>3306</DB.Port>
  <DB.UserName>root</DB.UserName>
  <DB.Password>VYhw4YNnygE=</DB.Password>
  <DB.Password>VYhw4YNnygE=</DB.Password>-->
  <!--<EhrApiUrl>http://ehr.yihu.com/wlyyfz</EhrApiUrl>-->
  <EhrApiUrl>http://192.168.131.131:8080/</EhrApiUrl>

+ 1 - 1
patient-co/patient-co-wlyy-job/src/main/java/com/yihu/wlyy/activemq/HealthArtListener.java

@ -47,7 +47,7 @@ public class HealthArtListener implements MessageListener {
    public void onMessage(Message message) {
        try {
            TextMessage textMessage = (TextMessage) message;
            HealthEduArticleES healthEduArticleES = (HealthEduArticleES)JSONObject.toBean(JSONObject.fromObject(textMessage.getText()),HealthEduArticlePatient.class);
            HealthEduArticleES healthEduArticleES = (HealthEduArticleES)JSONObject.toBean(JSONObject.fromObject(textMessage.getText()),HealthEduArticleES.class);
//            logger.info(jo.toString());
            sendWxTemplateAndIM(healthEduArticleES);
            //返回服务器表示消息消费成功

+ 76 - 25
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/jimeiJkEdu/JMJkEduArticleService.java

@ -183,6 +183,12 @@ public class JMJkEduArticleService extends BaseService {
            }else{
                heapm.setPointNumber(0);//文章点赞数
            }
            if(!StringUtils.isEmpty(article.getString("collectionNumberCount"))){
                heapm.setCollectionNumber(Integer.valueOf(article.getString("collectionNumberCount")));//文章点赞数
            }else{
                heapm.setCollectionNumber(0);//文章点赞数
            }
            
            heapm.setArticleCover(article.getString("articleCover"));//封面
            if(article.getString("insertTime")!=null){
@ -520,51 +526,54 @@ public class JMJkEduArticleService extends BaseService {
        List<HealthEduArticleES> healthEduArticleESList = new ArrayList<>();
        Doctor doctor = doctorDao.findByCode(sendCode);
        AdminTeam adminTeam =null;
        if(teamId!=null){
        String resultSql ="";
        String whereSql ="";
        switch (currentUserRoleLevel){
            case "1":{resultSql +=" DISTINCT (province_name) as name";
                whereSql+=" and province ='"+currentUserRoleCode+"'";break;}
            case "2":{resultSql +=" DISTINCT (city_name) as name";
                whereSql+=" and city ='"+currentUserRoleCode+"'";break;}
            case "3":{resultSql +=" DISTINCT (town_name) as name";
                whereSql+=" and town ='"+currentUserRoleCode+"'";break;}
            case "4":{resultSql +=" DISTINCT (name) as name";
                whereSql+=" and code ='"+currentUserRoleCode+"'";break;}
            adminTeam = adminTeamService.getTeam(teamId);
        }
        String sql = "select "+resultSql+" from dm_hospital  where level=2 "+whereSql ;
        List<Map<String, Object>> returnList = jdbcTemplate.queryForList(sql);
        String doctorName = returnList.get(0).get("name")+"";
        Doctor doctor = doctorDao.findByCode(sendCode);
        AdminTeam adminTeam = adminTeamService.getTeam(teamId);
        Patient one = null;
        String batchNo = UUID.randomUUID().toString();
        for (String patient : patientSet) {
            one = patientDao.findByCode(patient);
            HealthEduArticleES healthEduArticleES = new HealthEduArticleES();
            healthEduArticleES.setDoctorCode(doctor.getCode());
            healthEduArticleES.setDoctorName(doctor.getName());
            healthEduArticleES.setBatchNo(batchNo);
            healthEduArticleES.setPatientCode(patient);
            healthEduArticleES.setPatientName(one.getName());
            if(sendType==2){
                healthEduArticleES.setDoctorCode(currentUserRoleCode);
                healthEduArticleES.setDoctorName(doctorName);
                String resultSql ="";
                String whereSql ="";
                switch (currentUserRoleLevel){
                    case "1":{resultSql +=" DISTINCT (province_name) as name";
                        whereSql+=" and province ='"+currentUserRoleCode+"'";break;}
                    case "2":{resultSql +=" DISTINCT (city_name) as name";
                        whereSql+=" and city ='"+currentUserRoleCode+"'";break;}
                    case "3":{resultSql +=" DISTINCT (town_name) as name";
                        whereSql+=" and town ='"+currentUserRoleCode+"'";break;}
                    case "4":{resultSql +=" DISTINCT (name) as name";
                        whereSql+=" and code ='"+currentUserRoleCode+"'";break;}
                }
                String sql = "select "+resultSql+" from dm_hospital  where level=2 "+whereSql ;
                List<Map<String, Object>> returnList = jdbcTemplate.queryForList(sql);
                String sendName = returnList.get(0).get("name")+"";
                healthEduArticleES.setSendName(sendName);
                healthEduArticleES.setSendLevel("4");
            }else{
                healthEduArticleES.setSendName(doctor.getName());
                healthEduArticleES.setSendLevel(doctor.getLevel()+"");
            }
            healthEduArticleES.setSendCode(doctor.getCode());
            healthEduArticleES.setSendName(doctor.getName());
            healthEduArticleES.setSendPic(doctor.getPhoto());
            healthEduArticleES.setSendSex(doctor.getSex()+"");
            healthEduArticleES.setAdminTeamCode(adminTeam.getId());
            healthEduArticleES.setAdminTeamName(adminTeam.getName());
            if(adminTeam!=null){
                healthEduArticleES.setAdminTeamCode(adminTeam.getId());
                healthEduArticleES.setAdminTeamName(adminTeam.getName());
            }
            healthEduArticleES.setHospital(doctor.getHospital());
            healthEduArticleES.setHospitalName(doctor.getHospitalName());
            healthEduArticleES.setTown(doctor.getTown());
@ -1088,6 +1097,48 @@ public class JMJkEduArticleService extends BaseService {
        }
    }
    
    /**
     * 居民单条文章增加已读状态
     * @param patient
     * @param articleId
     */
    public void readPatientArticle(String patient,String articleId){
        JestClient jestClient = null;
        
        try {
            jestClient = elasticFactory.getJestClient();
            SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
            searchSourceBuilder.query(
                    new BoolQueryBuilder()
                            .must(QueryBuilders.matchQuery("patientCode", patient))
                            .must(QueryBuilders.matchQuery("articleId", articleId))
            );
            Search search = new Search.Builder(searchSourceBuilder.toString()).addIndex(esIndex).addType(esType).build();
            SearchResult result = jestClient.execute(search);
            List<HealthEduArticleES> dataList = result.getSourceAsObjectList(HealthEduArticleES.class);
            if(!dataList.isEmpty()){
                //根据id批量删除
                Bulk.Builder bulk = new Bulk.Builder().defaultIndex(esIndex).defaultType(esType);
                for (HealthEduArticleES obj : dataList) {
                    Delete index = new Delete.Builder(obj.getId()).build();
                    bulk.addAction(index);
                }
                BulkResult br = jestClient.execute(bulk.build());
            }
            for (HealthEduArticleES healthEduArticleES:dataList) {
                healthEduArticleES.setIsRead(1);
            }
            elastricSearchSave.save(dataList,esIndex,esType);
            jestClient.shutdownClient();
        }catch (Exception e){
            e.printStackTrace();
        } finally {
            if (jestClient != null) {
                jestClient.shutdownClient();
            }
        }
    }
    
    public JSONArray pushArticleLogs(int page, int pagesize, String patientCode,String level1Type) throws Exception {

+ 10 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/gateway/vo/HealthEduArticlePatientModel.java

@ -49,6 +49,8 @@ public class HealthEduArticlePatientModel {
    private String isread;//已读未读
    @ApiModelProperty(value = "", required = false, access = "response")
    private String leaveWords;//医生留言
    @ApiModelProperty(value = "", required = false, access = "response")
    private Integer collectionNumber;//收藏数
    
    private String computeTime;//时间
    private String photo;//医生头像
@ -237,4 +239,12 @@ public class HealthEduArticlePatientModel {
    public void setLevel2TypeName(String level2TypeName) {
        this.level2TypeName = level2TypeName;
    }
    public Integer getCollectionNumber() {
        return collectionNumber;
    }
    public void setCollectionNumber(Integer collectionNumber) {
        this.collectionNumber = collectionNumber;
    }
}

+ 8 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/jkEduArticle/ThirdJkEduArticleController.java

@ -117,9 +117,16 @@ public class ThirdJkEduArticleController extends BaseController {
    @RequestMapping(value = "getArticalById",method = RequestMethod.GET)
    @ApiOperation("获取文章详情")
    public String getArticalById(@ApiParam(name = "articleId", value = "文章id",defaultValue = "1")
                                 @RequestParam(value = "articleId", required = true) String articleId){
                                 @RequestParam(value = "articleId", required = true) String articleId,
                                 @ApiParam(name = "userType", value = "用户类型:1医生,2居民",defaultValue = "1")
                                 @RequestParam(value = "userType", required = true) Integer userType){
        try {
            com.alibaba.fastjson.JSONObject response = thirdJkEduArticleService.getArticalById(articleId,getRepUID());
            
            if(2 == userType){
                jmJkEduArticleService.readPatientArticle(getRepUID(),articleId);
            }
            
            return write(200,"查询成功!","data",response);
        }catch (Exception e){
            e.printStackTrace();