TaskService.java 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. package com.yihu.jw.service;/**
  2. * Created by nature of king on 2018/5/10.
  3. */
  4. import com.yihu.base.mysql.query.BaseJpaService;
  5. import com.yihu.jw.dao.TaskDao;
  6. import com.yihu.jw.dao.TaskDetailDao;
  7. import com.yihu.jw.entity.health.bank.TaskDO;
  8. import com.yihu.jw.entity.health.bank.TaskDetailDO;
  9. import com.yihu.jw.restmodel.common.Envelop;
  10. import com.yihu.jw.rm.health.bank.HealthBankMapping;
  11. import com.yihu.jw.util.DateUtils;
  12. import com.yihu.jw.util.ISqlUtils;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.jdbc.core.BeanPropertyRowMapper;
  15. import org.springframework.jdbc.core.JdbcTemplate;
  16. import org.springframework.stereotype.Service;
  17. import javax.transaction.Transactional;
  18. import java.util.ArrayList;
  19. import java.util.List;
  20. import java.util.Map;
  21. /**
  22. * @author wangzhinan
  23. * @create 2018-05-10 13:45
  24. * @desc task service
  25. **/
  26. @Service
  27. @Transactional
  28. public class TaskService extends BaseJpaService<TaskDO,TaskDao>{
  29. @Autowired
  30. private TaskDao taskDao;
  31. @Autowired
  32. private JdbcTemplate jdbcTemplate;
  33. @Autowired
  34. private TaskDetailDao taskDetailDao;
  35. public Envelop<Boolean> insert(TaskDO taskDO){
  36. taskDao.save(taskDO);
  37. Envelop<Boolean> envelop = new Envelop<>();
  38. envelop.setObj(true);
  39. return envelop;
  40. }
  41. /* public Envelop<CreditsDetailDO> findByCondition(TaskDO taskDO, Integer page, Integer size) throws ParseException {
  42. String sql = new ISqlUtils().getSql(taskDO,page,size,"*");
  43. List<CreditsDetailDO> creditsDetailDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(CreditsDetailDO.class));
  44. String sqlcount = new ISqlUtils().getSql(creditsDetailDO,0,0,"count");
  45. List<Map<String,Object>> rstotal = jdbcTemplate.queryForList(sqlcount);
  46. Long count = 0L;
  47. if(rstotal!=null&&rstotal.size()>0){
  48. count = (Long) rstotal.get(0).get("total");
  49. }
  50. return Envelop.getSuccessListWithPage(HealthBankMapping.api_success, creditsDetailDOS,page,size,count);
  51. }*/
  52. public Envelop<TaskDO> selectByCondition(TaskDO taskDO,Integer page,Integer size){
  53. String sql = new ISqlUtils().getSql(taskDO,page,size,"*");
  54. List<TaskDO> taskDOS1 = jdbcTemplate.query(sql,new BeanPropertyRowMapper(TaskDO.class));
  55. if (taskDOS1 == null || taskDOS1.size() ==0){
  56. List<TaskDO> taskDOList = getTasks(taskDO.getPatientId());
  57. for (TaskDO taskDO1:taskDOList){
  58. taskDao.save(taskDO1);
  59. }
  60. }
  61. List<TaskDO> taskDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(TaskDO.class));
  62. List<TaskDO> taskDOList = new ArrayList<>();
  63. for (TaskDO taskDO1 : taskDOS){
  64. if (taskDO1.getPeriod() == 0){
  65. String taskSql1 = "SELECT * FROM wlyy_health_bank_task_detail td WHERE" +
  66. " td.task_id = '" +taskDO1.getId()+
  67. "' AND td.create_time > '" + DateUtils.getDayBegin()+
  68. "' AND td.create_time < '"+DateUtils.getDayEnd()+"'";
  69. List<TaskDetailDO> taskDetailList = jdbcTemplate.query(taskSql1,new BeanPropertyRowMapper(TaskDetailDO.class));
  70. if (taskDetailList != null && taskDetailList.size() != 0){
  71. taskDO1.setStatus(1);
  72. }
  73. }
  74. taskDOList.add(taskDO1);
  75. }
  76. String sqlcount = new ISqlUtils().getSql(taskDO,0,0,"count");
  77. List<Map<String,Object>> rstotal = jdbcTemplate.queryForList(sqlcount);
  78. Long count = 0L;
  79. if(rstotal!=null&&rstotal.size()>0){
  80. count = (Long) rstotal.get(0).get("total");
  81. }
  82. return Envelop.getSuccessListWithPage(HealthBankMapping.api_success, taskDOList,page,size,count);
  83. }
  84. public List<TaskDO> getTasks(String patientId){
  85. List<TaskDO> taskDOList = new ArrayList<>();
  86. TaskDO taskDO = new TaskDO();
  87. taskDO.setPatientId(patientId);
  88. taskDO.setTaskCode("BIND");
  89. taskDO.setPeriod(1);
  90. taskDO.setTaskTitle("首次绑定");
  91. taskDO.setTaskContent("(使用社区发放的已关联您身份信息的设备,登录厦门i健康绑定设备)");
  92. taskDO.setTradeType("activity");
  93. taskDO.setTransactionId("402885e96324a409016324c0a45a0006");
  94. taskDOList.add(taskDO);
  95. TaskDO taskDO1 = new TaskDO();
  96. taskDO1.setPatientId(patientId);
  97. taskDO1.setTaskCode("MEASURE");
  98. taskDO1.setPeriod(0);
  99. taskDO1.setTaskTitle("每日测量");
  100. taskDO1.setTaskContent("(使用社区发放的已关联您身份信息的设备,绑定后每天完成测量)");
  101. taskDO1.setTradeType("activity");
  102. taskDO1.setTransactionId("402885e96324a409016324c0a45a0006");
  103. taskDOList.add(taskDO1);
  104. return taskDOList;
  105. }
  106. }