TaskDetailService.java 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. package com.yihu.jw.service;/**
  2. * Created by nature of king on 2018/4/27.
  3. */
  4. import com.yihu.jw.dao.CredittsLogDetailDao;
  5. import com.yihu.jw.dao.TaskPatientDetailDao;
  6. import com.yihu.jw.entity.health.bank.TaskPatientDetailDO;
  7. import com.yihu.jw.restmodel.web.MixEnvelop;
  8. import com.yihu.mysql.query.BaseJpaService;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.jdbc.core.JdbcTemplate;
  11. import org.springframework.stereotype.Service;
  12. import javax.transaction.Transactional;
  13. import java.text.ParseException;
  14. /**
  15. * @author wangzhinan
  16. * @create 2018-04-27 9:35
  17. * @desc health blank Service
  18. **/
  19. @Service
  20. @Transactional
  21. public class TaskDetailService extends BaseJpaService<TaskPatientDetailDO,TaskPatientDetailDao> {
  22. @Autowired
  23. private TaskPatientDetailDao taskPatientDetailDao;
  24. @Autowired
  25. private JdbcTemplate jdbcTemplate;
  26. @Autowired
  27. private CredittsLogDetailDao credittsLogDetailDao;
  28. /**
  29. * 参与任务
  30. *
  31. * @param taskPatientDetailDO
  32. * @return
  33. */
  34. public MixEnvelop<Boolean, Boolean> insert(TaskPatientDetailDO taskPatientDetailDO){
  35. taskPatientDetailDO.setCouponTotal(0L);
  36. taskPatientDetailDao.save(taskPatientDetailDO);
  37. MixEnvelop<Boolean, Boolean> envelop = new MixEnvelop<>();
  38. envelop.setObj(true);
  39. return envelop;
  40. }
  41. /* *//**
  42. * insert health task
  43. *
  44. * @param taskDetailDO
  45. * @return
  46. *//*
  47. public Envelop<Boolean> insert(TaskPatientDetailDO taskDetailDO){
  48. taskPatientDetailDao.save(taskDetailDO);
  49. Envelop<Boolean> envelop = new Envelop<>();
  50. envelop.setObj(true);
  51. return envelop;
  52. }
  53. *//**
  54. * patient or doctor find health task
  55. *
  56. * @param patientId
  57. * @param page
  58. * @param size
  59. * @return
  60. * @throws ParseException
  61. *//*
  62. public Envelop<TaskPatientDetailDO> findTaskByPatient(String patientId, String doctorId, Integer page, Integer size) throws ParseException {
  63. TaskPatientDetailDO taskDetailDO = new TaskPatientDetailDO();
  64. taskDetailDO.setDoctorId(doctorId);
  65. taskDetailDO.setPatientId(patientId);
  66. String sql = new ISqlUtils().getSql(taskDetailDO,page,size,"*");
  67. List<TaskPatientDetailDO> taskDetailDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(TaskPatientDetailDO.class));
  68. String sqlcount = new ISqlUtils().getSql(taskDetailDO,0,0,"count");
  69. List<Map<String,Object>> rstotal = jdbcTemplate.queryForList(sqlcount);
  70. Long count = 0L;
  71. if(rstotal!=null&&rstotal.size()>0){
  72. count = (Long) rstotal.get(0).get("total");
  73. }
  74. return Envelop.getSuccessListWithPage(HealthBankMapping.api_success, taskDetailDOS,page,size,count);
  75. }
  76. *//**
  77. * 修改健康任务
  78. *
  79. * @param taskDetailDO
  80. * @return
  81. *//*
  82. public Envelop<Boolean> update(TaskPatientDetailDO taskDetailDO){
  83. TaskPatientDetailDO taskDetailDO1 = taskPatientDetailDao.findOne(taskDetailDO.getId());
  84. String sql = "select cl.status as status,cl.total as total from health_bank_credits_log cl order by cl.update_time desc";
  85. List<CreditsDetailDO> creditsLogDetailDOList = jdbcTemplate.query(sql,new BeanPropertyRowMapper(CreditsDetailDO.class));
  86. taskPatientDetailDao.save(taskDetailDO);
  87. if (taskDetailDO.getStatus().equalsIgnoreCase("finished")&&!taskDetailDO1.getStatus().equalsIgnoreCase("unfinished")){
  88. CreditsDetailDO creditsLogDetailDO = new CreditsDetailDO();
  89. if (creditsLogDetailDOList == null || creditsLogDetailDOList.size() ==0){
  90. creditsLogDetailDO.setTotal(Long.parseLong(taskDetailDO.getIntegrate()));
  91. }else {
  92. creditsLogDetailDO.setTotal(Long.parseLong(taskDetailDO.getIntegrate().replace("+",""))+ creditsLogDetailDOList.get(0).getTotal());
  93. }
  94. creditsLogDetailDO.setPatientId(taskDetailDO.getPatientId());
  95. creditsLogDetailDO.setIntegrate("+"+ taskDetailDO.getIntegrate());
  96. creditsLogDetailDO.setIntegrateType("HEALTH_TASK");
  97. creditsLogDetailDO.setIntegrateId(taskDetailDO.getId());
  98. creditsLogDetailDO.setStatus("unused");
  99. credittsLogDetailDao.save(creditsLogDetailDO);
  100. }
  101. Envelop<Boolean> envelop = new Envelop<>();
  102. envelop.setObj(true);
  103. return envelop;
  104. }*/
  105. }