TaskPatientDtailService.java 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. package com.yihu.jw.service;/**
  2. * Created by nature of king on 2018/6/8.
  3. */
  4. import com.yihu.base.mysql.query.BaseJpaService;
  5. import com.yihu.jw.dao.ActivityDao;
  6. import com.yihu.jw.dao.TaskDao;
  7. import com.yihu.jw.dao.TaskPatientDetailDao;
  8. import com.yihu.jw.entity.health.bank.ActivityDO;
  9. import com.yihu.jw.entity.health.bank.TaskDO;
  10. import com.yihu.jw.entity.health.bank.TaskPatientDetailDO;
  11. import com.yihu.jw.entity.health.bank.TaskRangDO;
  12. import com.yihu.jw.restmodel.common.Envelop;
  13. import com.yihu.jw.rm.health.bank.HealthBankMapping;
  14. import com.yihu.jw.util.ISqlUtils;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.jdbc.core.BeanPropertyRowMapper;
  17. import org.springframework.jdbc.core.JdbcTemplate;
  18. import org.springframework.stereotype.Service;
  19. import javax.transaction.Transactional;
  20. import java.util.Date;
  21. import java.util.List;
  22. import java.util.Map;
  23. /**
  24. * @author wangzhinan
  25. * @create 2018-06-08 15:43
  26. * @desc 任务参与 Service
  27. **/
  28. @Service
  29. @Transactional
  30. public class TaskPatientDtailService extends BaseJpaService<TaskPatientDetailDO,TaskPatientDetailDao> {
  31. @Autowired
  32. private TaskPatientDetailDao taskPatientDetailDao;
  33. @Autowired
  34. private JdbcTemplate jdbcTemplate;
  35. @Autowired
  36. private TaskDao taskDao;
  37. @Autowired
  38. private ActivityDao activityDao;
  39. /**
  40. * 查看任务参与情况
  41. *
  42. * @param taskPatientDetailDO 任务参与对象
  43. *
  44. * @param page 页码
  45. * @param size 分页大小
  46. * @return
  47. */
  48. public Envelop<TaskRangDO> selectByCondition(TaskPatientDetailDO taskPatientDetailDO, Integer page, Integer size){
  49. String sql = new ISqlUtils().getSql(taskPatientDetailDO,page,size,"*");
  50. List<TaskPatientDetailDO> taskPatientDetailDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(TaskPatientDetailDO.class));
  51. String sqlcount = new ISqlUtils().getSql(taskPatientDetailDO,0,0,"count");
  52. List<Map<String,Object>> rstotal = jdbcTemplate.queryForList(sqlcount);
  53. Long count = 0L;
  54. if(rstotal!=null&&rstotal.size()>0){
  55. count = (Long) rstotal.get(0).get("total");
  56. }
  57. return Envelop.getSuccessListWithPage(HealthBankMapping.api_success, taskPatientDetailDOS,page,size,count);
  58. }
  59. /**
  60. * 添加任务参与
  61. *
  62. * @param taskPatientDetailDO 任务参与对象
  63. * @return
  64. */
  65. public Envelop<Boolean> insert(TaskPatientDetailDO taskPatientDetailDO) throws Exception{
  66. Envelop<Boolean> envelop = new Envelop<>();
  67. taskPatientDetailDO.setCreateTime(new Date());
  68. taskPatientDetailDO.setUpdateTime(new Date());
  69. taskPatientDetailDO.setStatus(Integer.parseInt("0"));
  70. String sql = "select * from wlyy_health_bank_task_patient_detail where patient_openid = '"+taskPatientDetailDO.getPatientOpenid()+"'";
  71. List<TaskPatientDetailDO> taskPatientDetailDOList = jdbcTemplate.query(sql,new BeanPropertyRowMapper(TaskPatientDetailDO.class));
  72. if (taskPatientDetailDOList != null && taskPatientDetailDOList.size() !=0){
  73. throw new Exception("该微信账号已报名过!");
  74. }
  75. taskPatientDetailDao.save(taskPatientDetailDO);
  76. envelop.setObj(true);
  77. return envelop;
  78. }
  79. /**
  80. * 更新任务参与
  81. *
  82. * @param taskPatientDetailDO 任务参与对象
  83. * @return
  84. */
  85. public Envelop<Boolean> update(TaskPatientDetailDO taskPatientDetailDO){
  86. Envelop<Boolean> envelop = new Envelop<>();
  87. String sql = ISqlUtils.getUpdateSql(taskPatientDetailDO);
  88. jdbcTemplate.update(sql);
  89. envelop.setObj(true);
  90. return envelop;
  91. }
  92. /**
  93. * 我参与的活动
  94. *
  95. * @param taskPatientDetailDO 参与信息对象
  96. * @param page 页码
  97. * @param size 分页大小
  98. * @return
  99. */
  100. public Envelop<TaskPatientDetailDO> selectByPatient(TaskPatientDetailDO taskPatientDetailDO,Integer page,Integer size){
  101. String sql = new ISqlUtils().getSql(taskPatientDetailDO,page,size,"*");
  102. List<TaskPatientDetailDO> taskPatientDetailDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(TaskPatientDetailDO.class));
  103. for (TaskPatientDetailDO taskPatientDetailDO1:taskPatientDetailDOS){
  104. TaskDO taskDO = taskDao.findOne(taskPatientDetailDO1.getTaskId());
  105. ActivityDO activityDO = activityDao.findOne(taskDO.getTransactionId());
  106. taskDO.setActivityDO(activityDO);
  107. taskPatientDetailDO1.setTaskDO(taskDO);
  108. }
  109. String sqlcount = new ISqlUtils().getSql(taskPatientDetailDO,0,0,"count");
  110. List<Map<String,Object>> rstotal = jdbcTemplate.queryForList(sqlcount);
  111. Long count = 0L;
  112. if(rstotal!=null&&rstotal.size()>0){
  113. count = (Long) rstotal.get(0).get("total");
  114. }
  115. return Envelop.getSuccessListWithPage(HealthBankMapping.api_success, taskPatientDetailDOS,page,size,count);
  116. }
  117. }