123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- <?php
- namespace app\api\controller;
- use think\facade\Lang;
- /**
-
- *
-
- *
- * ----------------------------------------------------------------------------
- *
-
- * 卖家咨询控制器
- */
- class Sellerconsult extends MobileSeller
- {
- public function initialize()
- {
- parent::initialize(); // TODO: Change the autogenerated stub
- Lang::load(base_path() . 'home/lang/' . config('lang.default_lang') . '/sellerconsult.lang.php');
- }
- /**
- * @api {POST} api/Sellerconsult/index 商品咨询列表页
- * @apiVersion 1.0.0
- * @apiGroup Sellerconsult
- *
- * @apiHeader {String} X-DS-KEY 卖家授权token
- *
- * @apiParam {String} type 回复状态 to_reply待回复 replied已回复
- * @apiParam {Int} ctid 咨询类型
- * @apiParam {String} page 页码
- * @apiParam {String} pagesize 每页显示数量
- *
- * @apiSuccess {String} code 返回码,10000为成功
- * @apiSuccess {String} message 返回消息
- * @apiSuccess {Object} result 返回数据
- * @apiSuccess {Object[]} result.consult_list 咨询列表 (参考字段参考consult表)
- * @apiSuccess {Object} result.consult_type 咨询类型,键为咨询类型ID
- * @apiSuccess {Int} result.consult_type.consulttype_id 咨询类型ID
- * @apiSuccess {String} result.consult_type.consulttype_introduce 咨询类型描述
- * @apiSuccess {String} result.consult_type.consulttype_name 咨询类型名称
- * @apiSuccess {Int} result.consult_type.consulttype_sort 咨询类型排序
- * @apiSuccess {Int} result.page_total 总页数
- * @apiSuccess {Boolean} result.hasmore 是否有更多 true是false否
- */
- public function index()
- {
- $consult_model = model('consult');
- $goods_model = model('goods');
- $list_consult = array();
- $where = array();
- if (trim(input('param.type')) == 'to_reply') {
- $where[] = array('consult_reply', '=', '');
- } elseif (trim(input('param.type')) == 'replied') {
- $where[] = array('consult_reply', '<>', '');
- }
- if (intval(input('param.ctid')) > 0) {
- $where[] = array('consulttype_id', '=', intval(input('param.ctid')));
- }
- $where[] = array('store_id', '=', $this->store_info['store_id']);
- $list_consult = $consult_model->getConsultList($where, '*', 10);
- if (!empty($list_consult)) {
- foreach ($list_consult as $key => $val) {
- $condition = array();
- $condition[] = array('goods_id', '=', $val['goods_id']);
- $goodsinfo = $goods_model->getGoodsInfo($condition, 'goods_image,goods_price');
- $list_consult[$key]['goods_image'] = goods_cthumb($goodsinfo['goods_image']);
- $list_consult[$key]['goods_price'] = $goodsinfo['goods_price'];
- }
- }
- // 咨询类型
- $consult_type = rkcache('consulttype', true);
- $result = array_merge(array('consult_list' => $list_consult, 'consult_type' => $consult_type), mobile_page($consult_model->page_info));
- ds_json_encode(10000, '', $result);
- }
- /**
- * @api {POST} api/Sellerconsult/drop_consult 商品咨询删除处理
- * @apiVersion 1.0.0
- * @apiGroup Sellerconsult
- *
- * @apiHeader {String} X-DS-KEY 卖家授权token
- *
- * @apiParam {Int} id 咨询ID
- *
- * @apiSuccess {String} code 返回码,10000为成功
- * @apiSuccess {String} message 返回消息
- * @apiSuccess {Object} result 返回数据
- */
- public function drop_consult()
- {
- $ids = trim(input('param.id'));
- if ($ids < 0) {
- ds_json_encode(10001, lang('param_error'));
- }
- $consult_model = model('consult');
- $id_array = explode(',', $ids);
- $where = array();
- $where[] = array('store_id', '=', $this->store_info['store_id']);
- $where[] = array('consult_id', 'in', $id_array);
- $state = $consult_model->delConsult($where);
- if ($state) {
- ds_json_encode(10000, lang('store_consult_drop_success'));
- } else {
- ds_json_encode(10001, lang('store_consult_drop_fail'));
- }
- }
- /**
- * @api {POST} api/Sellerconsult/reply_save 商品咨询回复内容的保存处理
- * @apiVersion 1.0.0
- * @apiGroup Sellerconsult
- *
- * @apiHeader {String} X-DS-KEY 卖家授权token
- *
- * @apiParam {Int} consult_id 咨询ID
- * @apiHeader {String} content 回复内容
- *
- * @apiSuccess {String} code 返回码,10000为成功
- * @apiSuccess {String} message 返回消息
- * @apiSuccess {Object} result 返回数据
- */
- public function reply_save()
- {
- $consult_id = intval(input('consult_id'));
- if ($consult_id <= 0) {
- ds_json_encode(10001, lang('param_error'));
- }
- $consult_model = model('consult');
- $update = array();
- $update['consult_reply'] = input('post.content');
- $condition = array();
- $condition[] = array('store_id', '=', $this->store_info['store_id']);
- $condition[] = array('consult_id', '=', $consult_id);
- $state = $consult_model->editConsult($condition, $update);
- if ($state) {
- $consult_info = $consult_model->getConsultInfo(array('consult_id' => $consult_id));
- // 发送用户消息
- $param = array();
- $param['code'] = 'consult_goods_reply';
- $param['member_id'] = $consult_info['member_id'];
- //阿里短信参数
- $param['ali_param'] = array(
- 'goods_name' => $consult_info['goods_name']
- );
- $param['ten_param'] = array(
- $consult_info['goods_name']
- );
- $param['param'] = array_merge($param['ali_param'], array(
- 'consult_url' => HOME_SITE_URL . '/Memberconsult/my_consult'
- ));
- //微信模板消息
- $param['weixin_param'] = array(
- 'url' => config('ds_config.h5_site_url') . '/pages/member/consult/ConsultList',
- 'data' => array(
- "keyword1" => array(
- "value" => $consult_info['consult_id'],
- "color" => "#333"
- ),
- "keyword2" => array(
- "value" => $consult_info['goods_name'],
- "color" => "#333"
- ),
- "keyword3" => array(
- "value" => $consult_info['consult_content'],
- "color" => "#333"
- )
- ),
- );
- model('cron')->addCron(array('cron_exetime' => TIMESTAMP, 'cron_type' => 'sendMemberMsg', 'cron_value' => serialize($param)));
- ds_json_encode(10000, lang('ds_common_op_succ'));
- } else {
- ds_json_encode(10001, lang('ds_common_op_fail'));
- }
- }
- }
|