isNewRecord) { $this->created_at = date('Y-m-d H:i:s'); }else{ $this->updated_at = date('Y-m-d H:i:s'); } return true; } return false; } /** * @inheritdoc */ public function rules() { return [ [[], 'required'], [['id', 'status','product_id','plan_type','group_id','stock_num','is_show','item_status','service_ratio','sort','store_id'], 'integer'], [['price'], 'number'], [['image','cooperative_coupons','shop_appid','publish_coupons','commission_info', 'product_promotion_link','sub_title', 'title', 'head_imgs','desc_info','cats_v2','created_at','updated_at'], 'string'], ]; } /** * @inheritdoc */ public function attributeLabels() { return [ 'id' => 'ID', 'user_id' => 'User ID', 'log_type' => '类型:1=收入,2=支出', 'type' => '类型:2=余额,1=积分', 'amount' => '变动数', 'desc' => '变动说明', 'before' => '变动前', 'after' => '变动后', 'operator' => '操作者', 'operator_id' => '操作者id', 'operator_type' => '1:前台,2:后台', 'pic_url' => '图片', 'explain' => '说明', 'created_at' => '添加时间', 'order_type' => '订单类型 0--充值 1--商城订单 2--秒杀订单 3--拼团订单 4--商城订单退款 5--秒杀订单退款 6--拼团订单退款 7--后台改动,15、团购券, 23、大转盘抽奖', 'order_id' => '订单ID', 'from' => '是否为转增', 'saas_id' => '联盟用户' ]; } // 余额支付语音播报 public static function getAccessToken($store_id) { $key = 'accessToken_promoter_'.$store_id; $token = \Yii::$app->cache->get($key); if (!$token){ $setting = Option::getDecode(Option::PROMOTER_SETTING_NAME,$store_id,Option::PROMOTER_GROUP_NAME); if (!isset($setting['appId']) && !isset($setting['appSecret'])) throw new \Exception('未配置机构APPID或机构密钥'); $url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$setting['appId'].'&secret='.$setting['appSecret']; $client = new Client(); $response = $client->get($url); //debug_log([__METHOD__, __LINE__, "============".$response->getBody()], "app_debug.log"); $result = json_decode($response->getBody(), true); // 处理成功响应 if (!isset($result['access_token']) || empty($result['access_token'])) { throw new \Exception($result['errmsg'] ?? 'Unknown error'); } $token = $result['access_token']; \Yii::$app->cache->set($key,$token,7200); } return $token; } }