SaleLogUtil.java 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. package com.steerinfo.dil.util;
  2. import com.steerinfo.dil.mapper.SaleLogMapper;
  3. import com.steerinfo.dil.model.SaleLog;
  4. import org.springframework.beans.factory.annotation.Autowired;
  5. import org.springframework.stereotype.Component;
  6. import java.math.BigDecimal;
  7. import java.util.Date;
  8. import java.util.Map;
  9. @Component
  10. public class SaleLogUtil {
  11. @Autowired
  12. private SaleLogMapper saleLogMapper;
  13. public final static int INSERT = 1;
  14. public final static int UPDATE = 2;
  15. public final static int DELETE = 3;
  16. public final static int OPEN = 4;
  17. public final static int CLOSE = 5;
  18. /**
  19. * 插入运输订单的操作日志
  20. * @param orderId
  21. * @param descriptoin
  22. * @param oprationType 操作类型
  23. * @param map 可以传null
  24. * @return
  25. */
  26. public int logOrder(BigDecimal orderId,String descriptoin,Map<String,Object> map,int oprationType){
  27. try{
  28. SaleLog saleLog=new SaleLog();
  29. saleLog.setResultId(saleLogMapper.selectMaxId());
  30. saleLog.setOrderId(orderId);
  31. saleLog.setDescription(descriptoin);
  32. //saleLog.setJsonData(""+map);
  33. saleLog.setInsertTime(new Date());
  34. saleLog.setInsertUsername(getUserName(map));
  35. switch (oprationType){
  36. case INSERT:
  37. saleLog.setOprationType("新增");
  38. break;
  39. case UPDATE:
  40. saleLog.setOprationType("修改");
  41. break;
  42. case DELETE:
  43. saleLog.setOprationType("删除");
  44. break;
  45. case OPEN:
  46. saleLog.setOprationType("启用");
  47. break;
  48. case CLOSE:
  49. saleLog.setOprationType("关闭");
  50. break;
  51. default:
  52. saleLog.setOprationType("未知操作");
  53. }
  54. return saleLogMapper.insertSelective(saleLog);
  55. }catch (Exception e){
  56. e.printStackTrace();
  57. return -1;
  58. }
  59. }
  60. /**
  61. * 插入运输订单的操作日志
  62. * @param descriptoin
  63. * @param oprationType 操作类型
  64. * @param map 必传
  65. * @return
  66. */
  67. public int logOrder(Map<String,Object> map,String descriptoin,int oprationType){
  68. try{
  69. SaleLog saleLog=new SaleLog();
  70. saleLog.setResultId(saleLogMapper.selectMaxId());
  71. saleLog.setOrderId(getOrderId(map));
  72. saleLog.setDescription(descriptoin);
  73. saleLog.setInsertTime(new Date());
  74. saleLog.setInsertUsername(getUserName(map));
  75. switch (oprationType){
  76. case INSERT:
  77. saleLog.setOprationType("新增");
  78. break;
  79. case UPDATE:
  80. saleLog.setOprationType("修改");
  81. break;
  82. case DELETE:
  83. saleLog.setOprationType("删除");
  84. break;
  85. case OPEN:
  86. saleLog.setOprationType("启用");
  87. break;
  88. case CLOSE:
  89. saleLog.setOprationType("关闭");
  90. break;
  91. default:
  92. saleLog.setOprationType("未知操作");
  93. }
  94. return saleLogMapper.insertSelective(saleLog);
  95. }catch (Exception e){
  96. e.printStackTrace();
  97. return -1;
  98. }
  99. }
  100. /**
  101. * 处理插入用户名
  102. * @param map
  103. * @return
  104. */
  105. private String getUserName(Map<String,Object> map){
  106. try{
  107. if(map==null){
  108. return "system";
  109. }else if(map.get("userName")!=null){
  110. return ""+map.get("userName");
  111. }else if(map.get("userId")!=null){
  112. return saleLogMapper.getUserNameById(map);
  113. }else{
  114. return "未知用户";
  115. }
  116. }catch (Exception e){
  117. e.printStackTrace();
  118. return "未知用户";
  119. }
  120. }
  121. /**
  122. * 获取OrderId
  123. * @param map
  124. * @return
  125. */
  126. private BigDecimal getOrderId(Map<String,Object> map) throws Exception {
  127. if(map.get("orderId")!=null){
  128. return DataChange.dataToBigDecimal(map.get("orderId"));
  129. }else if(map.get("resultTotalId")!=null){
  130. return saleLogMapper.getOrderIdByTotal(map);
  131. }else{
  132. throw new Exception("没有订单Id,保存日志失败");
  133. }
  134. }
  135. }