WorkflowImplDao.java 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. package com.happy.dao.impl;
  2. import com.happy.Model.BookingComment;
  3. import com.happy.Model.Hotel;
  4. import com.happy.Model.Workflow;
  5. import com.happy.Until.Func;
  6. import com.happy.Until.SqlUtil;
  7. import com.happy.Until.UUIDUtil;
  8. import com.happy.dao.WorkflowDao;
  9. import com.happy.vo.EvaluatePageVo;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.jdbc.core.BeanPropertyRowMapper;
  12. import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
  13. import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
  14. import org.springframework.stereotype.Repository;
  15. import java.util.List;
  16. import java.util.UUID;
  17. @Repository("WorkflowDao")
  18. public class WorkflowImplDao implements WorkflowDao {
  19. @Autowired
  20. private NamedParameterJdbcTemplate namedParameterJdbcTemplate;
  21. public NamedParameterJdbcTemplate getNamedParameterJdbcTemplate() {
  22. return namedParameterJdbcTemplate;
  23. }
  24. public void setNamedParameterJdbcTemplate(
  25. NamedParameterJdbcTemplate namedParameterJdbcTemplate) {
  26. this.namedParameterJdbcTemplate = namedParameterJdbcTemplate;
  27. }
  28. private String selectSql = " select a.id,a.link_id,a.type,a.title,a.status,a.remark,a.create_id,a.workflow_date,date_format(a.create_date, '%Y-%m-%d') as create_date,a.workflow_remark,a.workflow_name, " +
  29. " case when a.type = 1 then b.hname when a.type = 2 then c.user_name else null end as createName "+
  30. " from workflow a " +
  31. " left join hotel b on a.type = 1 and a.create_id = b.id " +
  32. " left join users c on a.type = 2 and a.create_id = c.id " +
  33. " where 1=1";
  34. @Override
  35. public int insert(Workflow workflow) {
  36. String sql = "insert into `workflow`(id,link_id,type,title,status,remark,create_id,create_date)" +
  37. "values(:id,:link_id,:type,:title,:status,:remark,:create_id,:create_date) ";
  38. MapSqlParameterSource sps = new MapSqlParameterSource();
  39. sps.addValue("link_id",workflow.getLinkId());
  40. sps.addValue("type",workflow.getType());
  41. sps.addValue("title",workflow.getTitle());
  42. sps.addValue("status",workflow.getStatus());
  43. sps.addValue("remark",workflow.getRemark());
  44. sps.addValue("create_id",workflow.getCreateId());
  45. sps.addValue("create_date",UUIDUtil.getNewDate());
  46. if (workflow.getId() == null) {
  47. sps.addValue("id", String.valueOf(UUID.randomUUID()));
  48. } else {
  49. sps.addValue("id", workflow.getId());
  50. }
  51. int num = 0;
  52. try {
  53. num = namedParameterJdbcTemplate.update(sql, sps);
  54. } catch (Exception e) {
  55. e.printStackTrace();
  56. }
  57. return num;
  58. }
  59. @Override
  60. public Workflow queryById(String id) {
  61. String sql = selectSql + " and a.id = :id";
  62. MapSqlParameterSource sps = new MapSqlParameterSource();
  63. sps.addValue("id",id);
  64. List<Workflow> list = null;
  65. try {
  66. list = namedParameterJdbcTemplate.query(sql, sps,
  67. new BeanPropertyRowMapper<>(Workflow.class));
  68. } catch (Exception e) {
  69. e.printStackTrace();
  70. }
  71. if (list != null && list.size() > 0) return list.get(0);
  72. return null;
  73. }
  74. @Override
  75. public int update(Workflow workflow) {
  76. StringBuffer stringBuffer = new StringBuffer(" update `workflow` set ");
  77. MapSqlParameterSource sps = new MapSqlParameterSource();
  78. // 将要修改的数据填充到查询语句中
  79. appendValue(workflow,stringBuffer,sps);
  80. stringBuffer.append(" where id=:id ");
  81. sps.addValue("id", workflow.getId());
  82. int num = 0;
  83. try{
  84. num = namedParameterJdbcTemplate.update(stringBuffer.toString(), sps);
  85. }
  86. catch(Exception e){
  87. e.printStackTrace();
  88. }
  89. return num;
  90. }
  91. @Override
  92. public List<Workflow> queryList(String sqlx, int page, int rows) {
  93. SqlUtil.filterKeyword(sqlx);
  94. int start = (page - 1) * rows;// 每页的起始下标
  95. String sql = selectSql + sqlx + " ORDER BY a.create_date DESC limit :start,:rows ";;
  96. MapSqlParameterSource sps = new MapSqlParameterSource();
  97. sps.addValue("start", start);
  98. sps.addValue("rows", rows);
  99. List<Workflow> list = namedParameterJdbcTemplate.query(sql, sps,
  100. new BeanPropertyRowMapper<>(Workflow.class));
  101. if (list != null && list.size() > 0) return list;
  102. return null;
  103. }
  104. @Override
  105. public int queryTotal(String sqlx) {
  106. SqlUtil.filterKeyword(sqlx);
  107. String sql = "SELECT count(*) FROM (" + selectSql + ") a where 1 = 1 " + sqlx;
  108. MapSqlParameterSource sps = new MapSqlParameterSource();
  109. return namedParameterJdbcTemplate.queryForInt(sql, sps);
  110. }
  111. public void appendValue(Workflow workflow, StringBuffer stringBuffer, MapSqlParameterSource sps){
  112. if (!Func.checkNull(workflow.getLinkId())){
  113. stringBuffer.append(" link_id=:link_id ,");
  114. sps.addValue("link_id",workflow.getLinkId());
  115. }
  116. if (!Func.checkNull(String.valueOf(workflow.getType()))){
  117. stringBuffer.append(" type=:type ,");
  118. sps.addValue("type",workflow.getType());
  119. }
  120. if (!Func.checkNull(workflow.getTitle())){
  121. stringBuffer.append(" title=:title ,");
  122. sps.addValue("title",workflow.getTitle());
  123. }
  124. if (!Func.checkNull(String.valueOf(workflow.getStatus()))){
  125. stringBuffer.append(" status=:status ,");
  126. sps.addValue("status",workflow.getStatus());
  127. }
  128. if (!Func.checkNull(workflow.getRemark())){
  129. stringBuffer.append(" remark=:remark ,");
  130. sps.addValue("remark",workflow.getRemark());
  131. }
  132. if (!Func.checkNull(workflow.getCreateId())){
  133. stringBuffer.append(" create_id=:create_id ,");
  134. sps.addValue("create_id",workflow.getCreateId());
  135. }
  136. if (!Func.checkNull(workflow.getWorkflowRemark())){
  137. stringBuffer.append(" workflow_remark=:workflow_remark ,");
  138. sps.addValue("workflow_remark",workflow.getWorkflowRemark());
  139. }
  140. if (!Func.checkNull(workflow.getWorkflowName())){
  141. stringBuffer.append(" workflow_name=:workflow_name ,");
  142. sps.addValue("workflow_name",workflow.getWorkflowName());
  143. }
  144. if (!Func.checkNull(workflow.getWorkflowDate())){
  145. stringBuffer.append(" workflow_date=:workflow_date ");
  146. sps.addValue("workflow_date",workflow.getWorkflowDate());
  147. }
  148. }
  149. }