package com.cnd3b.restcontroller.enterprise.webclient.system;

import com.alibaba.fastjson.JSONObject;
import com.cnd3b.common.Controller;
import com.cnd3b.common.D3bException;
import com.cnd3b.common.data.Rows;
import com.cnd3b.common.data.SQLFactory;
import p2.pao.PaoRemote;
import p2.pao.PaoSetRemote;
import p2.util.P2Exception;

/**
 * 投诉
 */
public class complaint extends Controller {
    public complaint(JSONObject content) {
        super(content);
    }

    /**
     * 投诉板块列表查询
     *
     * @return
     */
    public String query_typeList() {
        SQLFactory sql = new SQLFactory(this, "投诉板块查询");
        sql.addParameter("siteid", siteid);
        Rows rows = dbConnect.runSqlQuery(sql.getSQL());
        return getSucReturnObject().setData(rows).saveToDataPool().toString();
    }

    /**
     * 投诉板块新增修改
     *
     * @return
     */
    public String insert_modify_type() throws D3bException, P2Exception {
        String ttypedetailid = content.getString("ttypedetailid");//新增为0
        String ftype = content.getString("ftype", "ttypedetail.fvalue", "板块名称");
        String fisused = content.getString("fisused");

        Rows rows = dbConnect.runSqlQuery("select * from ttypedetail where siteid='" + siteid + "' and ftype='投诉板块' and fvalue='" + ftype + "'");
        if (!rows.isEmpty() && !rows.get(0).getString("ttypedetailid").equals(ttypedetailid)) {
            return getErrReturnObject().setErrMsg("投诉板块不可重复").toString();
        }

        PaoSetRemote ttypedetailSet = getP2ServerSystemPaoSet("ttypedetail", "siteid='" + siteid + "' and ttypedetailid='" + ttypedetailid + "'");
        PaoRemote ttypedetail = null;
        if (ttypedetailSet.isEmpty()) {
            ttypedetail = ttypedetailSet.addAtEnd();
            ttypedetail.setValue("siteid", siteid, 11L);//企业ID
            ttypedetail.setValue("ftype", "投诉板块", 11L);
        } else {
            ttypedetail = ttypedetailSet.getPao(0);
        }
        ttypedetail.setValue("fvalue", ftype, 11L);
        ttypedetail.setValue("fisused", fisused, 11L);

        ttypedetailSet.save();

        return getSucReturnObject().toString();
    }

    /**
     * 投诉板块删除
     *
     * @return
     */
    public String delete_type() {
        SQLFactory sqlFactory = new SQLFactory(this, "投诉板块删除");
        sqlFactory.addParameter("siteid", siteid);
        sqlFactory.addParameter("ttypedetailid", content.getString("ttypedetailid"));
        String result = dbConnect.runSqlUpdate(sqlFactory.getSQL());
        if ("true".equals(result)) {
            return getSucReturnObject().toString();
        } else {
            return getErrReturnObject().setErrMsg(result).toString();
        }
    }
}