package com.api.hw.hssl;
import bsh.Console;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.api.hw.utils.Result;
import com.api.hw.utils.WebJsonUtils;
import com.api.integration.util.DbUtil;
import com.api.integration.web.OAuth2ServerAction;
import com.caucho.quercus.env.Var;
import com.engine.cpt.cmd.alert.GetBaseInfoCmd;
import dm.jdbc.stat.support.WebServer;
import org.mozilla.javascript.Function;
import vba.word.Index;
import weaver.conn.DBUtil;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.integration.logging.Logger;
import weaver.integration.logging.LoggerFactory;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
@Path("/hw/hssl")
public class SyncOrderAPI {
private Logger logger = LoggerFactory.getLogger(OAuth2ServerAction.class);
public static final String TABLE_NAME = "formtable_main_333_dt2";
@POST
@Path("/SynOrders")
@Produces("application/json")
public Object SyncOrderinfo(@Context HttpServletRequest request, @Context HttpServletResponse response) {
this.logger.info("================SyncOrderInfo start...===============================");
JSONObject requestJSON = WebJsonUtils.getRequestJSON(request);
JSONArray items = requestJSON.getJSONArray("data");
List<List> batchParams = new ArrayList<>();
RecordSet rs = new RecordSet();
Result result = null;
HashMap retMap = new HashMap();
String sql = "INSERT INTO " + TABLE_NAME + " ("
+ "orderType, originalOrderNo, bookingName, travelerName, orderDate, orderStatus," +
"start_datetime, end_datetime, orderAmount, personPay, businessPay, discount," +
"actualPlaceOfDeparture,actualDestination, universalType,roomType, trainSeat,cabinType, " +
"vehicleType, isExcess, excessReason, flightNumber, trainNumber, hotelAddress," +
"roomQuantity, liveDay, roomDays, mainid"
+ ") VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
try {
for (int i=0;i<items.size();i++) {
JSONObject item = items.getJSONObject(i);
List<Object> rowParams = new ArrayList<>();
rowParams.add(item.getInteger("orderType"));//订单类型
rowParams.add(item.getString("originalOrderNo"));//订单明细编号
rowParams.add(item.getString("bookingName"));//订票人姓名
rowParams.add(item.getString("travelerName"));//出行人姓名
rowParams.add(item.getString("orderDate"));//订单创建日期
rowParams.add(item.getString("orderStatus"));//订单状态
rowParams.add(item.getString("start_datetime"));//订单开始时间
rowParams.add(item.getString("end_datetime"));//订单结束时间
rowParams.add(item.getString("orderAmount"));//订单总金额
rowParams.add(item.getString("personPay"));//个人支付金额
rowParams.add(item.getString("businessPay"));//企业支付金额
rowParams.add(item.getString("discount"));//折扣
rowParams.add(item.getString("actualPlaceOfDeparture"));//实际出发地
rowParams.add(item.getString("actualDestination"));//实际到达地
rowParams.add(item.getString("universalType"));//通用类型
rowParams.add(item.getInteger("roomType"));//房型
rowParams.add(item.getInteger("trainSeat"));//火车席位
rowParams.add(item.getInteger("cabinType"));//舱位类型
rowParams.add(item.getInteger("vehicleType"));//车型
rowParams.add(item.getInteger("isExcess"));//是否超标
rowParams.add(item.getString("excessReason"));//超标原因
rowParams.add(item.getString("flightNumber"));//航班号
rowParams.add(item.getString("trainNumber"));//火车车次
rowParams.add(item.getString("hotelAddress"));//酒店地址
rowParams.add(item.getString("roomQuantity"));//房间数量
rowParams.add(item.getString("liveDay"));//入住天数
rowParams.add(item.getString("roomDays"));//间夜数
rowParams.add(item.getInteger("mainid"));
batchParams.add(rowParams);
}
boolean success = rs.executeBatchSql(sql,batchParams);
if (success) {
result = Result.success();
result.setMessage("");
} else {
return Result.build(500, "数据库操作失败",null);
}
} catch (Exception e) {
logger.error(e.getMessage());
return Result.build(500, "系统异常: "+e.getMessage(),retMap);
} finally {
logger.info("=============== SyncOrderInfo 结束 ===============");
}
return result;
}
}只要流程有保存操作或者提交操作,系统都会生成一个唯一的requestid值 泛微E9如何通过API接口获取requestId
最新发布