123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446 |
- package restcontroller.webmanage.saletool.sharematerial;
- import beans.attachment.Attachment;
- import beans.time.Time;
- import com.alibaba.fastjson.JSONObject;
- import common.Controller;
- import common.YosException;
- import common.annotation.API;
- import common.data.*;
- import org.apache.commons.lang.StringUtils;
- import restcontroller.R;
- import restcontroller.webmanage.saletool.fad.FadHelper;
- import java.util.ArrayList;
- /**
- * 设计实景管理
- */
- public class DesignPic extends Controller {
- /**
- * 构造函数
- *
- * @param content
- */
- public DesignPic(JSONObject content) throws YosException {
- super(content);
- }
- String sat_sharematerial = "sat_sharematerial";
- @API(title = "设计实景新增或编辑", apiversion = R.ID20240417104602.v1.class)
- public String insertOrUpdate() throws YosException {
- Long sat_sharematerialid = content.getLongValue("sat_sharematerialid");
- boolean ispublish = content.getBooleanValue("ispublish");
- if (content.containsKey("sys_enterpriseid") && content.getLongValue("sys_enterpriseid") > 0) {
- sys_enterpriseid = content.getLongValue("sys_enterpriseid");
- }
- if (sat_sharematerialid <= 0) {
- sat_sharematerialid = createTableID(sat_sharematerial);
- InsertSQL sqlFactory = SQLFactory.createInsertSQL(this, sat_sharematerial);
- sqlFactory.setSiteid(siteid);
- sqlFactory.setUniqueid(sat_sharematerialid);
- sqlFactory.setValue("classid", 5);
- sqlFactory.setValue("sys_enterpriseid", sys_enterpriseid);
- sqlFactory.setValue("title", content.getStringValue("title"));
- sqlFactory.setValue("title_c", content.getStringValue("title_c"));
- sqlFactory.setValue("type", content.getIntValue("type", 4));
- sqlFactory.setValue("panoramaurl", content.getStringValue("panoramaurl", true));
- sqlFactory.setValue("sequence", content.getLongValue("sequence"));
- sqlFactory.setValue("renderingsclass", content.getJSONObject("renderingsclass"));
- sqlFactory.setValue("isnationwide", content.getBooleanValue("isnationwide"));
- sqlFactory.insert();
- content.put("sat_sharematerialid", sat_sharematerialid);
- } else {
- UpdateSQL sqlFactory = SQLFactory.createUpdateSQL(this, sat_sharematerial);
- sqlFactory.setUniqueid(sat_sharematerialid);
- sqlFactory.setSiteid(siteid);
- sqlFactory.setValue("sys_enterpriseid", sys_enterpriseid);
- sqlFactory.setValue("title", content.getStringValue("title"));
- sqlFactory.setValue("title_c", content.getStringValue("title_c"));
- sqlFactory.setValue("type", content.getIntValue("type", 4));
- sqlFactory.setValue("panoramaurl", content.getStringValue("panoramaurl", true));
- sqlFactory.setValue("sequence", content.getLongValue("sequence"));
- sqlFactory.setValue("renderingsclass", content.getJSONObject("renderingsclass"));
- sqlFactory.setValue("isnationwide", content.getBooleanValue("isnationwide"));
- sqlFactory.update();
- }
- if (ispublish) {
- UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, sat_sharematerial);
- updateSQL.setSiteid(siteid);
- updateSQL.setWhere("sat_sharematerialid", sat_sharematerialid);
- updateSQL.setValue("status", "发布");
- updateSQL.setValue("checkdate", Time.getDateTime_Str());
- updateSQL.setValue("checkby", username);
- updateSQL.update();
- }
- return detail();
- }
- @API(title = "设计实景详情", apiversion = R.ID20240417104702.v1.class)
- public String detail() throws YosException {
- Long sat_sharematerialid = content.getLongValue("sat_sharematerialid");
- String ownertable = "sat_sharematerial";
- QuerySQL querySQ = SQLFactory.createQuerySQL(this, "sat_sharematerial",
- "sat_sharematerialid", "createuserid", "createby", "createdate", "changeby", "changedate", "checkby", "checkdate", "sys_enterpriseid", "title", "type", "sequence", "status"
- , "title_c", "renderingsclass", "isnationwide", "collectcount", "likecount", "commentcount", "panoramaurl")
- .setTableAlias("t1");
- querySQ.addJoinTable(JOINTYPE.left, "sys_datacollect", "t2", "t2.siteid=t1.siteid and t2.ownertable='sat_sharematerial' and type=1 and t2.ownerid=t1.sat_sharematerialid and t2.userid='" + userid + "'");
- querySQ.addJoinTable(JOINTYPE.left, "sys_enterprise", "t3", "t3.sys_enterpriseid=t1.sys_enterpriseid and t3.siteid=t1.siteid"
- , "enterprisename");
- querySQ.addJoinTable(JOINTYPE.left, "sys_datacollect", "t4", "t4.siteid=t1.siteid and t4.ownertable='sat_sharematerial' and type=2 and t4.ownerid=t1.sat_sharematerialid and t4.userid='" + userid + "'");
- querySQ.addQueryFields("iscollect", "CASE WHEN t2.sys_datacollectid>0 THEN 1 ELSE 0 END");
- querySQ.addQueryFields("islike", "CASE WHEN t4.sys_datacollectid>0 THEN 1 ELSE 0 END");
- querySQ.setSiteid(siteid);
- querySQ.setWhere("sat_sharematerialid", sat_sharematerialid);
- Rows rows = querySQ.query();
- if (rows.isNotEmpty()) {
- SQLFactory sqlFactory = new SQLFactory(this, "查询经销商区域");
- sqlFactory.addParameter_in("sys_enterpriseid", rows.toArray("sys_enterpriseid"));
- sqlFactory.addParameter("siteid", siteid);
- RowsMap areaRows = dbConnect.runSqlQuery(sqlFactory).toRowsMap("sys_enterpriseid");
- for (Row row : rows) {
- Rows areas = areaRows.getOrDefault(row.getString("sys_enterpriseid"), new Rows());
- row.put("areaname", StringUtils.join(areas.toArray("areaname"), ","));
- }
- }
- Row detailRow = rows.isNotEmpty() ? rows.get(0) : new Row();
- Rows attRows = getAttachmentUrl("sat_sharematerial", sat_sharematerialid);
- detailRow.put("attinfos", attRows);
- detailRow.putIfAbsent("areaname", "");
- detailRow.putIfAbsent("checkdate", "");
- detailRow.put("appleturl", FadHelper.getAppletUrl(this, "DesignImgsUrl", "设计实景小程序链接") + sat_sharematerialid);
- if (StringUtils.isBlank(detailRow.getString("panoramaurl"))) {
- detailRow.put("ispanorama", 0);
- } else {
- detailRow.put("ispanorama", 1);
- }
- QuerySQL attachmentQuery = SQLFactory.createQuerySQL(this, "sys_attachment_links").setTableAlias("t1");
- attachmentQuery.setSiteid(siteid);
- attachmentQuery.setWhere("ownertable", ownertable);
- attachmentQuery.setWhere("ownerid", sat_sharematerialid);
- attachmentQuery.setWhere("usetype", ownertable);
- attachmentQuery.setOrderBy("t1.sequence");
- Rows attachmentRows = attachmentQuery.query();
- ArrayList<Long> ids = attachmentRows.toArrayList("attachmentid", new ArrayList<>());
- RowsMap attRowsMap = Attachment.get(this, ids).toRowsMap("attachmentid");
- for (Row row : attachmentRows) {
- Rows attPicRows = new Rows();
- Rows tempAttRows = attRowsMap.getOrDefault(row.getString("attachmentid"), new Rows());
- for (Row tempAttRow : tempAttRows) {
- if (tempAttRow.getString("usetype").equals(ownertable)) {
- attPicRows.add(tempAttRow);
- }
- }
- row.put("attinfos", attPicRows);
- }
- detailRow.put("attinfos_pic", attachmentRows);
- detailRow.put("headpic", getHeadPic(detailRow.getLong("createuserid")));
- if (StringUtils.isBlank(detailRow.getString("areaname"))) {
- detailRow.put("enterprisename_area", detailRow.getString("enterprisename"));
- } else {
- detailRow.put("enterprisename_area", detailRow.getString("enterprisename") + "(" + detailRow.getString("areaname") + ")");
- }
- return getSucReturnObject().setData(detailRow).toString();
- }
- @API(title = "设计实景列表", apiversion = R.ID20240417104802.v1.class)
- 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.title 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("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(")");
- }
- if (whereObject.containsKey("begindate") && !"".equals(whereObject.getString("begindate"))) {
- where.append(" and (");
- where.append("t1.checkdate >='").append(whereObject.getString("begindate")).append("' ");
- where.append(")");
- }
- if (whereObject.containsKey("enddate") && !"".equals(whereObject.getString("enddate"))) {
- where.append(" and (");
- where.append("t1.checkdate <='").append(whereObject.getString("enddate")).append(" 23:59:59' ");
- where.append(")");
- }
- if (whereObject.containsKey("ispanorama") && !"".equals(whereObject.getString("ispanorama"))) {
- if (whereObject.getString("ispanorama").equals("1")) {
- where.append(" and (");
- where.append("LENGTH(t1.panoramaurl)>0 ");
- where.append(")");
- } else {
- where.append(" and (");
- where.append("LENGTH(t1.panoramaurl)=0 or t1.panoramaurl is null ");
- where.append(")");
- }
- }
- if (whereObject.containsKey("type") && !"".equals(whereObject.getString("type"))) {
- where.append(" and (");
- where.append("t1.type ='").append(whereObject.getString("type")).append("' ");
- where.append(")");
- }
- if (whereObject.containsKey("style") && !"".equals(whereObject.getString("style"))) {
- where.append(" and (");
- where.append("JSON_CONTAINS(t1.renderingsclass->'$.style', '\"" + whereObject.getString("style") + "\"')");
- where.append(")");
- }
- if (whereObject.containsKey("space") && !"".equals(whereObject.getString("space"))) {
- where.append(" and (");
- where.append("JSON_CONTAINS(t1.renderingsclass->'$.space', '\"" + whereObject.getString("space") + "\"')");
- where.append(")");
- }
- if (whereObject.containsKey("spec") && !"".equals(whereObject.getString("spec"))) {
- where.append(" and (");
- where.append("JSON_CONTAINS(t1.renderingsclass->'$.spec', '\"" + whereObject.getString("spec") + "\"')");
- where.append(")");
- }
- }
- QuerySQL querySQL = SQLFactory.createQuerySQL(this, sat_sharematerial,
- "sat_sharematerialid", "title", "status", "type", "commentcount", "likecount", "collectcount", "sequence", "createby", "createdate", "checkdate", "renderingsclass")
- .setTableAlias("t1");
- querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t3", "t3.sys_enterpriseid=t1.sys_enterpriseid and t3.siteid=t1.siteid"
- , "enterprisename", "sys_enterpriseid");
- querySQL.setSiteid(siteid);
- querySQL.setWhere("classid", 5);
- querySQL.setWhere(where.toString());
- querySQL.setOrderBy(pageSorting).setPage(pageSize, pageNumber);
- Rows rows = querySQL.query();
- SQLFactory sqlFactory = new SQLFactory(this, "查询经销商区域");
- sqlFactory.addParameter_in("sys_enterpriseid", rows.toArray("sys_enterpriseid"));
- sqlFactory.addParameter("siteid", siteid);
- RowsMap areaRows = dbConnect.runSqlQuery(sqlFactory).toRowsMap("sys_enterpriseid");
- ArrayList<Long> ids = rows.toArrayList("sat_sharematerialid", new ArrayList<>());
- // 附件
- RowsMap RowsMap = getAttachmentUrl(sat_sharematerial, ids);
- for (Row row : rows) {
- Rows Rows = RowsMap.getOrDefault(row.getString("sat_sharematerialid"), new Rows());
- row.put("attinfos", Rows);
- row.putIfAbsent("checkdate", "");
- if (StringUtils.isBlank(row.getString("panoramaurl"))) {
- row.put("ispanorama", 0);
- } else {
- row.put("ispanorama", 1);
- }
- row.put("appleturl", FadHelper.getAppletUrl(this, "DesignImgsUrl", "设计实景小程序链接") + row.getString("sat_sharematerialid"));
- if (row.getInteger("type") == 4) {
- row.put("typestr", "设计");
- }
- if (row.getInteger("type") == 5) {
- row.put("typestr", "实景");
- }
- Rows areas = areaRows.getOrDefault(row.getString("sys_enterpriseid"), new Rows());
- String areaname = StringUtils.join(areas.toArray("areaname"), ",");
- row.put("areaname", areaname);
- if (StringUtils.isBlank(areaname)) {
- row.put("enterprisename_area", row.getString("enterprisename"));
- } else {
- row.put("enterprisename_area", row.getString("enterprisename") + "(" + row.getString("areaname") + ")");
- }
- }
- return getSucReturnObject().setData(rows).toString();
- }
- @API(title = "小程序设计实景列表", apiversion = R.ID20240417144702.v1.class)
- public String miniapplist() 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.title like'%").append(whereObject.getString("condition")).append("%' ");
- where.append(")");
- }
- if (whereObject.containsKey("type") && !"".equals(whereObject.getString("type"))) {
- where.append(" and (");
- where.append("t1.type ='").append(whereObject.getString("type")).append("' ");
- where.append(")");
- }
- if (whereObject.containsKey("style") && !"".equals(whereObject.getString("style"))) {
- where.append(" and (");
- where.append("JSON_CONTAINS(t1.renderingsclass->'$.style', '\"" + whereObject.getString("style") + "\"')");
- where.append(")");
- }
- if (whereObject.containsKey("space") && !"".equals(whereObject.getString("space"))) {
- where.append(" and (");
- where.append("JSON_CONTAINS(t1.renderingsclass->'$.space', '\"" + whereObject.getString("space") + "\"')");
- where.append(")");
- }
- if (whereObject.containsKey("spec") && !"".equals(whereObject.getString("spec"))) {
- where.append(" and (");
- where.append("JSON_CONTAINS(t1.renderingsclass->'$.spec', '\"" + whereObject.getString("spec") + "\"')");
- where.append(")");
- }
- }
- if (content.getLongValue("isnationwide") == 1) {
- where.append(" and (");
- where.append("t1.isnationwide ='").append(content.getString("isnationwide")).append("' ");
- where.append(")");
- } else {
- if (usertype == 21 || usertype == 22) {
- where.append(" and (");
- where.append("t1.sys_enterpriseid ='" + sys_enterpriseid + "' ");
- where.append(")");
- }
- }
- QuerySQL querySQL = SQLFactory.createQuerySQL(this, sat_sharematerial,
- "sat_sharematerialid", "title", "title_c", "commentcount", "likecount", "collectcount", "createuserid", "createby", "createdate")
- .setTableAlias("t1");
- querySQL.addJoinTable(JOINTYPE.left, "sys_datacollect", "t2", "t2.siteid=t1.siteid and t2.ownertable='sat_sharematerial' and type=1 and t2.ownerid=t1.sat_sharematerialid and t2.userid='" + userid + "'");
- querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t3", "t3.sys_enterpriseid=t1.sys_enterpriseid and t3.siteid=t1.siteid"
- , "enterprisename", "sys_enterpriseid");
- querySQL.addJoinTable(JOINTYPE.left, "sys_datacollect", "t4", "t4.siteid=t1.siteid and t4.ownertable='sat_sharematerial' and type=2 and t4.ownerid=t1.sat_sharematerialid and t4.userid='" + userid + "'");
- querySQL.addQueryFields("iscollect", "CASE WHEN t2.sys_datacollectid>0 THEN 1 ELSE 0 END");
- querySQL.addQueryFields("islike", "CASE WHEN t4.sys_datacollectid>0 THEN 1 ELSE 0 END");
- querySQL.setSiteid(siteid);
- querySQL.setWhere("classid", 5);
- querySQL.setWhere("status='发布'");
- querySQL.setWhere(where.toString());
- querySQL.setOrderBy(pageSorting).setPage(pageSize, pageNumber);
- Rows rows = querySQL.query();
- ArrayList<Long> ids = rows.toArrayList("sat_sharematerialid", new ArrayList<>());
- // 附件
- RowsMap RowsMap = getAttachmentUrl(sat_sharematerial, ids);
- for (Row row : rows) {
- Rows Rows = RowsMap.getOrDefault(row.getString("sat_sharematerialid"), new Rows());
- row.put("attinfos", Rows);
- row.put("headpic", getHeadPic(row.getLong("createuserid")));
- }
- return getSucReturnObject().setData(rows).toString();
- }
- @API(title = "全景720列表", apiversion = R.ID20240417154702.v1.class)
- public String panoramalist() 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.title like'%").append(whereObject.getString("condition")).append("%' ");
- where.append(")");
- }
- if (whereObject.containsKey("style") && !"".equals(whereObject.getString("style"))) {
- where.append(" and (");
- where.append("JSON_CONTAINS(t1.renderingsclass->'$.style', '\"" + whereObject.getString("style") + "\"')");
- where.append(")");
- }
- if (whereObject.containsKey("space") && !"".equals(whereObject.getString("space"))) {
- where.append(" and (");
- where.append("JSON_CONTAINS(t1.renderingsclass->'$.space', '\"" + whereObject.getString("space") + "\"')");
- where.append(")");
- }
- if (whereObject.containsKey("spec") && !"".equals(whereObject.getString("spec"))) {
- where.append(" and (");
- where.append("JSON_CONTAINS(t1.renderingsclass->'$.spec', '\"" + whereObject.getString("spec") + "\"')");
- where.append(")");
- }
- }
- QuerySQL querySQL = SQLFactory.createQuerySQL(this, sat_sharematerial,
- "sat_sharematerialid", "title", "title_c", "panoramaurl", "createuserid", "createby", "createdate")
- .setTableAlias("t1");
- querySQL.setSiteid(siteid);
- querySQL.setWhere("LENGTH(t1.panoramaurl)>0 ");
- querySQL.setWhere(where.toString());
- querySQL.setOrderBy(pageSorting).setPage(pageSize, pageNumber);
- Rows rows = querySQL.query();
- ArrayList<Long> ids = rows.toArrayList("sat_sharematerialid", new ArrayList<>());
- // 附件
- RowsMap RowsMap = getAttachmentUrl(sat_sharematerial, ids);
- for (Row row : rows) {
- Rows Rows = RowsMap.getOrDefault(row.getString("sat_sharematerialid"), new Rows());
- row.put("attinfos", Rows);
- }
- return getSucReturnObject().setData(rows).toString();
- }
- }
|