GovernmentBrowseLogService.java 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package com.yihu.ehr.basic.government.service;
  2. import com.yihu.ehr.basic.government.dao.GovernmentBrowseLogRepository;
  3. import com.yihu.ehr.entity.government.GovernmentBrowseLog;
  4. import com.yihu.ehr.model.resource.MRsReport;
  5. import com.yihu.ehr.query.BaseJpaService;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.jdbc.core.BeanPropertyRowMapper;
  8. import org.springframework.jdbc.core.JdbcTemplate;
  9. import org.springframework.stereotype.Service;
  10. import org.springframework.transaction.annotation.Transactional;
  11. import java.util.ArrayList;
  12. import java.util.List;
  13. /**
  14. * Created by wxw on 2017/11/3.
  15. */
  16. @Transactional
  17. @Service
  18. public class GovernmentBrowseLogService extends BaseJpaService<GovernmentBrowseLog, GovernmentBrowseLogRepository> {
  19. @Autowired
  20. private GovernmentBrowseLogRepository governmentBrowseLogRepository;
  21. @Autowired
  22. private JdbcTemplate jdbcTmeplate;
  23. public GovernmentBrowseLog saveGovernmentBrowseLog(GovernmentBrowseLog governmentBrowseLog) {
  24. governmentBrowseLog = governmentBrowseLogRepository.save(governmentBrowseLog);
  25. return governmentBrowseLog;
  26. }
  27. public List<GovernmentBrowseLog> getBrowseName(String userId) {
  28. String sql = "select show_type from rs_report where code = ?";
  29. List<GovernmentBrowseLog> list = governmentBrowseLogRepository.findByUserId(userId);
  30. List<String> arrayList = new ArrayList();
  31. if (null != list && list.size() > 0) {
  32. list.forEach(item -> {
  33. if (arrayList.size() < 5) {
  34. if (!arrayList.contains(item.getResourceId())) {
  35. arrayList.add(item.getResourceId());
  36. }
  37. }
  38. });
  39. }
  40. List<GovernmentBrowseLog> govList = new ArrayList<>();
  41. if (arrayList.size() > 0) {
  42. for (String code : arrayList) {
  43. List<GovernmentBrowseLog> governmentBrowseLogs = governmentBrowseLogRepository.findByResourceId(code);
  44. if (null != governmentBrowseLogs && governmentBrowseLogs.size() > 0) {
  45. GovernmentBrowseLog governmentBrowseLog = governmentBrowseLogs.get(0);
  46. List<MRsReport> query = jdbcTmeplate.query(sql, new BeanPropertyRowMapper(MRsReport.class), governmentBrowseLog.getResourceId());
  47. if (null != query && query.size() > 0) {
  48. governmentBrowseLog.setShowType(query.get(0).getShowType());
  49. }
  50. govList.add(governmentBrowseLog);
  51. }
  52. }
  53. }
  54. return govList;
  55. }
  56. public List getHotBrowseLog() {
  57. String sql = "select gbl.*,show_type from government_browse_log gbl join rs_report rp on gbl.resource_id=rp.code" +
  58. " WHERE gbl.resource_id = ? order by gbl.create_time desc limit 1";
  59. List<GovernmentBrowseLog> hotList = new ArrayList<>();
  60. List<String> codeList = governmentBrowseLogRepository.getSortByCode();
  61. for (String code : codeList) {
  62. List<GovernmentBrowseLog> query = jdbcTmeplate.query(sql, new BeanPropertyRowMapper(GovernmentBrowseLog.class), code);
  63. if (null != query && query.size() > 0) {
  64. hotList.add(query.get(0));
  65. }
  66. }
  67. return hotList;
  68. }
  69. }