|
@@ -1,5 +1,6 @@
|
|
|
package restcontroller.webmanage.saletool.custorder;
|
|
|
|
|
|
+import beans.attachment.Attachment;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import common.Controller;
|
|
@@ -80,12 +81,37 @@ public class CustOrder extends Controller {
|
|
|
updateSQL.setValue("amount", amountRows.get(0).getBigDecimal("amount"));
|
|
|
updateSQL.update();
|
|
|
|
|
|
- return getSucReturnObject().toString();
|
|
|
+ return detail();
|
|
|
}
|
|
|
|
|
|
@API(title = "(C端)订单详情", apiversion = R.ID20240429152602.v1.class)
|
|
|
- public String detail() {
|
|
|
- return getSucReturnObject().toString();
|
|
|
+ public String detail() throws YosException {
|
|
|
+ Long sa_custorderid = content.getLongValue("sa_custorderid");
|
|
|
+
|
|
|
+ QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_custorder").setTableAlias("t1");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sa_custorderitems", "t2", "t2.sa_custorderid=t1.sa_custorderid and t2.siteid=t1.siteid"
|
|
|
+ , "pricetype", "price", "qty", "sa_fadid");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise_contacts", "t3", "t3.contactsid=t1.rec_contactsid and t3.siteid=t1.siteid"
|
|
|
+ , "province", "city", "county", "address");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t4", "t4.sys_enterpriseid=t1.sys_enterpriseid and t4.siteid=t1.siteid"
|
|
|
+ , "enterprisename");
|
|
|
+ querySQL.addQueryFields("itemname", "t2.name");
|
|
|
+ querySQL.addQueryFields("delivery_name", "t3.name");
|
|
|
+ querySQL.addQueryFields("delivery_phonenumber", "t3.phonenumber");
|
|
|
+ querySQL.setSiteid(siteid);
|
|
|
+ querySQL.setWhere("sa_custorderid", sa_custorderid);
|
|
|
+ Rows rows = querySQL.query();
|
|
|
+ if (rows.isEmpty()) {
|
|
|
+ return getSucReturnObject().setData(new Row()).toString();
|
|
|
+ }
|
|
|
+
|
|
|
+ Row detailRow = rows.get(0);
|
|
|
+ detailRow.putIfAbsent("paytime", "");
|
|
|
+ detailRow.put("transaction_id", detailRow.getJSONObject("wechatpayorder").getStringValue("transaction_id"));
|
|
|
+ detailRow.put("out_trade_no", detailRow.getJSONObject("wechatpayorder").getStringValue("out_trade_no"));
|
|
|
+ detailRow.put("attinfos", Attachment.get(this, "sa_fadid", detailRow.getLong("sa_fadid")));
|
|
|
+
|
|
|
+ return getSucReturnObject().setData(detailRow).toString();
|
|
|
}
|
|
|
|
|
|
@API(title = "(C端)订单删除", apiversion = R.ID20240429152702.v1.class)
|
|
@@ -94,13 +120,76 @@ public class CustOrder extends Controller {
|
|
|
}
|
|
|
|
|
|
@API(title = "(C端)订单更新订单日志", apiversion = R.ID20240429152802.v1.class)
|
|
|
- public String updateRemarks() {
|
|
|
- return getSucReturnObject().toString();
|
|
|
+ public String updateRemarks() throws YosException {
|
|
|
+ Long sa_custorderid = content.getLongValue("sa_custorderid");
|
|
|
+
|
|
|
+ UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "sa_custorder");
|
|
|
+ updateSQL.setSiteid(siteid);
|
|
|
+ updateSQL.setUniqueid(sa_custorderid);
|
|
|
+ updateSQL.setValue("remarks", content.getStringValue("remarks"));
|
|
|
+ updateSQL.update();
|
|
|
+
|
|
|
+ return detail();
|
|
|
}
|
|
|
|
|
|
@API(title = "(C端)订单列表", apiversion = R.ID20240429152902.v1.class)
|
|
|
- public String list() {
|
|
|
- return getSucReturnObject().toString();
|
|
|
+ public String list() throws YosException {
|
|
|
+
|
|
|
+ StringBuffer where = new StringBuffer(" 1=1 ");
|
|
|
+ if (content.containsKey("where")) {
|
|
|
+ JSONObject whereObject = content.getJSONObject("where");
|
|
|
+ if (whereObject.containsKey("condition") && !"".equals(whereObject.getString("condition"))) {
|
|
|
+ where.append(" and (");
|
|
|
+ where.append("t1.name like'%").append(whereObject.getString("condition")).append("%' ");
|
|
|
+ where.append("or t1.phonenumber like'%").append(whereObject.getString("condition")).append("%' ");
|
|
|
+ where.append("or t1.sonum like'%").append(whereObject.getString("condition")).append("%' ");
|
|
|
+ where.append("or t2.name like'%").append(whereObject.getString("condition")).append("%' ");
|
|
|
+ where.append("or t4.enterprisename like'%").append(whereObject.getString("condition")).append("%' ");
|
|
|
+ where.append(")");
|
|
|
+ }
|
|
|
+ if (whereObject.containsKey("status") && !"".equals(whereObject.getString("status"))) {
|
|
|
+ where.append(" and (");
|
|
|
+ where.append("t1.status='").append(whereObject.getString("status")).append("' ");
|
|
|
+ where.append(")");
|
|
|
+ }
|
|
|
+ if (whereObject.containsKey("pricetype") && !"".equals(whereObject.getString("pricetype"))) {
|
|
|
+ where.append(" and (");
|
|
|
+ where.append("t2.pricetype='").append(whereObject.getString("pricetype")).append("' ");
|
|
|
+ where.append(")");
|
|
|
+ }
|
|
|
+ if (whereObject.containsKey("begindate_create") && !"".equals(whereObject.getString("begindate_create"))) {
|
|
|
+ where.append(" and (");
|
|
|
+ where.append("t1.createdate >='").append(whereObject.getString("begindate_create")).append("' ");
|
|
|
+ where.append(")");
|
|
|
+ }
|
|
|
+ if (whereObject.containsKey("enddate_create") && !"".equals(whereObject.getString("enddate_create"))) {
|
|
|
+ where.append(" and (");
|
|
|
+ where.append("t1.createdate <='").append(whereObject.getString("enddate_create")).append(" 23:59:59' ");
|
|
|
+ where.append(")");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_custorder",
|
|
|
+ "sa_custorderid", "sonum", "name", "phonenumber", "status", "createdate", "amount").setTableAlias("t1");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sa_custorderitems", "t2", "t2.sa_custorderid=t1.sa_custorderid and t2.siteid=t1.siteid"
|
|
|
+ , "pricetype", "price", "qty");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t4", "t4.sys_enterpriseid=t1.sys_enterpriseid and t4.siteid=t1.siteid"
|
|
|
+ , "enterprisename");
|
|
|
+ querySQL.addQueryFields("itemname", "t2.name");
|
|
|
+
|
|
|
+ querySQL.setSiteid(siteid);
|
|
|
+ querySQL.setWhere("deleted", 0);
|
|
|
+ querySQL.setWhere(where.toString());
|
|
|
+ querySQL.setWhere("createuserid", userid);
|
|
|
+ querySQL.setPage(pageSize, pageNumber).setOrderBy(pageSorting);
|
|
|
+ Rows rows = querySQL.query();
|
|
|
+
|
|
|
+ for (Row row : rows) {
|
|
|
+ row.putIfAbsent("paytime", "");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ return getSucReturnObject().setData(rows).toString();
|
|
|
}
|
|
|
|
|
|
|