WaterCollecationController.java 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. package com.shkpr.service.aimodelpower.controllerapi;
  2. import com.global.base.log.LogLevelFlag;
  3. import com.global.base.log.LogPrintMgr;
  4. import com.global.base.tools.FastJsonUtil;
  5. import com.shkpr.service.aimodelpower.bizmgr.KprAimWaterCollecationBizFun;
  6. import com.shkpr.service.aimodelpower.commtools.CommTool;
  7. import com.shkpr.service.aimodelpower.commtools.HttpTool;
  8. import com.shkpr.service.aimodelpower.constants.ApiURI;
  9. import com.shkpr.service.aimodelpower.constants.LogFlagBusiType;
  10. import com.shkpr.service.aimodelpower.controllerfilter.TokenAuthenticationService;
  11. import com.shkpr.service.aimodelpower.dto.MsgNotifyBean;
  12. import com.shkpr.service.aimodelpower.dto.ResponseCode;
  13. import com.shkpr.service.aimodelpower.dto.ResponseRes;
  14. import com.shkpr.service.aimodelpower.exception.SelfException;
  15. import com.shkpr.service.aimodelpower.jsonbean.zilaishui.JPTbMHourWater;
  16. import com.shkpr.service.aimodelpower.jsonbean.zilaishui.JPTbMWater;
  17. import org.springframework.web.bind.annotation.PostMapping;
  18. import org.springframework.web.bind.annotation.RequestHeader;
  19. import org.springframework.web.bind.annotation.RequestMapping;
  20. import org.springframework.web.bind.annotation.RestController;
  21. import javax.servlet.http.HttpServletRequest;
  22. import java.util.concurrent.atomic.AtomicInteger;
  23. /**
  24. * @ClassName WaterCollecationController
  25. * @Description: TODO 水量预测相关接口
  26. * @Author LX
  27. * @Date 2024/5/27
  28. * @Version V1.0
  29. **/
  30. @RequestMapping(ApiURI.URI_WATER_ZILAISHUI_H)
  31. @RestController
  32. public class WaterCollecationController {
  33. final String MSG_SUCCESS = "success.";
  34. final String MSG_FAILED = "failed.";
  35. private String mStrClassName;
  36. private AtomicInteger mSeqNotify = null;
  37. public WaterCollecationController() {
  38. mStrClassName = "WaterCollecationController";
  39. mSeqNotify = new AtomicInteger(0);
  40. }
  41. @PostMapping(value = ApiURI.URI_WATER_ZILAISHUI_DAY)
  42. public ResponseRes dayData(HttpServletRequest request
  43. , @RequestHeader(value= ApiURI.HEADER_CLIENT_TYPE, required=false) String strClientType
  44. , @RequestHeader(value= ApiURI.HEADER_USER_AGENT, required=false) String strUserAgent) throws Exception{
  45. final String URI_PATH = request.getRequestURI();
  46. final String strPlatform = CommTool.getPlatformByAgent(strClientType, strUserAgent);
  47. final String strUserId = (String)request.getAttribute(TokenAuthenticationService.HEADER_USERID);
  48. JPTbMWater oJsonParam = FastJsonUtil.fromJSONByGson(HttpTool.getJsonBodyStr(request), JPTbMWater.class);
  49. if (oJsonParam == null
  50. || !oJsonParam.checkValid()){
  51. throw new SelfException(ResponseCode.STATUS_ERROR_JSON_FORMAT.toStrCode()
  52. , String.format(ApiURI.EXCEPTION_FORMAT
  53. , strPlatform
  54. , URI_PATH
  55. , ResponseCode.STATUS_ERROR_JSON_FORMAT.toStrMsg()));
  56. }
  57. long llReqBefore = System.currentTimeMillis();
  58. String strRunSeq = String.format("%d-%d", llReqBefore, mSeqNotify.incrementAndGet());
  59. ResponseRes<String> resResult = new ResponseRes<String>();
  60. resResult.setRescode(ResponseCode.RESULT_NORMAL.toStrCode());
  61. resResult.setResmsg(MSG_SUCCESS);
  62. resResult.setResdata("");
  63. // resResult.setResdata(waterZILAISHUIDao.getCount("WHERE TAG_CODE = 'SPB.SSWD.total_flow1' and QCQUISITION_TIME >= to_date('2023-01-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')").toString());
  64. ResponseRes oRes = KprAimWaterCollecationBizFun.selectTbWaterList(oJsonParam);
  65. if(oRes!=null&&ResponseCode.RESULT_NORMAL.toStrCode().equals(oRes.getRescode())) {
  66. resResult.setResdata(FastJsonUtil.toJSON(oRes.getResdata()));
  67. }
  68. resResult.setTimestamp(System.currentTimeMillis());
  69. LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, LogFlagBusiType.BUSI_INTERNAL.toStrValue(), mStrClassName, strUserId
  70. ,String.format("%s:%s seq:{%s} rescode:{%s} resmsg:{%s} time:{%d ms} end<===="
  71. ,strPlatform
  72. ,URI_PATH
  73. ,strRunSeq
  74. ,resResult.getRescode()
  75. ,resResult.getResmsg()
  76. ,resResult.getTimestamp()-llReqBefore));
  77. return resResult;
  78. }
  79. @PostMapping(value = ApiURI.URI_WATER_ZILAISHUI_HOUR)
  80. public ResponseRes hourData(HttpServletRequest request
  81. , @RequestHeader(value= ApiURI.HEADER_CLIENT_TYPE, required=false) String strClientType
  82. , @RequestHeader(value= ApiURI.HEADER_USER_AGENT, required=false) String strUserAgent) throws Exception{
  83. final String URI_PATH = request.getRequestURI();
  84. final String strPlatform = CommTool.getPlatformByAgent(strClientType, strUserAgent);
  85. final String strUserId = (String)request.getAttribute(TokenAuthenticationService.HEADER_USERID);
  86. JPTbMHourWater oJsonParam = FastJsonUtil.fromJSONByGson(HttpTool.getJsonBodyStr(request), JPTbMHourWater.class);
  87. if (oJsonParam == null
  88. || !oJsonParam.checkValid()){
  89. throw new SelfException(ResponseCode.STATUS_ERROR_JSON_FORMAT.toStrCode()
  90. , String.format(ApiURI.EXCEPTION_FORMAT
  91. , strPlatform
  92. , URI_PATH
  93. , ResponseCode.STATUS_ERROR_JSON_FORMAT.toStrMsg()));
  94. }
  95. long llReqBefore = System.currentTimeMillis();
  96. String strRunSeq = String.format("%d-%d", llReqBefore, mSeqNotify.incrementAndGet());
  97. ResponseRes<String> resResult = new ResponseRes<String>();
  98. resResult.setRescode(ResponseCode.RESULT_NORMAL.toStrCode());
  99. resResult.setResmsg(MSG_SUCCESS);
  100. resResult.setResdata("");
  101. // resResult.setResdata(waterZILAISHUIDao.getCount("WHERE TAG_CODE = 'SPB.SSWD.total_flow1' and QCQUISITION_TIME >= to_date('2023-01-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')").toString());
  102. ResponseRes oRes = KprAimWaterCollecationBizFun.selectTbHourWaterList(oJsonParam);
  103. if(oRes!=null&&ResponseCode.RESULT_NORMAL.toStrCode().equals(oRes.getRescode())) {
  104. resResult.setResdata(FastJsonUtil.toJSON(oRes.getResdata()));
  105. }
  106. resResult.setTimestamp(System.currentTimeMillis());
  107. LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, LogFlagBusiType.BUSI_INTERNAL.toStrValue(), mStrClassName, strUserId
  108. ,String.format("%s:%s seq:{%s} rescode:{%s} resmsg:{%s} time:{%d ms} end<===="
  109. ,strPlatform
  110. ,URI_PATH
  111. ,strRunSeq
  112. ,resResult.getRescode()
  113. ,resResult.getResmsg()
  114. ,resResult.getTimestamp()-llReqBefore));
  115. return resResult;
  116. }
  117. }