|
|
@@ -11,6 +11,7 @@
|
|
|
|
|
|
namespace App\Services;
|
|
|
|
|
|
+use App\Models\MemberModel;
|
|
|
use App\Models\TradeModel;
|
|
|
use function GuzzleHttp\Psr7\str;
|
|
|
|
|
|
@@ -135,4 +136,61 @@ class TradeService extends BaseService
|
|
|
return parent::edit($data); // TODO: Change the autogenerated stub
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 账户后台调整
|
|
|
+ * @param $userId
|
|
|
+ * @return array
|
|
|
+ */
|
|
|
+ public function change($adminUid){
|
|
|
+ $params = request()->all();
|
|
|
+ $num = isset($params['num'])? $params['num'] : 0;
|
|
|
+ $type = isset($params['type'])? $params['type'] : 1;
|
|
|
+ $userId = isset($params['user_id'])? $params['user_id'] : 1;
|
|
|
+ $changeType = isset($params['change_type'])? $params['change_type'] : 1;
|
|
|
+ $typeName = $type == 1? '花灯券':'积分';
|
|
|
+ if($num<=0){
|
|
|
+ return message('请填写调整'.$typeName.'数量', false);
|
|
|
+ }
|
|
|
+
|
|
|
+ if(!in_array($changeType, [1,2])){
|
|
|
+ return message('操作类型错误', false);
|
|
|
+ }
|
|
|
+
|
|
|
+ $memberInfo = MemberModel::where(['id'=> $userId,'mark'=> 1,'status'=> 1])
|
|
|
+ ->select(['id','openid','nickname','coupon','score'])
|
|
|
+ ->first();
|
|
|
+ if($userId<=0 || !$memberInfo){
|
|
|
+ return message('用户账户状态不可操作', false);
|
|
|
+ }
|
|
|
+
|
|
|
+ \DB::beginTransaction();
|
|
|
+ $field = $type == 1? 'coupon' : 'score';
|
|
|
+ if(!MemberModel::where(['id'=> $userId])->increment($field, ($changeType==1? $num : -$num))){
|
|
|
+ \DB::rollBack();
|
|
|
+ return message("{$typeName}账户更新失败", false);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 明细
|
|
|
+ $remark = isset($params['remark'])? $params['remark'] : '';
|
|
|
+ $data = [
|
|
|
+ 'user_id'=> $userId,
|
|
|
+ 'type'=> 5,
|
|
|
+ 'coin_type'=> $type,
|
|
|
+ 'pay_type'=> 4,
|
|
|
+ 'money'=> $num,
|
|
|
+ 'change_type'=> 1,
|
|
|
+ 'balance'=> $type == 1? $memberInfo->coupon : $memberInfo->score,
|
|
|
+ 'create_time'=> time(),
|
|
|
+ 'remark'=> $remark? $remark : '平台调整账户,'.($changeType==1?'增加':'减少')."{$num}个{$typeName}",
|
|
|
+ 'status'=> 1,
|
|
|
+ ];
|
|
|
+ if(!$this->model::insertGetId($data)){
|
|
|
+ \DB::rollBack();
|
|
|
+ return message("{$typeName}账户明细处理失败", false);
|
|
|
+ }
|
|
|
+
|
|
|
+ \DB::commit();
|
|
|
+ return message(($changeType==1?'增加':'减少')."{$num}个{$typeName}成功", true);
|
|
|
+ }
|
|
|
+
|
|
|
}
|