Browse Source

新版统计

wangzhinan 2 năm trước cách đây
mục cha
commit
8876ec9486

+ 21 - 0
business/base-service/src/main/java/com/yihu/jw/article/dao/KnowledgeArticleBrowseDao.java

@ -0,0 +1,21 @@
package com.yihu.jw.article.dao;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleBrowseDO;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleDoctorDO;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import java.util.List;
/**
 * 用户文章(浏览、)关系表
 */
public interface KnowledgeArticleBrowseDao extends JpaRepository<KnowledgeArticleBrowseDO, String>, JpaSpecificationExecutor<KnowledgeArticleBrowseDO> {
    @Query("select a from KnowledgeArticleDoctorDO a where a.relationCode=?1 and a.type=?2 order by a.createTime desc")
    List<KnowledgeArticleBrowseDO> findByRelationCodeAndType(String relationCode,Integer type);
}

+ 29 - 0
business/base-service/src/main/java/com/yihu/jw/article/service/BaseMenuManageService.java

@ -11,6 +11,7 @@ import com.yihu.jw.entity.base.menu.BaseMenuDictDO;
import com.yihu.jw.entity.base.menu.BaseMenuDictUserDO;
import com.yihu.jw.entity.base.menu.BaseMenuShowDO;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleBrowseDO;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleDictDO;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleDoctorDO;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleUserDO;
@ -61,6 +62,8 @@ public class BaseMenuManageService {
    private KnowledgeArticleUserDao knowledgeArticleUserDao;
    @Autowired
    private KnowledgeArticleDoctorDao knowledgeArticleDoctorDao;
    @Autowired
    private KnowledgeArticleBrowseDao knowledgeArticleBrowseDao;
    /**
@ -1159,10 +1162,12 @@ public class BaseMenuManageService {
        List<KnowledgeArticleDoctorDO> knowledgeArticleDoctorDOS = knowledgeArticleDoctorDao.findByRelationCodeAndType(articleId,2);//获取点赞
        List<KnowledgeArticleDoctorDO> knowledgeArticleDoctorDOList = knowledgeArticleDoctorDao.findByRelationCodeAndType(articleId,3);//获取收藏
        List<KnowledgeArticleDoctorDO> knowledgeArticleDoctorDOList1 = knowledgeArticleDoctorDao.findByRelationCodeAndType(articleId,1);//获取评论
        List<KnowledgeArticleDoctorDO> knowledgeArticleDoctorDOList2 = knowledgeArticleDoctorDao.findByRelationCodeAndType(articleId,4);//获取评论
        JSONObject object = new JSONObject();
        object.put("eulogyTotal",knowledgeArticleDoctorDOS.size());//点赞数量
        object.put("collectTotal",knowledgeArticleDoctorDOList.size());//收藏数量
        object.put("commentTotal",knowledgeArticleDoctorDOList1.size());//评论数量
        object.put("browseTotal",knowledgeArticleDoctorDOList2.size());//浏览量
        return object;
    }
@ -1190,4 +1195,28 @@ public class BaseMenuManageService {
        object.put("collect",collect);
        return object;
    }
    /**
     * 新增用户浏览数据
     * @param browseDO
     * @return
     */
    public KnowledgeArticleBrowseDO insertBrowseDO(KnowledgeArticleBrowseDO browseDO){
        browseDO.setCreateTime(new Date());
        browseDO.setUpdateTime(new Date());
        return knowledgeArticleBrowseDao.save(browseDO);
    }
    /**
     * 查询文章浏览量
     * @param relationCode
     * @param type
     * @return
     */
    public int selectArticleBrowseByRelationCode(String relationCode,Integer type){
        List<KnowledgeArticleBrowseDO> browseDOS = knowledgeArticleBrowseDao.findByRelationCodeAndType(relationCode,type);
        return browseDOS.size();
    }
}

+ 13 - 4
business/es-service/src/main/java/com/yihu/jw/es/service/StatisticsEsService.java

