优化代码

main
fengxinyhyl 3 weeks ago
parent 9c054cce73
commit c6ed236156
  1. 6
      app/common/dao/store/DepositDao.php
  2. 16
      app/common/repositories/store/DepositRepository.php
  3. 1
      app/common/repositories/system/CacheRepository.php
  4. 21
      app/common/repositories/user/UserAssetsLogRepository.php
  5. 18
      app/common/repositories/user/UserRepository.php
  6. 14
      app/controller/admin/user/User.php
  7. 9
      app/controller/api/user/User.php
  8. 8
      route/admin/user.php
  9. 7
      view/admin/src/api/user.js
  10. 7
      view/admin/src/views/user/list/index.vue
  11. 2
      view/admin/src/views/user/prize/index.vue

@ -12,6 +12,7 @@ namespace app\common\dao\store;
use app\common\dao\BaseDao;
use app\common\model\store\Deposit;
use app\common\model\user\UserBrokerage;
class DepositDao extends BaseDao
{
@ -22,4 +23,9 @@ class DepositDao extends BaseDao
return Deposit::class;
}
public function search(array $where)
{
return Deposit::getDB()->where($where);
}
}

@ -51,10 +51,20 @@ class DepositRepository extends BaseRepository
return compact('count','list');
}
public function select(array $where)
public function select($where)
{
$list = $this->dao->getSearch($where)->field('guarantee_id,guarantee_name,guarantee_info,image')->order('sort DESC')->select();
return $list;
$list = $this->dao->search($where)->field('money, id, cycle')->order('money ASC,cycle ASC')->select();
if($list){
$data = array();
foreach ($list as $item){
$data[] = [
'value' => $item['id'],
'label' => intval($item['money']).'元(周期'.$item['cycle'].'天)'
];
}
return $data;
}
return array();
}
/**
* TODO 添加form

@ -83,6 +83,7 @@ class CacheRepository extends BaseRepository
['label' => '抽奖规则', 'key' => self::LOTTERY_RULE2],
['label' => '预存注意事项', 'key' => self::LOTTERY_RULE],
['label' => '提现说明', 'key' => self::WITHDRAW_RULE],
['label' => '商户入驻协议', 'key' => self::INTEGRAL_AGREE],
];
if (!$type) {
// $data[] = ['label' => '注销声明', 'key' => self::CANCELLATION_MSG];

@ -206,15 +206,19 @@ class UserAssetsLogRepository extends BaseRepository
$spreadUser = $this->userRepository->get($spreadUid);
$topUid = $spreadUser['spread_uid'];
}
try {
// 爆单奖励
$this->hotAward($order);
// 爆单奖励
$this->hotAward($order);
// 分享奖励
$this->shareAward($order, $spreadUid, $topUid);
// 分享奖励
$this->shareAward($order, $spreadUid, $topUid);
// 服务奖
$this->serveAward($order, $spreadUid, $topUid);
}catch (\Throwable $e){
Log::info("++++++++++++++======================+++++++++++". $e->getFile().":".$e->getLine(). "|" .$e->getMessage());
}
// 服务奖
$this->serveAward($order, $spreadUid, $topUid);
}
@ -231,6 +235,7 @@ class UserAssetsLogRepository extends BaseRepository
*/
public function serveAward($order, $spreadUid = 0, $topUid = 0)
{
Log::info("++++++++++++++++++++++++++serveAward {$spreadUid} {$topUid}");
/**
* @var UserGroupRepository $groupRepository
*/
@ -394,6 +399,8 @@ class UserAssetsLogRepository extends BaseRepository
$logList = array();
foreach ($list as $item) {
$tmp = $this->_getIntegral($profit * $product['hot_integral_rate'] / 100 / count($list));
Log::info('hotAward'.json_encode($tmp));
Log::info('=============================hotAward');
if ($item['total'] - $item['current'] < $tmp['integral_buy'] + $tmp['integral_withdraw']) {
$tmp = $this->_getIntegral($item['total'] - $item['current']);
// $item['status'] = 1;
@ -450,7 +457,7 @@ class UserAssetsLogRepository extends BaseRepository
$diamondOne = $product['normal_diamond_one'];
$diamondTwo = $product['normal_diamond_two'];
}
Log::info('++++++++++++++++++++++++++++++++shareAward'.json_encode(array($integralOne, $integralTwo, $diamondOne, $diamondTwo, $profit)));
$this->_shareInsertData($spreadUid, $integralOne, $diamondOne, $profit, $productItem['product_id'], $order['order_id']);
$this->_shareInsertData($topUid, $integralTwo, $diamondTwo, $profit, $productItem['product_id'], $order['order_id']);

@ -19,6 +19,7 @@ use app\common\model\user\User;
use app\common\model\wechat\WechatUser;
use app\common\repositories\BaseRepository;
use app\common\repositories\community\CommunityRepository;
use app\common\repositories\store\DepositRepository;
use app\common\repositories\store\order\StoreOrderHotRepository;
use app\common\repositories\store\order\StoreOrderRepository;
use app\common\repositories\store\service\StoreServiceRepository;
@ -1373,6 +1374,23 @@ class UserRepository extends BaseRepository
return $form->setTitle($type ? '编辑会员等级' : '编辑分销等级');
}
public function depositForm(int $id)
{
$form = Elm::createForm(Route::buildUrl('systemUserMemberSave', ['id' => $id])->build());
$field = 'deposit_id';
$data = $this->dao->get($id);
if (!$data) throw new ValidateException('数据不存在');
$rules = [
Elm::select($field, '级别:', $data->$field)->options(function () {
$options = app()->make(DepositRepository::class)->select(['status' => 1]);
return $options;
})->placeholder('请选择级别'),
];
$form->setRule($rules);
return $form->setTitle( '添加预存');
}
public function updateLevel(int $id, array $data, int $type)
{
$make = app()->make(UserBrokerageRepository::class);

@ -670,6 +670,20 @@ class User extends BaseController
return app('json')->success('修改成功');
}
public function depositForm($id)
{
return app('json')->success(formToData($this->repository->depositForm($id)));
}
public function depositSave($id)
{
$data = $this->request->params(['deposit_id']);
if (!$this->repository->exists((int)$id))
return app('json')->fail('数据不存在');
$this->repository->updateLevel($id, $data, 1);
return app('json')->success('修改成功');
}
public function spreadLevelForm($id)
{
return app('json')->success(formToData($this->repository->memberForm($id, 0)));

@ -69,10 +69,11 @@ class User extends BaseController
$config = $assetsRepository->getConfig();
if($logList && count($logList) >= 1){
$assets = $assetsRepository->assets($uid);
if($assets['diamond'] < $config['lotteryPayDiamond']){
return app('json')->fail('钻石不足');
}
// $assets = $assetsRepository->assets($uid);
// if($assets['diamond'] < $config['lotteryPayDiamond']){
// return app('json')->fail('钻石不足');
// }
return app('json')->fail('一天只能抽一次');
}
$list = app(LotteryRepository::class)->getList([]);

@ -173,6 +173,14 @@ Route::group(function () {
Route::post('/member/:id/save', '/memberSave')->name('systemUserMemberSave')->option([
'_alias' => '用户修改会员等级',
]);
Route::get('/deposit/:id/form', '/depositForm')->name('systemUserDepositForm')->option([
'_alias' => '添加预存表单',
'_auth' => false,
'_form' => 'systemUserDepositSave',
]);
Route::post('/deposit/:id/save', '/depositSave')->name('systemUserDepositSave')->option([
'_alias' => '用户添加预存记录',
]);
Route::get('/create', '/createForm')->name('systemUserCreateForm')->option([
'_alias' => '用户添加表单',

@ -170,6 +170,13 @@ export function changelabelApi(id) {
export function changeMemberApi(id) {
return request.get(`user/member/${id}/form`)
}
/**
* @description 用户列表 -- 编辑会员等级
*/
export function addDepositApi(id) {
return request.get(`user/deposit/${id}/form`)
}
/**
* @description 用户列表 -- 修改余额
*/

@ -274,7 +274,7 @@
<!-- <el-dropdown-item v-if="!scope.row.cancel_time" @click.native="setLabel(scope.row)">设置标签</el-dropdown-item>-->
<el-dropdown-item v-if="!scope.row.cancel_time" @click.native="setModify(scope.row)">修改推荐人</el-dropdown-item>
<!-- <el-dropdown-item v-if="!scope.row.cancel_time" @click.native="setPassword(scope.row)">修改密码</el-dropdown-item>-->
<!-- <el-dropdown-item v-if="!scope.row.cancel_time" @click.native="setMember(scope.row)">编辑会员等级</el-dropdown-item>-->
<el-dropdown-item v-if="!scope.row.cancel_time" @click.native="addDeposit(scope.row)">添加预存</el-dropdown-item>
<!-- <el-dropdown-item v-if="!scope.row.cancel_time" @click.native="giveMember(scope.row)">付费会员设置</el-dropdown-item>-->
</el-dropdown-menu>
</el-dropdown>
@ -348,6 +348,7 @@ import {
modifyUserReferrer,
modifyUserPassword,
changeMemberApi,
addDepositApi,
createUserApi,
giveMemberApi,
extendInfo,
@ -859,6 +860,10 @@ export default {
setMember(row) {
this.$modalForm(changeMemberApi(row.uid)).then(() => this.changeSearch())
},
//
addDeposit(row) {
this.$modalForm(addDepositApi(row.uid)).then(() => this.changeSearch())
},
//
giveMember(row) {
this.$modalForm(giveMemberApi(row.uid)).then(() => this.changeSearch())

@ -7,7 +7,7 @@
<el-radio-group v-model="item.type" @change="typeChange($event,item)">
<el-radio :label="1">钻石</el-radio>
<el-radio :label="2">谢谢惠顾</el-radio>
<el-radio :label="3">再抽一次</el-radio>
<!-- <el-radio :label="3">再抽一次</el-radio>-->
</el-radio-group>
<div class="zuanshi" v-if="item.type==1">
<span>钻石数</span>

Loading…
Cancel
Save