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 channel extends Controller {
    public channel(JSONObject content) {
        super(content);
    }

    /**
     * 来源渠道列表查询
     *
     * @return
     */
    public String query_channelList() {
        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_channel() throws D3bException, P2Exception {
        long ttypedetailid = content.getLongValue("ttypedetailid");//新增为0
        String fchannel = content.getString("fchannel", "ttypedetail.fvalue", "来源渠道");
        Boolean fisused = content.getBoolean("fisused");

        Rows rows = dbConnect.runSqlQuery("select * from ttypedetail where siteid='" + siteid + "' and ftype='来源渠道' and fvalue='" + fchannel + "'");
        if (!rows.isEmpty() && rows.get(0).getLong("ttypedetailid") != 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", fchannel, 11L);
        ttypedetail.setValue("fisused", fisused, 11L);

        ttypedetailSet.save();

        return getSucReturnObject().toString();
    }

    /**
     * 来源渠道删除
     *
     * @return
     */
    public String delete_channel() {
        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();
        }
    }
}
