|
@@ -174,4 +174,98 @@ public class Store extends Controller {
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+ @API(title = "小程序门店首页", apiversion = R.ID20240416153202.v1.class)
|
|
|
|
|
+ public String appletHome() throws YosException {
|
|
|
|
|
+
|
|
|
|
|
+ String longitude = content.getStringValue("longitude");
|
|
|
|
|
+ String latitude = content.getStringValue("latitude");
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_store").setTableAlias("t1");
|
|
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise_hr", "t2", "t2.sys_enterprise_hrid=t1.leader_hrid and t2.siteid=t1.siteid"
|
|
|
|
|
+ , "name","phonenumber");
|
|
|
|
|
+ querySQL.addQueryFields("distance", "st_distance_sphere(point(longitude,latitude),point('" + longitude + "','" + latitude + "'))");
|
|
|
|
|
+ querySQL.setOrderBy("distance");
|
|
|
|
|
+ Rows rows = querySQL.query();
|
|
|
|
|
+ Row detailRow = rows.isNotEmpty() ? rows.get(0) : new Row();
|
|
|
|
|
+ detailRow.put("distance", String.format("%.2f", detailRow.getDouble("distance")));
|
|
|
|
|
+ long sa_storeid = detailRow.getLong("sa_storeid");
|
|
|
|
|
+ detailRow.put("attinfos", Attachment.get(this, "sa_store", sa_storeid));
|
|
|
|
|
+
|
|
|
|
|
+ Rows adspaceRows = dbConnect.runSqlQuery("SELECT * from sys_adspace WHERE systemclient='wechatsaletool' and isused=1");
|
|
|
|
|
+
|
|
|
|
|
+ for (Row adspaceRow : adspaceRows) {
|
|
|
|
|
+ Long sys_adspaceid = adspaceRow.getLong("sys_adspaceid");
|
|
|
|
|
+ querySQL = SQLFactory.createQuerySQL(this, "sys_ad")
|
|
|
|
|
+ .setTableAlias("t1");
|
|
|
|
|
+ querySQL.setSiteid(siteid);
|
|
|
|
|
+ querySQL.setWhere("sys_adspaceid", sys_adspaceid);
|
|
|
|
|
+ querySQL.setDataAuth(true);
|
|
|
|
|
+ Rows adRows = querySQL.query();
|
|
|
|
|
+ RowsMap attinfosRowsMap = Attachment.get(this, "sys_ad", adRows.toArrayList("sys_adid", new ArrayList<>()));
|
|
|
|
|
+ for (Row row : adRows) {
|
|
|
|
|
+ row.put("attinfos", attinfosRowsMap.getOrDefault(row.getString("sys_adid"), new Rows()));
|
|
|
|
|
+ }
|
|
|
|
|
+ detailRow.put("ad_" + adspaceRow.getString("location"), adRows);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ addHistory(sa_storeid);
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ return getSucReturnObject().setData(detailRow).toString();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ public void addHistory(Long sa_storeid) throws YosException {
|
|
|
|
|
+
|
|
|
|
|
+ QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_store_history");
|
|
|
|
|
+ querySQL.setSiteid(siteid);
|
|
|
|
|
+ querySQL.setWhere("userid", userid);
|
|
|
|
|
+ querySQL.setWhere("sa_storeid", sa_storeid);
|
|
|
|
|
+ Rows rows = querySQL.query();
|
|
|
|
|
+ if (rows.isNotEmpty()) {
|
|
|
|
|
+ UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "sa_store_history");
|
|
|
|
|
+ updateSQL.setSiteid(siteid);
|
|
|
|
|
+ updateSQL.setValue("userid", userid);
|
|
|
|
|
+ updateSQL.setWhere("userid", userid);
|
|
|
|
|
+ updateSQL.setWhere("sa_storeid", sa_storeid);
|
|
|
|
|
+ System.err.println(updateSQL.getSQL());
|
|
|
|
|
+ updateSQL.update();
|
|
|
|
|
+ } else {
|
|
|
|
|
+ InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "sa_store_history");
|
|
|
|
|
+ insertSQL.setUniqueid(createTableID("sa_store_history"));
|
|
|
|
|
+ insertSQL.setSiteid(siteid);
|
|
|
|
|
+ insertSQL.setValue("userid", userid);
|
|
|
|
|
+ insertSQL.setValue("sa_storeid", sa_storeid);
|
|
|
|
|
+ insertSQL.insert();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ @API(title = "查询历史足迹", apiversion = R.ID20240416162002.v1.class)
|
|
|
|
|
+ public String getHistory() throws YosException {
|
|
|
|
|
+
|
|
|
|
|
+ QuerySQL querySQL = SQLFactory.createQuerySQL(controller, "sa_store"
|
|
|
|
|
+ , "sa_storeid", "storename","longitude","latitude")
|
|
|
|
|
+ .setTableAlias("t1");
|
|
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise_hr", "t2", "t2.sys_enterprise_hrid=t1.leader_hrid and t2.siteid=t1.siteid"
|
|
|
|
|
+ , "name","phonenumber");
|
|
|
|
|
+ querySQL.addJoinTable(JOINTYPE.inner, "sa_store_history", "t3", "t3.sa_storeid=t1.sa_storeid and t3.siteid=t1.siteid");
|
|
|
|
|
+ querySQL.setSiteid(siteid);
|
|
|
|
|
+ querySQL.setWhere("t3.userid",userid);
|
|
|
|
|
+ querySQL.setPage(pageSize, pageNumber).setOrderBy(pageSorting);
|
|
|
|
|
+ Rows rows = querySQL.query();
|
|
|
|
|
+
|
|
|
|
|
+ RowsMap attinfoRows = Attachment.get(controller, sa_store, rows.toArrayList("sa_storeid", new ArrayList<>()));
|
|
|
|
|
+
|
|
|
|
|
+ for (Row row:rows) {
|
|
|
|
|
+ row.put("attinfos", attinfoRows.getOrDefault(row.getString("sa_storeid"), new Rows()));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ return getSucReturnObject().setData(rows).toString();
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
+
|