@ -5658,8 +5658,6 @@ public class StatisticsEsService {
     * @param endDate 结束时间
     * @param area  区域编码 如 level2 area传市编码
     * @param level 2 市  3区  4医院 5、科室 6医生
     * @param index 指标
     * @param level2_type
     * @return
     * @throws Exception
     */
@ -5712,8 +5710,6 @@ public class StatisticsEsService {
        object.put("publishTotal",publishTotal);//发布量
        object.put("publishLink",getTwoRange(publishTotal-publishLinkTotal,publishLinkTotal,0));//环比
        object.put("publishSame",getTwoRange(publishTotal-publishSameTotal,publishSameTotal,0));//同比
        //收藏量统计
        saveModel3 = elasticsearchUtil.findOneDateQuotaLevel2(startDate, endDate, area, level, "76", SaveModel.timeLevel_ZL,null,"3");
        //收藏量环比
@ -5726,6 +5722,19 @@ public class StatisticsEsService {
        object.put("collectTotal",collectTotal);//发布量
        object.put("collectLink",getTwoRange(collectTotal-collectLinkTotal,collectLinkTotal,0));//环比
        object.put("collectSame",getTwoRange(collectTotal-collectSameTotal,collectSameTotal,0));//同比
        //浏览量统计
        saveModel6 = elasticsearchUtil.findOneDateQuotaLevel0(startDate, endDate, area, level, "77", SaveModel.timeLevel_ZL);
        //浏览量环比
        saveModel7 = elasticsearchUtil.findOneDateQuotaLevel0(linkStartDate, linkEndDate, area, level, "77", SaveModel.timeLevel_ZL);
        //浏览量同比
        saveModel8 = elasticsearchUtil.findOneDateQuotaLevel0(sameStartDate, sameEndDate, area, level, "77", SaveModel.timeLevel_ZL);
        Integer browseTotal= saveModel6!=null?saveModel6.getResult1().intValue():0;
        Integer browseLinkTotal = saveModel7!=null?saveModel7.getResult1().intValue():0;
        Integer browseSameTotal = saveModel8!=null?saveModel8.getResult1().intValue():0;
        object.put("browseTotal",browseTotal);//发布量
        object.put("browseLinkTotal",getTwoRange(browseTotal-browseLinkTotal,browseLinkTotal,0));//环比
        object.put("browseSameTotal",getTwoRange(browseTotal-browseSameTotal,browseSameTotal,0));//同比
        return object;
    }

+ 72 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/article/KnowledgeArticleBrowseDO.java

@ -0,0 +1,72 @@
package com.yihu.jw.entity.hospital.article;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
 * 用户文章(浏览、)关系表
 */
@Entity
@Table(name = "base_knowledge_article_browse")
public class KnowledgeArticleBrowseDO extends UuidIdentityEntityWithOperator {
	
	private String relationCode;//文章id/医生code
	private Integer relationType;//1文章2医生
	private Integer userType;//1医生2患者
	private String user;//用户code
	private String userName;//用户名称
	private Integer type;//1浏览量
	public Integer getUserType() {
		return userType;
	}
	public void setUserType(Integer userType) {
		this.userType = userType;
	}
	public String getRelationCode() {
		return relationCode;
	}
	public void setRelationCode(String relationCode) {
		this.relationCode = relationCode;
	}
	public Integer getRelationType() {
		return relationType;
	}
	public void setRelationType(Integer relationType) {
		this.relationType = relationType;
	}
	public String getUser() {
		return user;
	}
	public void setUser(String user) {
		this.user = user;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public Integer getType() {
		return type;
	}
	public void setType(Integer type) {
		this.type = type;
	}
}

+ 11 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/article/KnowledgeArticleDictDO.java

@ -65,6 +65,8 @@ public class KnowledgeArticleDictDO extends UuidIdentityEntity {
	private  List<Map<String,Object>> doctorList;//推荐医生信息
	@Transient
	private Integer browseTotal;//浏览数量
	@Transient
	private KnowledgeArticleUserDO knowledgeArticleUserDO;
@ -80,6 +82,15 @@ public class KnowledgeArticleDictDO extends UuidIdentityEntity {
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
	private Date releaseTime;
	@Transient
	public Integer getBrowseTotal() {
		return browseTotal;
	}
	public void setBrowseTotal(Integer browseTotal) {
		this.browseTotal = browseTotal;
	}
	public String getRecommendDoctorName() {
		return recommendDoctorName;
	}

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

@ -276,7 +276,7 @@ public class BaseRequestMapping {
        public static final String findMenuByParentId  = "/findMenuByParentId";
        public static final String findArticleByMenuId= "/findArticleByMenuId";
        public static final String queryById= "/queryById";
        public static final String insertBrowseDO="/insertBrowseDO";
    }
    /**

+ 17 - 4
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/article/BaseMenuNoLoginEndpoint.java

@ -2,6 +2,7 @@ package com.yihu.jw.hospital.endpoint.article;
import com.yihu.jw.article.dao.KnowledgeArticleDictDao;
import com.yihu.jw.article.service.BaseMenuManageService;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleBrowseDO;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleDictDO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
@ -11,10 +12,7 @@ import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
@ -84,6 +82,7 @@ public class BaseMenuNoLoginEndpoint extends EnvelopRestEndpoint {
        try {
            KnowledgeArticleDictDO articleDO = knowledgeArticleDictDao.findById(id).orElse(null);
            String recommendDoctor = articleDO.getRecommendDoctor();
            articleDO.setBrowseTotal(menuService.selectArticleBrowseByRelationCode(id,1));
            if (recommendDoctor!=null&&recommendDoctor!=""){
                recommendDoctor = recommendDoctor.replace(",","','");
                String sql = "select d.id,\n" +
@ -103,4 +102,18 @@ public class BaseMenuNoLoginEndpoint extends EnvelopRestEndpoint {
        }
    }
    @PostMapping(value = BaseRequestMapping.MenuNologin.insertBrowseDO)
    @ApiOperation(value = "新增用户浏览数据")
    public Envelop insertBrowseDO(
            @ApiParam(name = "json", value = "json浏览实体", required = true)
            @RequestParam(value = "json", required = true)String json) throws Exception{
        try {
            KnowledgeArticleBrowseDO browseDO = toEntity(json, KnowledgeArticleBrowseDO.class);
            return success(menuService.insertBrowseDO(browseDO));
        }catch (Exception e){
            return failedException(e);
        }
    }
}