123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329 |
- <?php
- namespace app\api\logic;
- use app\model\CommonModel;
- use app\model\SupplierModel;
- use app\model\DevelopmentModel;
- use think\Exception;
- use think\facade\Cache;
- use think\facade\Config;
- use think\facade\Db;
- use think\helper\Str;
- class IndexLogic
- {
- //刷新密钥
- public static function refreshSecret(array $param = [])
- {
- $supplier = SupplierModel::alias('a')
- ->field('a.id,a.code')
- ->join('wsm_supplier_contact b', 'b.code=a.code')
- ->where([
- 'a.name' => $param['supplierName'],
- 'a.legaler' => $param['legaler'],
- 'a.registercode' => $param['registercode'],
- 'b.contactor' => $param['contactor'],
- 'b.mobile' => $param['mobile'],
- 'a.is_del' => 0
- ])
- ->findOrEmpty()
- ->toArray();
- if (empty($supplier)) return json_show(CommonModel::$error_param, '相关供应商不存在');
- $clientID = $supplier['code'];//clientID,暂时取用供应商编码字段
- $clientSercert = Str::random(40, 5);//clientSercert,随机40个字符
- $data = array_merge($param, [
- 'supplierNo' => $supplier['code'],
- 'clientID' => $clientID,
- 'clientSecret' => $clientSercert,
- ]);
- $id = DevelopmentModel::where('supplierNo', $supplier['code'])
- ->value('id', 0);
- if ($id) $res = DevelopmentModel::where('id', $id)->save($data); //更新
- else {
- $res = DevelopmentModel::create($data);
- $id = $res->id;
- } //新增
- if ($res) {
- Cache::set(Config::get('redis_key.development_clientID') . $clientID, json_encode(array_merge(['id' => $id], $data), JSON_UNESCAPED_UNICODE), 30 * 24 * 3600);
- return json_show(CommonModel::$success, '刷新密钥成功', ['clientID' => $clientID, 'clientSecret' => $clientSercert]);
- } else return json_show(CommonModel::$error_default, '刷新密钥失败');;
- }
- //修改开发信息中的推送地址
- public static function updatePushUrl(array $param = [])
- {
- $res = DevelopmentModel::where('supplierNo', request()->development['supplierNo'])
- ->save(['push_url' => implode(',', $param['push_url'])]);
- return $res ? json_show(CommonModel::$success, '修改推送地址成功') : json_show(CommonModel::$error_default, '修改推送地址失败');
- }
- //获取推送记录
- public static function getPushLog(array $param = [])
- {
- $res = Db::name('push_log')
- ->where('supplierNo', request()->development['supplierNo']);
- if ($param['push_url'] != '') $res->whereLike('push_url', '%' . $param['push_url'] . '%');
- if ($param['type']) $res->where('type', $param['type']);
- if ($param['start'] != '') $res->where('addtime', '>=', $param['start']);
- if ($param['end'] != '') $res->where('addtime', '<=', $param['end']);
- $count = $res->count('id');
- $list = $res
- ->page($param['page'], $param['size'])
- ->order('id')
- ->select()
- ->toArray();
- return json_show(CommonModel::$success, '获取推送记录成功', ['count' => $count, 'list' => $list]);
- }
- //获取上线平台列表
- // public static function getPlatformList(string $keyword = '', int $page = 1, int $size = 15)
- // {
- //
- // $db = Db::connect('mysql_wsm')
- // ->name('platform')
- // ->where('is_del', 0);
- //
- // if ($keyword != '') $db->whereLike('platform_name', '%' . $keyword . '%');
- //
- // $count = $db->count('id');
- //
- // $list = $db
- // ->field('id platform_id,platform_code,platform_name,platform_type')
- // ->order('id')
- // ->page($page, $size)
- // ->select()
- // ->toArray();
- //
- // return json_show(0, '请求成功', ['count' => $count, 'list' => $list]);
- //
- // }
- //获取分类列表
- public static function getCatList(string $keyword = '', int $pid = 0)
- {
- $db = Db::connect('mysql_wsm')
- ->name('cat')
- ->where(['is_del' => 0, 'pid' => $pid]);
- if ($keyword != '') $db->whereLike('cat_name', '%' . $keyword . '%');
- $count = $db->count('id');
- $list = $db
- ->field('id cat_id,cat_name,level')
- ->order('id')
- ->select()
- ->toArray();
- return json_show(0, '请求成功', ['count' => $count, 'list' => $list]);
- }
- //获取品牌列表
- public static function getBrandList(string $keyword = '', int $page = 1, int $size = 15)
- {
- $db = Db::connect('mysql_wsm')
- ->name('brand')
- ->where('is_del', 0);
- if ($keyword != '') $db->whereLike('brand_name', '%' . $keyword . '%');
- $count = $db->count('id');
- $list = $db
- ->field('id brand_id,brand_name')
- ->order('id')
- ->page($page, $size)
- ->select()
- ->toArray();
- return json_show(0, '请求成功', ['count' => $count, 'list' => $list]);
- }
- //获取单位列表
- public static function getUnitList(string $keyword = '', int $page = 1, int $size = 15)
- {
- $db = Db::connect('mysql_wsm')
- ->name('unit')
- ->where('is_del', 0);
- if ($keyword != '') $db->whereLike('unit', '%' . $keyword . '%');
- $count = $db->count('id');
- $list = $db
- ->field('id unit_id,unit unit_name')
- ->order('id')
- ->page($page, $size)
- ->select()
- ->toArray();
- return json_show(0, '请求成功', ['count' => $count, 'list' => $list]);
- }
- //获取规格标题列表
- public static function getSpecsTitleList(string $keyword = '')
- {
- $db = Db::connect('mysql_wsm')
- ->name('specs')
- ->where('is_del', 0);
- if ($keyword != '') $db->whereLike('spec_name', '%' . $keyword . '%');
- $list = $db
- ->field('id spec_id,spec_name')
- ->order('addtime', 'desc')
- ->select()
- ->toArray();
- return json_show(0, '请求成功', $list);
- }
- //获取规格值列表
- public static function getSpecsValueByTitleList(int $spec_id = 0)
- {
- $list = Db::connect('mysql_wsm')
- ->name('spec_value')
- ->field('spec_id ,id spec_value_id,spec_value')
- ->where(['is_del' => 0, 'spec_id' => $spec_id])
- ->order('id')
- ->select()
- ->toArray();
- return json_show(0, '请求成功', $list);
- }
- //创建规格值
- public static function createSpec(array $param = [])
- {
- $url = env('WSM_DOMAIN') . 'abutment/createSpec';
- $res = json_decode(curl_request($url, $param), true);
- if (isset($res) && $res['code'] == CommonModel::$success) return json_show(CommonModel::$success, '创建规格值成功');
- else throw new Exception($res['message']);
- }
- //获取省市区列表
- public static function getAreaList(int $level = 1, string $pid_code = '', string $keyword = '')
- {
- switch ($level) {
- case 1:
- $list = Db::connect('mysql_wsm')
- ->name('province')
- ->field('province_code code,name');
- break;
- case 2:
- $list = Db::connect('mysql_wsm')
- ->name('city')
- ->field('city_code code,name')
- ->where('province_code', $pid_code);
- break;
- case 3:
- $list = Db::connect('mysql_wsm')
- ->name('area')
- ->field('area_code code,name')
- ->where('city_code', $pid_code);
- break;
- }
- if ($keyword != '') $list->whereLike('name', '%' . $keyword . '%');
- $data = $list->order('id')
- ->select()
- ->toArray();
- return json_show(0, '获取成功', $data);
- }
- //获取业务公司编码
- public static function getCompanyNoList(string $keyword = '')
- {
- $db = Db::connect('mysql_wsm')
- ->name('business')->where('is_del', 0);
- if ($keyword != '') $db->whereLike('company|companyNo', '%' . $keyword . '%');
- $list = $db
- ->field('companyNo,company')
- ->order('id')
- ->select()
- ->toArray();
- return json_show(0, '请求成功', $list);
- }
- //专属类型列表
- public static function getExclusiveList(int $pid = 0, string $keyword = '')
- {
- $where = [['status', '=', 1], ['is_del', '=', 0], ['pid', '=', $pid]];
- if ($keyword !== '') $where[] = ['name', 'like', '%' . $keyword . '%'];
- $data = Db::connect('mysql_wsm')
- ->name('exclusive')
- ->field('id exclusive_id,name exclusive_name,level')
- ->where($where)
- ->select()
- ->toArray();
- return json_show(0, '获取成功', $data);
- }
- //上传图片
- public static function uploadImg(array $files = [])
- {
- $url = env('WSM_DOMAIN') . 'abutment/uploadImg';
- // halt($files->getPath().DIRECTORY_SEPARATOR.$files->getFilename(),$files->getType(),$files->getBasename());
- // $data = array('file' => new \CURLFile(realpath($path)));
- $res = curl_upload($url, $files);
- halt('请求结果:', $res);
- $res = json_decode(curl_request($url, ['image' => $files->getPath() . DIRECTORY_SEPARATOR . $files->getFilename()]), true);
- halt($res);
- if (isset($res) && $res['code'] == CommonModel::$success) return json_show(CommonModel::$success, '上传图片成功', $res['data']);
- else throw new Exception($res['message']);
- }
- }
|