// +---------------------------------------------------------------------- namespace app\controller\admin\user; use app\common\model\user\AwardLake; use app\common\repositories\store\ExcelRepository; use app\common\repositories\user\AwardIntegralPriceRepository; use app\common\repositories\user\GiftLevelRepository; use app\common\repositories\user\OilLevelRepository; use app\common\repositories\user\UserInfoRepository; use app\validate\admin\GiftLevelValidate; use app\validate\admin\OilLevelValidate; use crmeb\basic\BaseController; use app\common\repositories\user\UserBillRepository; use crmeb\services\ExcelService; use think\App; use think\db\exception\DataNotFoundException; use think\db\exception\DbException; use think\db\exception\ModelNotFoundException; /** * Class Award * app\controller\admin\user * 用户扩展字段设置 */ class Award extends BaseController { protected $repository; public function __construct(App $app, AwardIntegralPriceRepository $repository) { parent::__construct($app); $this->repository = $repository; } /** * 列表 * @return \think\response\Json * @author Qinii * @day 2023/9/24 */ public function lst() { [$page, $limit] = $this->getPage(); $where = $this->request->params(['day']); return app('json')->success($this->repository->getList($where, $page, $limit)); } /** * 奖池列表 * @return \think\response\Json * @author Qinii * @day 2023/9/24 */ public function lake_lst() { [$page, $limit] = $this->getPage(); $where = $this->request->params(['type']); $list=$this->repository->getLakeList($where, $page, $limit); foreach ($list['list'] as $k=>&$v){ $list['list'][$k]['send_time'] = date('Y-m-d H:i:s',$list['list'][$k]['send_time']); if (strpos($v['award_name'],'服务中心')!==false){ unset($list['list'][$k]); } } return app('json')->success($list); } /** * 奖池变动记录列表 * @return \think\response\Json * @author Qinii * @day 2023/9/24 */ public function lake_log_lst() { [$page, $limit] = $this->getPage(); $where = $this->request->params(['type','pm']); $list=$this->repository->getLakeLogList($where, $page, $limit); foreach ($list['list'] as $k=>&$v){ $list['list'][$k]['add_time'] = date('Y-m-d H:i:s',$list['list'][$k]['add_time']); } return app('json')->success($list); } /** * 列表 * @return \think\response\Json * @author Qinii * @day 2023/9/24 */ public function oil_lst(OilLevelValidate $validate,OilLevelRepository $repository) { [$page, $limit] = $this->getPage(); $where = $this->request->params(['']); return app('json')->success($repository->getList($where, $page, $limit)); } /** * 添加 * @param OilLevelValidate $validate * @return mixed * @author Qinii */ public function oil_create(OilLevelValidate $validate,OilLevelRepository $repository) { $data = $this->oil_checkParams($validate); $grade = app()->make(OilLevelRepository::class)->getSearch([])->where('grade', $data['grade'])->find(); if ($grade){ return app('json')->fail('等级已存在'); } $data['update_time'] = time(); $repository->create($data); return app('json')->success('添加成功'); } /** * 文章详情 * @param $id */ public function oil_detail($id,OilLevelRepository $repository) { // if (!$this->repository->merExists($this->request->merId(), $id)) // return app('json')->fail('数据不存在'); return app('json')->success($repository->getWith($id)); } /** * 更新 * @param $id */ public function oil_update($id, OilLevelValidate $validate,OilLevelRepository $repository) { $data = $this->oil_checkParams($validate); // if (!$this->repository->merExists($this->request->merId(), $id)) // return app('json')->fail('数据不存在'); $grade = app()->make(OilLevelRepository::class)->getSearch([])->whereNotIn('id',[$id])->where('grade', $data['grade'])->find(); if ($grade){ return app('json')->fail('等级已存在'); } $data['update_time']=time(); $repository->update($id, $data); return app('json')->success('编辑成功'); } /** * 删除 */ public function oil_delete($id,OilLevelRepository $repository) { // if (!$this->repository->merExists($this->request->merId(), $id)) // return app('json')->fail('数据不存在'); $repository->delete($id); return app('json')->success('删除成功'); } /** * 验证数据 * @param OilLevelValidate $validate * @return array * @author Qinii */ public function oil_checkParams(OilLevelValidate $validate) { $data = $this->request->params(['name', 'grade', 'achievement','award_ratio']); $validate->check($data); return $data; } /** * 列表 * @return \think\response\Json * @author Qinii * @day 2023/9/24 */ public function gift_lst(GiftLevelValidate $validate,GiftLevelRepository $repository) { [$page, $limit] = $this->getPage(); $where = $this->request->params(['']); return app('json')->success($repository->getList($where, $page, $limit)); } /** * 添加 * @param GiftLevelValidate $validate * @return mixed * @author Qinii */ public function gift_create(GiftLevelValidate $validate,GiftLevelRepository $repository) { $data = $this->gift_checkParams($validate); $grade = app()->make(GiftLevelRepository::class)->getSearch([])->where('grade', $data['grade'])->find(); if ($grade){ return app('json')->fail('等级已存在'); } $data['update_time'] = time(); $repository->create($data); return app('json')->success('添加成功'); } /** * 更新 * @param $id */ public function gift_update($id, GiftLevelValidate $validate,GiftLevelRepository $repository) { $data = $this->gift_checkParams($validate); // if (!$this->repository->merExists($this->request->merId(), $id)) // return app('json')->fail('数据不存在'); $grade = app()->make(GiftLevelRepository::class)->getSearch([])->whereNotIn('id',[$id])->where('grade', $data['grade'])->find(); if ($grade){ return app('json')->fail('等级已存在'); } $data['update_time']=time(); $repository->update($id, $data); return app('json')->success('编辑成功'); } /** * 删除 */ public function gift_delete($id,GiftLevelRepository $repository) { // if (!$this->repository->merExists($this->request->merId(), $id)) // return app('json')->fail('数据不存在'); $repository->delete($id); return app('json')->success('删除成功'); } /** * 验证数据 * @param GiftLevelValidate $validate * @return array * @author Qinii */ public function gift_checkParams(GiftLevelValidate $validate) { $data = $this->request->params(['name', 'grade', 'achievement','award_ratio']); $validate->check($data); return $data; } // 手动分红 public function hand_send(AwardLake $awardLake){ $awardLake->handSend(); return app('json')->success('发送成功'); } }