OrderAutoCheck.java 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package service;
  2. import com.alibaba.fastjson2.JSONObject;
  3. import common.Controller;
  4. import common.ServiceController;
  5. import common.data.Row;
  6. import common.data.Rows;
  7. import java.util.ArrayList;
  8. public class OrderAutoCheck extends ServiceController {
  9. @Override
  10. public void serviceRun() throws Exception {
  11. Rows orderRows = dbConnect.runSqlQuery("select t1.sa_orderid,t1.sonum,t1.sys_enterpriseid,sum(t2.amount)as amount from sa_order t1\n" + "inner join sa_orderitems t2 on t1.sa_orderid=t2.sa_orderid \n" + "inner join sa_agents t3 on t1.sys_enterpriseid=t3.sys_enterpriseid and t3.submitautocheck=1 \n" + "where t1.status='提交'\n" + "group by t1.sa_orderid,t1.sys_enterpriseid,t1.sonum having sum(t2.amount)>0 order by t1.sys_enterpriseid,sum(t2.amount)");
  12. logger.info("监测到有{}个订单待审核", orderRows.size());
  13. Controller md = getSysController("MD");
  14. ArrayList<Long> errenterpriseid = new ArrayList<>();
  15. for (Row orderRow : orderRows) {
  16. long enterpriseid = orderRow.getLong("sys_enterpriseid");
  17. if (!errenterpriseid.contains(enterpriseid)) {
  18. JSONObject content = new JSONObject();
  19. content.put("sa_orderid", orderRow.getLong("sa_orderid"));
  20. content.put("reviewtype", "");
  21. JSONObject resultObject = (JSONObject) md.callApi(20221108153502L, 1, content);
  22. if (resultObject.getIntValue("status") == 0) {
  23. logger.info("订单{}审核失败;{}", orderRow.getString("sonum"), resultObject.getString("msg"));
  24. errenterpriseid.add(enterpriseid);
  25. } else {
  26. logger.info("订单{}审核成功", orderRow.getString("sonum"));
  27. }
  28. }
  29. }
  30. }
  31. @Override
  32. public ServiceParam paramSet() {
  33. return new ServiceParam("订单自动审核", 10, RunType.minute);
  34. }
  35. }