@@ -2,6 +2,7 @@
namespace app\api\controller\order;
+use app\models\user\UserSpread;
use app\admin\model\system\{
SystemAttachment, ShippingTemplates
};
@@ -166,6 +167,10 @@ class StoreOrderController
'addressId', 'couponId', 'payType', ['useIntegral', 0], 'mark', ['combinationId', 0], ['pinkId', 0], ['seckill_id', 0], ['formId', ''], ['bargainId', ''], ['from', 'weixin'],
['shipping_type', 1], ['real_name', ''], ['phone', ''], ['store_id', 0]
], $request, true);
+ $userinfo = User::getUserinfo($uid);
+ $spread_info = UserSpread::checkValidSpread($uid);
+ if (!$userinfo && !$spread_info) return app('json')->fail('请扫码绑定有效推荐关系再进行下单操作!');
+
$payType = strtolower($payType);
if ($bargainId) {
$bargainUserTableId = StoreBargainUser::getBargainUserTableId($bargainId, $uid);//TODO 获取用户参与砍价表编号
@@ -16,6 +16,7 @@ use think\db\exception\ModelNotFoundException;
use think\facade\Cache;
use crmeb\traits\ModelTrait;
use crmeb\basic\BaseModel;
+use think\Model;
/**
* TODO 用户消费新增金额明细 model
@@ -149,4 +150,33 @@ class UserSpread extends BaseModel
$log['lock'] = 1;
return $log->save() && User::where('uid', $uid)->update(['spread_uid' => $log['spread_uid'], 'spread_time' => $log['spread_time']]) && User::setUserSpreadCount($log['spread_uid']);
}
+ public static function checkValidSpread($uid)
+ {
+ $bind_type = sys_config('bind_type', 1);
+ if ($bind_type != 2) {
+ return true;
+ }
+ if (self::where('uid', $uid)->where('lock', 1)->find()) {
+ $log = self::where('uid', $uid)->order('spread_time', 'desc')->find();
+ if (!$log) {
+ return false;
+ $sp = $log['spread_uid'];
+ $userlist = User::column('uid,spread_uid', 'uid');
+ while ($sp) {
+ if ($sp == $uid) {
+ $log['spread_uid'] = 0;
+ break;
+ $sp = $userlist[$sp]['spread_uid'];
+ if (!$log['spread_uid']) {