From 23dcd2787d7f0d8d245f74efeebd9e3ee1a1a42c Mon Sep 17 00:00:00 2001 From: mkm <727897186@qq.com> Date: Tue, 26 Dec 2023 15:05:43 +0800 Subject: [PATCH 01/37] =?UTF-8?q?=E8=BD=AC=E8=B4=A6=E8=B4=A6=E5=8D=95?= =?UTF-8?q?=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../merchant/FinancialRecordTransferDao.php | 120 ++++ .../merchant/FinancialRecordTransfer.php | 47 ++ .../FinancialRecordTransferRepository.php | 588 ++++++++++++++++++ .../merchant/FinancialRecordTransfer.php | 169 +++++ crmeb/listens/RefundOrderAgreeListen.php | 2 +- route/merchant/accounts.php | 36 ++ 6 files changed, 961 insertions(+), 1 deletion(-) create mode 100644 app/common/dao/system/merchant/FinancialRecordTransferDao.php create mode 100644 app/common/model/system/merchant/FinancialRecordTransfer.php create mode 100644 app/common/repositories/system/merchant/FinancialRecordTransferRepository.php create mode 100644 app/controller/admin/system/merchant/FinancialRecordTransfer.php diff --git a/app/common/dao/system/merchant/FinancialRecordTransferDao.php b/app/common/dao/system/merchant/FinancialRecordTransferDao.php new file mode 100644 index 00000000..76c97f34 --- /dev/null +++ b/app/common/dao/system/merchant/FinancialRecordTransferDao.php @@ -0,0 +1,120 @@ + +// +---------------------------------------------------------------------- + + +namespace app\common\dao\system\merchant; + + +use app\common\dao\BaseDao; +use app\common\model\system\merchant\FinancialRecordTransfer; + +class FinancialRecordTransferDao extends BaseDao +{ + + const Outlay = 0; //支出 + const Income = 1; //收入 + + const TypeMerchant = 0; //商户 + const TypeCommon = 1; //公共 + const TypePlatform = 2; //平台 + + protected function getModel(): string + { + return FinancialRecordTransfer::class; + } + + /** + * @return string + * @author xaboy + * @day 2020/6/9 + */ + public function getSn() + { + list($msec, $sec) = explode(' ', microtime()); + $msectime = number_format((floatval($msec) + floatval($sec)) * 1000, 0, '', ''); + $orderId = 'jy' . $msectime . mt_rand(10000, max(intval($msec * 10000) + 10000, 98369)); + return $orderId; + } + + public function inc(array $data, $merId) + { + $data['mer_id'] = $merId; + $data['financial_pm'] = 1; + $data['financial_record_sn'] = $this->getSn(); + return $this->create($data); + } + + public function dec(array $data, $merId) + { + $data['mer_id'] = $merId; + $data['financial_pm'] = 0; + $data['financial_record_sn'] = $this->getSn(); + return $this->create($data); + } + + public function search(array $where) + { + $query = $this->getModel()::getDB() + ->when(isset($where['financial_type']) && $where['financial_type'] !== '', function ($query) use ($where) { + $query->whereIn('financial_type', $where['financial_type']); + }) + ->when(isset($where['mer_id']) && $where['mer_id'] !== '', function ($query) use ($where) { + $query->where('mer_id', $where['mer_id']); + }) + ->when(isset($where['user_info']) && $where['user_info'] !== '', function ($query) use ($where) { + $query->where('user_info', $where['user_info']); + }) + ->when(isset($where['user_id']) && $where['user_id'] !== '', function ($query) use ($where) { + $query->where('user_id', $where['user_id']); + }) + ->when(isset($where['keyword']) && $where['keyword'] !== '', function ($query) use ($where) { + $query->whereLike('order_sn|user_info|financial_record_sn', "%{$where['keyword']}%"); + }) + ->when(isset($where['date']) && $where['date'] !== '', function ($query) use ($where) { + getModelTime($query, $where['date'], 'create_time'); + }) + ->when(isset($where['is_mer']) && $where['is_mer'] !== '', function ($query) use ($where) { + if($where['is_mer']){ + $query->where('mer_id',$where['is_mer'])->where('type','in',[0,1]); + }else{ + $query->where('type','in',[1,2]); + } + }); + return $query; + } + + /** + * TODO 根据条件和时间查询出相对类型的数量个金额 + * @param int $type + * @param array $where + * @param string $date + * @param array $financialType + * @return array + * @author Qinii + * @day 4/14/22 + */ + public function getDataByType(int $type, array $where, string $date, array $financialType) + { + if (empty($financialType)) return [0,0]; + $query = $this->search($where)->where('financial_type','in',$financialType); + + if($type == 1) { + $query->whereDay('create_time',$date); + } else { + $query->whereMonth('create_time',$date); + } + $count = $query->group('order_id')->where('number', '<>', 0)->count(); + $number = $query->where('number', '<>', 0)->sum('number'); + + return [$count,$number]; + } +} diff --git a/app/common/model/system/merchant/FinancialRecordTransfer.php b/app/common/model/system/merchant/FinancialRecordTransfer.php new file mode 100644 index 00000000..6a8269ae --- /dev/null +++ b/app/common/model/system/merchant/FinancialRecordTransfer.php @@ -0,0 +1,47 @@ + +// +---------------------------------------------------------------------- + + +namespace app\common\model\system\merchant; + + +use app\common\model\BaseModel; +use app\common\model\store\order\StoreOrderOther; +use app\common\model\user\User; + +class FinancialRecordTransfer extends BaseModel +{ + + public static function tablePk(): ?string + { + return 'financial_record_id'; + } + + public static function tableName(): string + { + return 'financial_record_transfer'; + } + + public function user() + { + return $this->hasOne(User::class,'uid','user_id'); + } + + public function merchant() + { + return $this->hasOne(Merchant::class,'mer_id','mer_id'); + } + public function orderInfo() + { + return $this->hasOne(StoreOrderOther::class,'order_sn','order_sn'); + } +} diff --git a/app/common/repositories/system/merchant/FinancialRecordTransferRepository.php b/app/common/repositories/system/merchant/FinancialRecordTransferRepository.php new file mode 100644 index 00000000..01a2bff9 --- /dev/null +++ b/app/common/repositories/system/merchant/FinancialRecordTransferRepository.php @@ -0,0 +1,588 @@ + +// +---------------------------------------------------------------------- + + +namespace app\common\repositories\system\merchant; + + +use app\common\dao\system\merchant\FinancialRecordTransferDao; +use app\common\repositories\BaseRepository; +use app\common\repositories\user\UserBillRepository; +use think\facade\Cache; +use think\facade\Db; + +/** + * Class FinancialRecordTransferRepository + * @package app\common\repositories\system\merchant + * @author xaboy + * @day 2020/8/5 + * @mixin FinancialRecordDao + */ +class FinancialRecordTransferRepository extends BaseRepository +{ + public function __construct(FinancialRecordTransferDao $dao) + { + $this->dao = $dao; + } + + /** + * TODO 列表 + * @param array $where + * @param int $page + * @param int $limit + * @return array + * @author Qinii + * @day 5/7/21 + */ + public function getList(array $where, int $page, int $limit) + { + $query = $this->dao->search($where)->order('create_time DESC'); + $count = $query->count(); + $list = $query->page($page, $limit)->select(); + return compact('count', 'list'); + } + + /** + * TODO 流水头部计算 + * @param int|null $merId + * @param array $where + * @return array + * @author Qinii + * @day 5/7/21 + */ + public function getFiniancialTitle(?int $merId, array $where) + { + /** + * 平台支出 + * 商户的收入 order_true + 佣金 brokerage_one,brokerage_two + 手续费 refund_charge + 商户预售收入 presell_true + * + * 商户支出 + * 退回收入 refund_order + (佣金 brokerage_one,brokerage_two - 退回佣金 refund_brokerage_two,refund_brokerage_one ) + (手续费 order_charge + 预售手续费 presell_charge - 平台退给商户的手续费 refund_charge ) + */ + $where['is_mer'] = $merId; + if ($merId) { + //商户收入 + $income = $this->dao->search($where)->where('financial_type', 'in', ['order', 'mer_presell'])->sum('number'); + //商户支出 + $expend_ = $this->dao->search($where)->where('financial_type', 'in', ['refund_order', 'brokerage_one', 'brokerage_two', 'order_charge', 'presell_charge'])->sum('number'); + $_expend = $this->dao->search($where)->where('financial_type', 'in', ['refund_charge', 'refund_brokerage_two', 'refund_brokerage_one'])->sum('number'); + $expend = bcsub($expend_, $_expend, 2); + $msg = '商户'; + } else { + //平台收入 + $income = $this->dao->search($where)->where('financial_type', 'in', ['order', 'order_presell', 'presell'])->sum('number'); + //平台支出 + $expend = $this->dao->search($where)->where('financial_type', 'in', ['brokerage_one', 'brokerage_two', 'order_true', 'refund_charge', 'presell_true', 'order_platform_coupon', 'order_svip_coupon'])->sum('number'); + $msg = '平台'; + } + $data = [ + [ + 'className' => 'el-icon-s-goods', + 'count' => $income, + 'field' => '元', + 'name' => $msg . '收入' + ], + [ + 'className' => 'el-icon-s-order', + 'count' => $expend, + 'field' => '元', + 'name' => $msg . '支出' + ], + ]; + return $data; + } + + /** + * TODO 平台头部统计 + * @param $where + * @return array + * @author Qinii + * @day 3/23/21 + */ + public function getAdminTitle($where) + { + //订单收入总金额 + $count = $this->dao->search($where)->where('financial_type', 'in', ['order', 'order_presell', 'presell'])->sum('number'); + //佣金支出金额 + $brokerage_ = $this->dao->search($where)->where('financial_type', 'in', ['brokerage_one', 'brokerage_two'])->sum('number'); + $_brokerage = $this->dao->search($where)->where('financial_type', 'in', ['refund_brokerage_two', 'refund_brokerage_one'])->sum('number'); + $brokerage = bcsub($brokerage_, $_brokerage, 2); + + //入口店铺佣金 + $entry_merchant=$this->dao->search($where)->where('financial_type', 'commission_to_entry_merchant')->sum('number'); + $entry_merchant_refund=$this->dao->search($where)->where('financial_type', 'commission_to_entry_merchant_refund')->sum('number'); + + //平台手续费 + $charge_ = $this->dao->search($where)->where('financial_type', 'in', ['order_charge', 'presell_charge'])->sum('number'); + $_charge = $this->dao->search($where)->where('financial_type', 'refund_charge')->sum('number'); + $charge = bcsub($charge_, $_charge, 2); + + //产生交易的商户数 + $mer_number = $this->dao->search($where)->group('mer_id')->count(); + + $stat = [ + [ + 'className' => 'el-icon-s-goods', + 'count' => $count, + 'field' => '元', + 'name' => '订单收入总金额' + ], + + [ + 'className' => 'el-icon-s-cooperation', + 'count' => $brokerage, + 'field' => '元', + 'name' => '佣金支出金额' + ], + [ + 'className' => 'el-icon-s-cooperation', + 'count' => $charge, + 'field' => '元', + 'name' => '平台手续费' + ], + [ + 'className' => 'el-icon-s-goods', + 'count' => $mer_number, + 'field' => '个', + 'name' => '产生交易的商户数' + ],[ + 'className' => 'el-icon-s-order', + 'count' => bcsub($entry_merchant,$entry_merchant_refund,2), + 'field' => '元', + 'name' => '入口商户佣金' + ], + ]; + return compact('stat'); + } + + /** + * TODO 商户头部统计 + * @param $where + * @return array + * @author Qinii + * @day 5/6/21 + */ + public function getMerchantTitle($where) + { + //商户收入 + $count = $this->dao->search($where)->where('financial_type', 'in', ['order', 'mer_presell'])->sum('number'); + //押金 + $auto_margin = $this->dao->search($where)->where('financial_type', 'auto_margin')->sum('number'); + $auto_margin_refund = $this->dao->search($where)->where('financial_type', 'auto_margin_refund')->sum('number'); + //平台手续费 + $refund_true = $this->dao->search($where)->where('financial_type', 'in', ['order_charge', 'presell_charge'])->sum('number'); + $order_charge = $this->dao->search($where)->where('financial_type', 'refund_charge')->sum('number'); + $charge = bcsub($refund_true, $order_charge, 2); + $stat = [ + [ + 'className' => 'el-icon-s-goods', + 'count' => $count, + 'field' => '元', + 'name' => '商户收入' + ], + [ + 'className' => 'el-icon-s-cooperation', + 'count' => $charge, + 'field' => '元', + 'name' => '平台手续费' + ], [ + 'className' => 'el-icon-s-cooperation', + 'count' => bcsub($auto_margin,$auto_margin_refund,2), + 'field' => '元', + 'name' => '商户押金金额' + ], + ]; + return compact('stat'); + } + + /** + * TODO 月账单 + * @param array $where + * @param int $page + * @param int $limit + * @return array + * @author Qinii + * @day 3/23/21 + */ + public function getAdminList(array $where, int $page, int $limit, $merchant = []) + { + //日 + if ($where['type'] == 1) { + $field = Db::raw('from_unixtime(unix_timestamp(create_time),\'%Y-%m-%d\') as time'); + } else { + //月 + if (!empty($where['date'])) { + list($startTime, $endTime) = explode('-', $where['date']); + $firstday = date('Y/m/01', strtotime($startTime)); + $lastday_ = date('Y/m/01', strtotime($endTime)); + $lastday = date('Y/m/d', strtotime("$lastday_ +1 month -1 day")); + $where['date'] = $firstday . '-' . $lastday; + } + $field = Db::raw('from_unixtime(unix_timestamp(create_time),\'%Y-%m\') as time'); + } + $make = app()->make(UserBillRepository::class); + + $query = $this->dao->search($where)->field($field)->group("time")->order('create_time DESC'); + $count = $query->count(); + $list = $query->page($page, $limit)->select()->each(function ($item) use ($where, $merchant) { + $key = $where['is_mer'] ? $where['is_mer'] . '_financial_record_list_' . $item['time'] : 'sys_financial_record_list_' . $item['time']; + if (($where['type'] == 1 && ($item['time'] == date('Y-m-d', time()))) || ($where['type'] == 2 && ($item['time'] == date('Y-m', time())))) { + $income = ($this->countIncome($where['type'], $where, $item['time'],$merchant))['number']; + $expend = ($this->countExpend($where['type'], $where, $item['time'],$merchant))['number']; + $ret = [ + 'income' => $income, + 'expend' => $expend, + 'charge' => bcsub($income, $expend, 2), + ]; + } else { + if (!$ret = Cache::get($key)) { + $income = ($this->countIncome($where['type'], $where, $item['time'],$merchant))['number']; + $expend = ($this->countExpend($where['type'], $where, $item['time'],$merchant))['number']; + $ret = [ + 'income' => $income, + 'expend' => $expend, + 'charge' => bcsub($income, $expend, 2), + ]; + Cache::tag('system')->set($key, $ret, 24 * 3600); + } + } + $item['income'] = $ret['income']; + $item['expend'] = $ret['expend']; + $item['charge'] = $ret['charge']; + }); + + return compact('count', 'list'); + } + + /** + * TODO 平台详情 + * @param int $type + * @param array $where + * @return mixed + * @author Qinii + * @day 3/23/21 + */ + public function adminDetail(int $type, array $where) + { + $date_ = strtotime($where['date']); + unset($where['date']); + $date = ($type == 1) ? date('Y-m-d', $date_) : date('Y-m', $date_); + $income = $this->countIncome($type, $where, $date); + $bill = $this->countBill($type, $date); + $expend = $this->countExpend($type, $where, $date); + $charge = bcsub($income['number'], $expend['number'], 2); + $data['date'] = $date; + $data['income'] = [ + 'title' => '订单收入总金额', + 'number' => $income['number'], + 'count' => $income['count'] . '笔', + 'data' => [ + ['订单支付', $income['number_order'] . '元', $income['count_order'] . '笔'], + ['退回优惠券补贴', $income['number_coupon'] . '元', $income['count_coupon'] . '笔'], + ['退回会员优惠券补贴', $income['number_svipcoupon'] . '元', $income['count_svipcoupon'] . '笔'], + ] + ]; + $data['bill'] = [ + 'title' => '充值金额', + 'number' => $bill['number'], + 'count' => $bill['count'] . '笔', + 'data' => [] + ]; + $data['expend'] = [ + 'title' => '支出总金额', + 'number' => $expend['number'], + 'count' => $expend['count'] . '笔', + 'data' => [ + ['应付商户金额', $expend['number_order'] . '元', $expend['count_order'] . '笔'], + ['佣金', $expend['number_brokerage'] . '元', $expend['count_brokerage'] . '笔'], + ['返还手续费', $expend['number_charge'] . '元', $expend['count_charge'] . '笔'], + ['优惠券补贴', $expend['number_coupon'] . '元', $expend['count_coupon'] . '笔'], + ['会员优惠券补贴', $expend['number_svipcoupon'] . '元', $expend['count_svipcoupon'] . '笔'], + ] + ]; + $data['charge'] = [ + 'title' => '平台手续费收入总金额', + 'number' => $charge, + 'count' => '', + 'data' => [] + ]; + return $data; + } + + /** + * TODO 商户详情 + * @param int $type + * @param array $where + * @return mixed + * @author Qinii + * @day 5/6/21 + */ + public function merDetail(int $type, array $where,$merchant=[]) + { + $date_ = strtotime($where['date']); + unset($where['date']); + $date = ($type == 1) ? date('Y-m-d', $date_) : date('Y-m', $date_); + $income = $this->countIncome($type, $where, $date,$merchant); + $expend = $this->countExpend($type, $where, $date,$merchant); + $data['e'] = $expend; + $charge = bcsub($income['number'], $expend['number'], 2); + + $data['date'] = $date; + $data['income'] = [ + 'title' => '订单收入总金额', + 'number' => $income['number'], + 'count' => $income['count'] . '笔', + 'data' => [ + ['订单支付', $income['number_order'] . '元', $income['count_order'] . '笔'], + ['优惠券补贴', $income['number_coupon'] . '元', $income['count_coupon'] . '笔'], + ['会员优惠券补贴', $income['number_svipcoupon'] . '元', $income['count_svipcoupon'] . '笔'], + ] + ]; + $data['expend'] = [ + 'title' => '支出总金额', + 'number' => $expend['number'], + 'count' => $expend['count'] . '笔', + 'data' => [ + [ + '平台手续费', + bcsub($expend['number_order_charge'], $expend['number_charge'], 2). '元', + bcsub($expend['count_order_charge'], $expend['count_charge']). '笔', + ], + [ + '店铺押金', + $expend['number_auto_margin'] . '元', + $expend['count_auto_margin'] . '笔' + + ], + [ + '佣金', + bcsub($expend['number_brokerage'], $expend['number_refund_brokerage'], 2) . '元', + $expend['count_brokerage'] + $expend['count_refund_brokerage'] . '笔' + ], + [ + '商户退款', + $expend['number_refund'] . '元', + $expend['count_refund'] . '笔' + ], + [ + '退还优惠券补贴', + $expend['number_coupon'] . '元', + $expend['count_coupon'] . '笔' + ], + [ + '退还会员优惠券补贴', + $expend['number_svipcoupon'] . '元', + $expend['count_svipcoupon'] . '笔' + ], + ] + ]; + $data['charge'] = [ + 'title' => '应入账总金额', + 'number' => $charge, + 'count' => '', + 'data' => [] + ]; + + return $data; + } + + /** + * TODO 总收入 + * @param $type + * @param $date + * @return array + * @author Qinii + * @day 3/23/21 + */ + public function countIncome($type, $where, $date, $merchant = []) + { + $financialType = ['order', 'order_presell', 'presell', 'mer_presell']; + if ($merchant){ + switch ($merchant['type_id']) { + case 16: + $financialType1 = ['commission_to_town']; + break; + case 15: + $financialType1 = ['commission_to_village']; + break; + case 14: + $financialType1 = ['commission_to_service_team']; + break; + case 11: + $financialType1 = ['commission_to_cloud_warehouse']; + break; + case 10: + $financialType1 = ['commission_to_entry_merchant']; + break; + default: + $financialType1 = []; + } + + $financialType = array_merge($financialType, $financialType1); + } + [$data['count_order'], $data['number_order']] = $this->dao->getDataByType($type, $where, $date, $financialType); + if (!empty($financialType1)){ + $financialType1[0]=$financialType1[0].'_refund'; + [$data['count_refund'], $data['number_refund']] = $this->dao->getDataByType($type, $where, $date, $financialType1); + $data['count_order']-=$data['count_refund']; + $data['number_order']-=$data['number_refund']; + } + + if ($where['is_mer']) { + $financialType = ['order_platform_coupon']; + } else { + $financialType = ['refund_platform_coupon']; + } + [$data['count_coupon'], $data['number_coupon']] = $this->dao->getDataByType($type, $where, $date, $financialType); + + if ($where['is_mer']) { + $financialType = ['order_svip_coupon']; + } else { + $financialType = ['refund_svip_coupon']; + } + [$data['count_svipcoupon'], $data['number_svipcoupon']] = $this->dao->getDataByType($type, $where, $date, $financialType); + + $data['count'] = $data['count_order']; + $data['number'] = bcadd($data['number_coupon'], $data['number_order'], 2); + return $data; + } + + + /** + * TODO 平台总支出 + * @param $type + * @param $date + * @return array + * @author Qinii + * @day 3/23/21 + */ + public function countExpend($type, $where, $date,$merchant=[]) + { + /** + * 平台支出 + * 商户的收入 order_true + 佣金 brokerage_one,brokerage_two + 手续费 refund_charge + 商户预售收入 presell_true + * + * 商户支出 + * 退回收入 refund_order + (佣金 brokerage_one,brokerage_two - 退回佣金 refund_brokerage_two,refund_brokerage_one ) + (手续费 order_charge + 预售手续费 presell_charge - 平台退给商户的手续费 refund_charge ) + */ + // 退回佣金 + $financialType = ['brokerage_one', 'brokerage_two']; + [$data['count_brokerage'], $data['number_brokerage']] = $this->dao->getDataByType($type, $where, $date, $financialType); + + // 退回手续费 + $financialType = ['refund_charge']; + [$data['count_charge'], $data['number_charge']] = $this->dao->getDataByType($type, $where, $date, $financialType); + + if ($merchant){ + switch ($merchant['type_id']) { + case 16: + $financialType1 = ['commission_to_town_refund']; + break; + case 15: + $financialType1 = ['commission_to_village_refund']; + break; + case 14: + $financialType1 = ['commission_to_service_team_refund']; + break; + case 11: + $financialType1 = ['commission_to_cloud_warehouse_refund']; + break; + case 10: + $financialType1 = ['commission_to_entry_merchant_refund']; + break; + default: + $financialType1 = []; + } + }else{ + //退款的 + $refund=['commission_to_town_refund','commission_to_village_refund','commission_to_service_team_refund','commission_to_cloud_warehouse_refund','commission_to_entry_merchant_refund']; + //分成的 + $commission=['commission_to_town','commission_to_village','commission_to_service_team','commission_to_cloud_warehouse','commission_to_entry_merchant']; + } + if ($where['is_mer']) { //商户的 + //退回收入 + $financialType = ['refund_order']; + [$data['count_refund'], $data['number_refund']] = $this->dao->getDataByType($type, $where, $date, $financialType); + + //平台手续费 + $financialType = ['order_charge', 'presell_charge']; + [$data['count_order_charge'], $data['number_order_charge']] = $this->dao->getDataByType($type, $where, $date, $financialType); + + //商户押金 + $financialType = ['auto_margin']; + [$data['count_auto_margin'], $data['number_auto_margin']] = $this->dao->getDataByType($type, $where, $date, $financialType); + //商户押金退回 + $financialType = ['auto_margin_refund']; + [$data['count_auto_margin_refund'], $data['number_auto_margin_refund']] = $this->dao->getDataByType($type, $where, $date, $financialType); + $number3 = bcsub($data['number_auto_margin'], $data['number_auto_margin_refund'], 2); + $data['count_auto_margin'] = bcsub($data['count_auto_margin'], $data['count_auto_margin_refund']); + $data['number_auto_margin'] = $number3; + //退回佣金 + $financialType = ['refund_brokerage_two', 'refund_brokerage_one']; + [$data['count_refund_brokerage'], $data['number_refund_brokerage']] = $this->dao->getDataByType($type, $where, $date, $financialType); + + + //佣金 brokerage_one,brokerage_two - 退回佣金 refund_brokerage_two,refund_brokerage_one ) + $number = bcsub($data['number_brokerage'], $data['number_refund_brokerage'], 2); + //平台手续费 =( order_charge + 预售手续费 presell_charge - 平台退给商户的手续费 refund_charge ) + $number_1 = bcsub($data['number_order_charge'], $data['number_charge'], 2); + + //退回收入 refund_order + 退回佣金 + $number_2 = bcadd(bcadd($data['number_refund'], $data['number_coupon'], 2), $data['number_svipcoupon'], 2); + $data['count'] = $data['count_brokerage'] + $data['count_refund'] + $data['count_order_charge'] + $data['count_refund_brokerage'] + $data['count_svipcoupon'] + $data['count_auto_margin']-$data['count_charge']; + $data['number'] = bcadd(bcadd($number3,bcadd($number_2, $number, 2),2), $number_1, 2); + + } else { //平台的 + // 退回 订单实际获得金额 + + $financialType = ['order_true', 'presell_true','auto_margin']; + [$data['count_order'], $data['number_order']] = $this->dao->getDataByType($type, $where, $date, $financialType); + + $financialType = ['commission_to_entry_merchant']; + [$data['count_merchant'], $data['number_merchant']] = $this->dao->getDataByType($type, $where, $date, $financialType); + $data['count_order']=bcsub($data['count_order'],$data['count_merchant']); + $data['number_order']=bcsub($data['number_order'],$data['number_merchant'], 2); + + + + //付给服务团队和其他的佣金 + [$data['count_refund'], $data['number_refund']] = $this->dao->getDataByType($type, $where, $date, $refund); + [$data['count_commission'], $data['number_commission']] = $this->dao->getDataByType($type, $where, $date, $commission); + + $data['count_brokerage']+=$data['count_commission']-$data['count_refund']; + $data['number_brokerage']+=$data['number_commission']-$data['number_refund']; + + $number = bcadd($data['number_brokerage'], $data['number_order'], 2); + $number_1 = bcadd(bcadd($number, $data['number_coupon'], 2), $data['number_svipcoupon'], 2); + + $data['count'] = $data['count_brokerage'] + $data['count_order'] + $data['count_charge']; + $data['number'] = bcadd($number_1, $data['number_charge'], 2); + } + return $data; + } + + /** + * TODO 手续费 + * @param $where + * @param $date + * @return mixed + * @author Qinii + * @day 3/24/21 + */ + public function countCharge($type, $where, $date) + { + $financialType = ['order_charge']; + [$count, $number] = $this->dao->getDataByType($type, $where, $date, $financialType); + + return compact('count', 'number'); + } +} diff --git a/app/controller/admin/system/merchant/FinancialRecordTransfer.php b/app/controller/admin/system/merchant/FinancialRecordTransfer.php new file mode 100644 index 00000000..dea9bc37 --- /dev/null +++ b/app/controller/admin/system/merchant/FinancialRecordTransfer.php @@ -0,0 +1,169 @@ + +// +---------------------------------------------------------------------- + + +namespace app\controller\admin\system\merchant; + + +use app\common\repositories\store\ExcelRepository; +use app\common\repositories\system\merchant\FinancialRecordTransferRepository; +use crmeb\basic\BaseController; +use crmeb\services\ExcelService; +use think\App; + +class FinancialRecordTransfer extends BaseController +{ + protected $repository; + + public function __construct(App $app, FinancialRecordTransferRepository $repository) + { + parent::__construct($app); + $this->repository = $repository; + } + + public function lst() + { + [$page, $limit] = $this->getPage(); + $where = $this->request->params(['keyword', 'date', 'mer_id']); + $merId = $this->request->merId(); + if ($merId) { + $where['mer_id'] = $merId; + $where['financial_type'] = ['order', 'mer_accoubts', 'brokerage_one', 'brokerage_two', 'refund_brokerage_one', 'refund_brokerage_two', 'refund_order','order_platform_coupon', + 'order_svip_coupon','commission_to_service_team','commission_to_service_team_refund','commission_to_platform','commission_to_platform_refund','commission_to_village','commission_to_village_refund','commission_to_town','commission_to_town_refund','commission_to_entry_merchant','commission_to_entry_merchant_refund' + ,'commission_to_cloud_warehouse','commission_to_cloud_warehouse_refund']; + } else { + $where['financial_type'] = ['order', 'sys_accoubts', 'brokerage_one', 'brokerage_two', 'refund_brokerage_one', 'refund_brokerage_two', 'refund_order','order_platform_coupon', + 'order_svip_coupon','commission_to_service_team','commission_to_service_team_refund','commission_to_platform','commission_to_platform_refund','commission_to_village','commission_to_village_refund','commission_to_town','commission_to_town_refund' + ,'commission_to_entry_merchant','commission_to_entry_merchant_refund' + ,'commission_to_cloud_warehouse','commission_to_cloud_warehouse_refund']; + } + return app('json')->success($this->repository->getList($where, $page, $limit)); + } + + public function export() + { + $where = $this->request->params(['keyword', 'date', 'mer_id']); + $merId = $this->request->merId(); + if ($merId) { + $where['mer_id'] = $merId; + $where['financial_type'] = ['order', 'mer_accoubts', 'brokerage_one', 'brokerage_two', 'refund_brokerage_one', 'refund_brokerage_two', 'refund_order','order_platform_coupon','order_svip_coupon']; + } else { + $where['financial_type'] = ['order', 'sys_accoubts', 'brokerage_one', 'brokerage_two', 'refund_brokerage_one', 'refund_brokerage_two', 'refund_order','order_platform_coupon','order_svip_coupon']; + } + + [$page, $limit] = $this->getPage(); + $data = app()->make(ExcelService::class)->financial($where,$page,$limit); + return app('json')->success($data); + } + + + /** + * TODO 头部统计 + * @return \think\response\Json + * @author Qinii + * @day 3/23/21 + */ + public function getTitle() + { + $where = $this->request->params(['date']); + $where['is_mer'] = $this->request->merId() ?? 0 ; + if($where['is_mer'] == 0){ + $data = $this->repository->getAdminTitle($where); + }else{ + $data = $this->repository->getMerchantTitle($where); + } + return app('json')->success($data); + } + + + /** + * TODO 列表 + * @return \think\response\Json + * @author Qinii + * @day 3/23/21 + */ + public function getList() + { + [$page, $limit] = $this->getPage(); + $where = $this->request->params([['type',1],'date']); + $where['is_mer'] = $this->request->merId() ?? 0 ; + try { + $merchant = $this->request->merchant(); + }catch (\Exception $e){ + $merchant = []; + } + $data = $this->repository->getAdminList($where,$page, $limit,$merchant); + return app('json')->success($data); + } + + + /** + * TODO 详情 + * @param $type + * @return \think\response\Json + * @author Qinii + * @day 3/23/21 + */ + public function detail($type) + { + $date = $this->request->param('date'); + $where['date'] = empty($date) ? date('Y-m-d',time()) : $date ; + $where['is_mer'] = $this->request->merId() ?? 0 ; + if($this->request->merId()){ + $merchant = $this->request->merchant(); + $data = $this->repository->merDetail($type,$where,$merchant); + }else{ + $data = $this->repository->adminDetail($type,$where); + } + + return app('json')->success($data); + } + + /** + * TODO 导出文件 + * @param $type + * @author Qinii + * @day 3/25/21 + */ + public function exportDetail($type) + { + [$page, $limit] = $this->getPage(); + $date = $this->request->param('date'); + $where['date'] = empty($date) ? date('Y-m-d',time()) : $date ; + $where['type'] = $type; + $where['is_mer'] = $this->request->merId() ?? 0 ; + try { + $merchant = $this->request->merchant(); + }catch (\Exception $e){ + $merchant = []; + } + $data = app()->make(ExcelService::class)->exportFinancial($where,$page,$limit,$merchant); +// app()->make(ExcelRepository::class)->create($where, $this->request->adminId(), 'exportFinancial',$where['is_mer']); + return app('json')->success($data); + } + + /** + * TODO 流水统计 + * @return \think\response\Json + * @author Qinii + * @day 5/7/21 + */ + public function title() + { + $where = $this->request->params(['date']); + +// $data = $this->repository->getFiniancialTitle($this->request->merId(),$where); + $data = []; + return app('json')->success($data); + } + +} diff --git a/crmeb/listens/RefundOrderAgreeListen.php b/crmeb/listens/RefundOrderAgreeListen.php index 400805b2..2013ee2a 100644 --- a/crmeb/listens/RefundOrderAgreeListen.php +++ b/crmeb/listens/RefundOrderAgreeListen.php @@ -33,7 +33,7 @@ class RefundOrderAgreeListen extends TimerService implements ListenerInterface try { $make->adminRefund($id); } catch (\Exception $e) { - Log::info('自动退款失败' . var_export($id, true)); + Log::info('自动退款失败' . $e->getMessage()); } } }); diff --git a/route/merchant/accounts.php b/route/merchant/accounts.php index 56e1083b..60903088 100644 --- a/route/merchant/accounts.php +++ b/route/merchant/accounts.php @@ -162,6 +162,42 @@ Route::group(function () { ] ]); + + //转账账单管理 + Route::group('financial_record_transfer', function () { + //账单管理 + Route::get('lst', '/getList')->option([ + '_alias' => '列表', + ]); + Route::get('title', '/getTitle')->option([ + '_alias' => '统计', + ]); + Route::get('detail/:type', '/detail')->option([ + '_alias' => '详情', + ]); + Route::get('detail_export/:type', '/exportDetail')->option([ + '_alias' => '导出', + ]); + })->prefix('admin.system.merchant.FinancialRecordTransfer')->option([ + '_auth' => true, + '_path' => '/accounts/statement', + '_append'=> [ + [ + '_name' =>'merchantStoreExcelLst', + '_path' =>'/accounts/statement', + '_alias' => '导出列表', + '_auth' => true, + ], + [ + '_name' =>'merchantStoreExcelDownload', + '_path' =>'/accounts/statement', + '_alias' => '导出下载', + '_auth' => true, + ], + + ] + ]); + //发票 Route::group('store/receipt', function () { Route::get('lst', '/lst')->name('merchantOrderReceiptLst')->option([ From da986024b798b4e89127be66671cef2ab1c57a4f Mon Sep 17 00:00:00 2001 From: mkm <727897186@qq.com> Date: Tue, 26 Dec 2023 15:33:43 +0800 Subject: [PATCH 02/37] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FinancialRecordTransferRepository.php | 32 +++---------------- .../merchant/FinancialRecordTransfer.php | 2 ++ 2 files changed, 7 insertions(+), 27 deletions(-) diff --git a/app/common/repositories/system/merchant/FinancialRecordTransferRepository.php b/app/common/repositories/system/merchant/FinancialRecordTransferRepository.php index 01a2bff9..c5b80570 100644 --- a/app/common/repositories/system/merchant/FinancialRecordTransferRepository.php +++ b/app/common/repositories/system/merchant/FinancialRecordTransferRepository.php @@ -482,30 +482,8 @@ class FinancialRecordTransferRepository extends BaseRepository $financialType = ['refund_charge']; [$data['count_charge'], $data['number_charge']] = $this->dao->getDataByType($type, $where, $date, $financialType); - if ($merchant){ - switch ($merchant['type_id']) { - case 16: - $financialType1 = ['commission_to_town_refund']; - break; - case 15: - $financialType1 = ['commission_to_village_refund']; - break; - case 14: - $financialType1 = ['commission_to_service_team_refund']; - break; - case 11: - $financialType1 = ['commission_to_cloud_warehouse_refund']; - break; - case 10: - $financialType1 = ['commission_to_entry_merchant_refund']; - break; - default: - $financialType1 = []; - } - }else{ - //退款的 - $refund=['commission_to_town_refund','commission_to_village_refund','commission_to_service_team_refund','commission_to_cloud_warehouse_refund','commission_to_entry_merchant_refund']; - //分成的 + if (!$merchant){ + //分成的 $commission=['commission_to_town','commission_to_village','commission_to_service_team','commission_to_cloud_warehouse','commission_to_entry_merchant']; } if ($where['is_mer']) { //商户的 @@ -537,8 +515,8 @@ class FinancialRecordTransferRepository extends BaseRepository $number_1 = bcsub($data['number_order_charge'], $data['number_charge'], 2); //退回收入 refund_order + 退回佣金 - $number_2 = bcadd(bcadd($data['number_refund'], $data['number_coupon'], 2), $data['number_svipcoupon'], 2); - $data['count'] = $data['count_brokerage'] + $data['count_refund'] + $data['count_order_charge'] + $data['count_refund_brokerage'] + $data['count_svipcoupon'] + $data['count_auto_margin']-$data['count_charge']; + $number_2 = $data['number_refund']; + $data['count'] = $data['count_brokerage'] + $data['count_refund'] + $data['count_order_charge'] + $data['count_refund_brokerage']+ $data['count_auto_margin']-$data['count_charge']; $data['number'] = bcadd(bcadd($number3,bcadd($number_2, $number, 2),2), $number_1, 2); } else { //平台的 @@ -555,7 +533,7 @@ class FinancialRecordTransferRepository extends BaseRepository //付给服务团队和其他的佣金 - [$data['count_refund'], $data['number_refund']] = $this->dao->getDataByType($type, $where, $date, $refund); + [$data['count_refund'], $data['number_refund']] = $this->dao->getDataByType($type, $where, $date); [$data['count_commission'], $data['number_commission']] = $this->dao->getDataByType($type, $where, $date, $commission); $data['count_brokerage']+=$data['count_commission']-$data['count_refund']; diff --git a/app/controller/admin/system/merchant/FinancialRecordTransfer.php b/app/controller/admin/system/merchant/FinancialRecordTransfer.php index dea9bc37..5eb89753 100644 --- a/app/controller/admin/system/merchant/FinancialRecordTransfer.php +++ b/app/controller/admin/system/merchant/FinancialRecordTransfer.php @@ -32,6 +32,8 @@ class FinancialRecordTransfer extends BaseController public function lst() { + halt(1); + [$page, $limit] = $this->getPage(); $where = $this->request->params(['keyword', 'date', 'mer_id']); $merId = $this->request->merId(); From a11d58b0b883ae8585756257b080097e17d14036 Mon Sep 17 00:00:00 2001 From: mkm <727897186@qq.com> Date: Tue, 26 Dec 2023 15:44:07 +0800 Subject: [PATCH 03/37] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FinancialRecordTransferRepository.php | 22 ++----------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/app/common/repositories/system/merchant/FinancialRecordTransferRepository.php b/app/common/repositories/system/merchant/FinancialRecordTransferRepository.php index c5b80570..3e815a90 100644 --- a/app/common/repositories/system/merchant/FinancialRecordTransferRepository.php +++ b/app/common/repositories/system/merchant/FinancialRecordTransferRepository.php @@ -287,8 +287,6 @@ class FinancialRecordTransferRepository extends BaseRepository 'count' => $income['count'] . '笔', 'data' => [ ['订单支付', $income['number_order'] . '元', $income['count_order'] . '笔'], - ['退回优惠券补贴', $income['number_coupon'] . '元', $income['count_coupon'] . '笔'], - ['退回会员优惠券补贴', $income['number_svipcoupon'] . '元', $income['count_svipcoupon'] . '笔'], ] ]; $data['bill'] = [ @@ -305,8 +303,6 @@ class FinancialRecordTransferRepository extends BaseRepository ['应付商户金额', $expend['number_order'] . '元', $expend['count_order'] . '笔'], ['佣金', $expend['number_brokerage'] . '元', $expend['count_brokerage'] . '笔'], ['返还手续费', $expend['number_charge'] . '元', $expend['count_charge'] . '笔'], - ['优惠券补贴', $expend['number_coupon'] . '元', $expend['count_coupon'] . '笔'], - ['会员优惠券补贴', $expend['number_svipcoupon'] . '元', $expend['count_svipcoupon'] . '笔'], ] ]; $data['charge'] = [ @@ -343,8 +339,6 @@ class FinancialRecordTransferRepository extends BaseRepository 'count' => $income['count'] . '笔', 'data' => [ ['订单支付', $income['number_order'] . '元', $income['count_order'] . '笔'], - ['优惠券补贴', $income['number_coupon'] . '元', $income['count_coupon'] . '笔'], - ['会员优惠券补贴', $income['number_svipcoupon'] . '元', $income['count_svipcoupon'] . '笔'], ] ]; $data['expend'] = [ @@ -373,16 +367,6 @@ class FinancialRecordTransferRepository extends BaseRepository $expend['number_refund'] . '元', $expend['count_refund'] . '笔' ], - [ - '退还优惠券补贴', - $expend['number_coupon'] . '元', - $expend['count_coupon'] . '笔' - ], - [ - '退还会员优惠券补贴', - $expend['number_svipcoupon'] . '元', - $expend['count_svipcoupon'] . '笔' - ], ] ]; $data['charge'] = [ @@ -442,8 +426,6 @@ class FinancialRecordTransferRepository extends BaseRepository } else { $financialType = ['refund_platform_coupon']; } - [$data['count_coupon'], $data['number_coupon']] = $this->dao->getDataByType($type, $where, $date, $financialType); - if ($where['is_mer']) { $financialType = ['order_svip_coupon']; } else { @@ -452,7 +434,7 @@ class FinancialRecordTransferRepository extends BaseRepository [$data['count_svipcoupon'], $data['number_svipcoupon']] = $this->dao->getDataByType($type, $where, $date, $financialType); $data['count'] = $data['count_order']; - $data['number'] = bcadd($data['number_coupon'], $data['number_order'], 2); + $data['number'] =$data['number_order']; return $data; } @@ -540,7 +522,7 @@ class FinancialRecordTransferRepository extends BaseRepository $data['number_brokerage']+=$data['number_commission']-$data['number_refund']; $number = bcadd($data['number_brokerage'], $data['number_order'], 2); - $number_1 = bcadd(bcadd($number, $data['number_coupon'], 2), $data['number_svipcoupon'], 2); + $number_1 = bcadd($number, $data['number_svipcoupon'], 2); $data['count'] = $data['count_brokerage'] + $data['count_order'] + $data['count_charge']; $data['number'] = bcadd($number_1, $data['number_charge'], 2); From d684d0ac8e2d014f45af0e45a11220a8a7c5e840 Mon Sep 17 00:00:00 2001 From: mkm <727897186@qq.com> Date: Tue, 26 Dec 2023 16:29:28 +0800 Subject: [PATCH 04/37] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/StoreOtherOrderCreateRepository.php | 25 +------------------ .../store/order/StoreOtherOrderRepository.php | 11 -------- .../api/store/order/StoreOrderOther.php | 16 +----------- 3 files changed, 2 insertions(+), 50 deletions(-) diff --git a/app/common/repositories/store/order/StoreOtherOrderCreateRepository.php b/app/common/repositories/store/order/StoreOtherOrderCreateRepository.php index 17729ad2..05657c52 100644 --- a/app/common/repositories/store/order/StoreOtherOrderCreateRepository.php +++ b/app/common/repositories/store/order/StoreOtherOrderCreateRepository.php @@ -493,14 +493,6 @@ class StoreOtherOrderCreateRepository extends StoreOtherOrderRepository } else { $extend = []; } - $orderType = $orderInfo['order_type']; - if ($orderType == 0 && $pay_type == StoreGroupOrder::PAY_TYPE_CREDIT_BUY) { - throw new ValidateException('该商品不支持先货后款'); - } - if (!in_array($orderType, [0, 98, 99]) && (count($orderInfo['order']) > 1 || ($orderType != 10 && count($orderInfo['order'][0]['list']) > 1))) { - throw new ValidateException('活动商品请单独购买'); - } - $merchantCartList = $orderInfo['order']; $cartSpread = 0; $hasTake = false; @@ -737,21 +729,6 @@ class StoreOtherOrderCreateRepository extends StoreOtherOrderRepository Db::name('store_order_product_other')->insertAll($orderProduct); return $groupOrder; }); - foreach ($merchantCartList as $merchantCart) { - foreach ($merchantCart['list'] as $cart) { - if (($cart['productAttr']['stock'] - $cart['cart_num']) < (int)merchantConfig($merchantCart['mer_id'], 'mer_store_stock')) { - SwooleTaskService::merchant('notice', [ - 'type' => 'min_stock', - 'data' => [ - 'title' => '库存不足', - 'message' => $cart['product']['store_name'] . '(' . $cart['productAttr']['sku'] . ')库存不足', - 'id' => $cart['product']['product_id'] - ] - ], $merchantCart['mer_id']); - } - } - } - // Queue::push(SendSmsJob::class, ['tempId' => 'ORDER_CREATE', 'id' => $group->group_order_id]); - return $group; + return $this->paySuccess($group); } } diff --git a/app/common/repositories/store/order/StoreOtherOrderRepository.php b/app/common/repositories/store/order/StoreOtherOrderRepository.php index 4f935036..48aa6492 100644 --- a/app/common/repositories/store/order/StoreOtherOrderRepository.php +++ b/app/common/repositories/store/order/StoreOtherOrderRepository.php @@ -334,11 +334,6 @@ class StoreOtherOrderRepository extends BaseRepository ], $order->mer_id); } - app()->make(UserRepository::class)->update($groupOrder->uid, [ - 'pay_count' => Db::raw('pay_count+' . count($groupOrder->orderList)), - 'pay_price' => Db::raw('pay_price+' . $groupOrder->pay_price), - 'svip_save_money' => Db::raw('svip_save_money+' . $svipDiscount), - ]); $this->giveIntegral($groupOrder); if (count($profitsharing)) { $storeOrderProfitsharingRepository->insertAll($profitsharing); @@ -347,12 +342,6 @@ class StoreOtherOrderRepository extends BaseRepository $storeOrderStatusRepository->batchCreateLog($orderStatus); $groupOrder->save(); }); - - Queue::push(SendSmsJob::class, ['tempId' => 'ORDER_PAY_SUCCESS', 'id' => $groupOrder->group_order_id]); - Queue::push(SendSmsJob::class, ['tempId' => 'ADMIN_PAY_SUCCESS_CODE', 'id' => $groupOrder->group_order_id]); - Queue::push(UserBrokerageLevelJob::class, ['uid' => $groupOrder->uid, 'type' => 'pay_money', 'inc' => $groupOrder->pay_price]); - Queue::push(UserBrokerageLevelJob::class, ['uid' => $groupOrder->uid, 'type' => 'pay_num', 'inc' => 1]); - app()->make(UserBrokerageRepository::class)->incMemberValue($groupOrder->uid, 'member_pay_num', $groupOrder->group_order_id); } diff --git a/app/controller/api/store/order/StoreOrderOther.php b/app/controller/api/store/order/StoreOrderOther.php index 052d53e8..ab879fdc 100644 --- a/app/controller/api/store/order/StoreOrderOther.php +++ b/app/controller/api/store/order/StoreOrderOther.php @@ -16,7 +16,6 @@ namespace app\controller\api\store\order; use app\common\model\store\order\StoreGroupOrder; use app\common\repositories\delivery\DeliveryOrderRepository; -use app\common\repositories\store\order\StoreOrderCreateRepository; use app\common\repositories\store\order\StoreOtherOrderCreateRepository; use app\common\repositories\store\order\StoreOrderReceiptRepository; use app\validate\api\UserReceiptValidate; @@ -56,7 +55,7 @@ class StoreOrderOther extends BaseController $this->repository = $repository; } - public function v2CheckOrder(StoreCartRepository $cartRepository, StoreOrderCreateRepository $orderCreateRepository) + public function v2CheckOrder(StoreCartRepository $cartRepository, StoreOtherOrderCreateRepository $orderCreateRepository) { $cartId = (array)$this->request->param('cart_id', []); $addressId = (int)$this->request->param('address_id'); @@ -268,19 +267,6 @@ class StoreOrderOther extends BaseController return app('json')->success(['qrcode' => $this->repository->wxQrcode($id, $order->verify_code)]); } - /** - * 生成二维码 - */ - public function logisticsCode($id) - { - $storeInfo = Db::name('store_service')->where('uid', $this->request->uid())->find(); - if (!$storeInfo) - return app('json')->fail('商户信息有误'); - $order = $this->repository->getWhere(['order_id' => $id, 'mer_id' => $storeInfo['mer_id'], 'is_del' => 0]); - if (!$order) - return app('json')->fail('订单状态有误'); - return app('json')->success(['qrcode' => $this->repository->logisticsQrcode($id, $order->order_sn)]); - } public function del($id) { From ac02f0247fd8ca20a2dfa19c365789794112d60f Mon Sep 17 00:00:00 2001 From: mkm <727897186@qq.com> Date: Wed, 27 Dec 2023 09:52:55 +0800 Subject: [PATCH 05/37] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../store/order/StoreGroupOrderOtherDao.php | 101 +++++++++ .../order/StoreGroupOrderOtherRepository.php | 151 ++++++++++++++ .../order/StoreOtherOrderCreateRepository.php | 20 +- .../store/order/StoreOtherOrderRepository.php | 28 +-- app/controller/admin/order/OrderOther.php | 192 ++++++++++++++++++ route/admin/order.php | 46 +++++ 6 files changed, 495 insertions(+), 43 deletions(-) create mode 100644 app/common/dao/store/order/StoreGroupOrderOtherDao.php create mode 100644 app/common/repositories/store/order/StoreGroupOrderOtherRepository.php create mode 100644 app/controller/admin/order/OrderOther.php diff --git a/app/common/dao/store/order/StoreGroupOrderOtherDao.php b/app/common/dao/store/order/StoreGroupOrderOtherDao.php new file mode 100644 index 00000000..7697ea7a --- /dev/null +++ b/app/common/dao/store/order/StoreGroupOrderOtherDao.php @@ -0,0 +1,101 @@ + +// +---------------------------------------------------------------------- + + +namespace app\common\dao\store\order; + + +use app\common\dao\BaseDao; +use app\common\model\store\order\StoreGroupOrderOther; +use app\common\model\store\order\StoreOrderOther; + +/** + * Class StoreGroupOrderOtherDao + * @package app\common\dao\store\order + * @author xaboy + * @day 2020/6/9 + */ +class StoreGroupOrderOtherDao extends BaseDao +{ + + /** + * @return string + * @author xaboy + * @day 2020/6/9 + */ + protected function getModel(): string + { + return StoreGroupOrderOther::class; + } + + /** + * @param null $uid + * @return int + * @author xaboy + * @day 2020/6/11 + */ + public function orderNumber($uid = null, $productType = 0) + { + $storeOrderWhere = StoreOrderOther::where('activity_type', $productType); + return StoreGroupOrderOther::hasWhere('orderList', $storeOrderWhere)->when($uid, function ($query, $uid) { + $query->where('StoreGroupOrder.uid', $uid); + })->where('StoreGroupOrder.is_del', 0)->whereRaw("(StoreGroupOrder.paid=0 and status!=12) or (StoreGroupOrder.paid=1 and StoreGroupOrder.pay_type=8 and StoreOrder.status=2)")->count(); + } + + /** + * @param array $where + * @return \think\db\BaseQuery + * @author xaboy + * @day 2020/6/9 + */ + public function search(array $where) + { + return StoreGroupOrderOther::getDB()->alias('StoreGroupOrder')->when(isset($where['paid']) && $where['paid'] !== '', function ($query) use ($where) { + if ($where['paid'] == 0) { + $query->whereRaw("StoreGroupOrder.paid=0 or (StoreGroupOrder.paid=1 and StoreGroupOrder.pay_type=8)"); + } else { + $query->where('StoreGroupOrder.paid', $where['paid']); + } + })->when(isset($where['uid']) && $where['uid'] !== '', function ($query) use ($where) { + $query->where('StoreGroupOrder.uid', $where['uid']); + })->order('create_time DESC')->when(isset($where['is_del']) && $where['is_del'] !== '', function ($query) use ($where) { + $query->where('StoreGroupOrder.is_del', $where['is_del']); + }, function ($query) { + $query->where('StoreGroupOrder.is_del', 0); + }); + } + + /** + * @param $time + * @param bool $is_remind + * @return array + * @author xaboy + * @day 2020/6/9 + */ + public function getTimeOutIds($time, $is_remind = false) + { + return StoreGroupOrderOther::getDB()->where('is_del', 0)->where('paid', 0) + ->when($is_remind, function ($query) { + $query->where('is_remind', 0); + })->where('create_time', '<=', $time)->column('group_order_id'); + } + + public function isRemind($id) + { + return StoreGroupOrderOther::getDB()->where('group_order_id', $id)->update(['is_remind' => 1]); + } + + public function totalNowMoney($uid) + { + return StoreGroupOrderOther::getDB()->where('pay_type', 0)->where('uid', $uid)->sum('pay_price') ?: 0; + } +} diff --git a/app/common/repositories/store/order/StoreGroupOrderOtherRepository.php b/app/common/repositories/store/order/StoreGroupOrderOtherRepository.php new file mode 100644 index 00000000..7bc562f1 --- /dev/null +++ b/app/common/repositories/store/order/StoreGroupOrderOtherRepository.php @@ -0,0 +1,151 @@ + +// +---------------------------------------------------------------------- + + +namespace app\common\repositories\store\order; + + +use app\common\dao\store\order\StoreGroupOrderDao; +use app\common\model\store\order\StoreGroupOrderOther; +use app\common\model\store\order\StoreOrderOther; +use app\common\repositories\BaseRepository; +use think\db\exception\DataNotFoundException; +use think\model\Relation; + +/** + * Class StoreGroupOrderOtherRepository + * @package app\common\repositories\store\order + * @author xaboy + * @day 2020/6/8 + * @mixin StoreGroupOrderDao + */ +class StoreGroupOrderOtherRepository extends BaseRepository +{ + + public $getAll = false; + + /** + * StoreGroupOrderRepository constructor. + * @param StoreGroupOrderDao $dao + */ + public function __construct(StoreGroupOrderDao $dao) + { + $this->dao = $dao; + } + + /** + * @param array $where + * @param $page + * @param $limit + * @return array + * @throws \think\db\exception\DataNotFoundException + * @throws \think\db\exception\DbException + * @throws \think\db\exception\ModelNotFoundException + * @author xaboy + * @day 2020/6/10 + */ + public function getList(array $where, $page, $limit) + { + $query = StoreGroupOrderOther::getDB()->alias('StoreGroupOrder'); + if (isset($where['product_type'])) { + $storeOrderWhere = StoreOrderOther::where('activity_type', $where['product_type']); + $query->hasWhere('orderList', $storeOrderWhere); + } + $query->when(isset($where['paid']) && $where['paid'] !== '', function ($query) use ($where) { + if ($where['paid'] == 0) { + $query->whereRaw("(StoreGroupOrder.paid=0 and status!=12) or (StoreGroupOrder.paid=1 and StoreGroupOrder.pay_type=8 and StoreOrder.status=2)"); + } else { + $query->where('StoreGroupOrder.paid', $where['paid']); + } + })->when(isset($where['uid']) && $where['uid'] !== '', function ($query) use ($where) { + $query->where('StoreGroupOrder.uid', $where['uid']); + })->order('create_time DESC')->when(isset($where['is_del']) && $where['is_del'] !== '', function ($query) use ($where) { + $query->where('StoreGroupOrder.is_del', $where['is_del']); + }, function ($query) { + $query->where('StoreGroupOrder.is_del', 0); + }); + $count = $query->count(); + $groupList = $query->with(['orderList' => function (Relation $query) { + $query->field('order_id,group_order_id,activity_type,pay_price,status,mer_id')->with(['merchant' => function ($query) { + $query->field('mer_id,mer_name,settle_cycle,interest_rate'); + }, 'orderProduct','presellOrder']); + }, 'interest'])->page($page, $limit)->order('create_time DESC')->select(); + $list = []; + foreach ($groupList as $k => $item) { + $current = $item->toArray(); + if (!empty($item->interest)) { + $interest = $item->interest->calculateInterest(); + $current['interest']['total_amount'] = bcadd($item->interest->total_price, $interest, 2); + } else { + $current['interest']['total_amount'] = $item['total_price']; + } + $list[] = $current; + } + return compact('count', 'list'); + } + + /** + * @param $uid + * @param $id + * @return array|\think\Model|null + * @throws \think\db\exception\DataNotFoundException + * @throws \think\db\exception\DbException + * @throws \think\db\exception\ModelNotFoundException + * @author xaboy + * @day 2020/6/10 + */ + public function detail($id, $flag = true) + { + // 'paid' => 0 + $order = StoreGroupOrderOther::where('group_order_id', $id) + ->where('is_del', 0) + ->with(['orderList' => function (Relation $query) use ($flag) { + $query->when($flag, function ($query) { + $query->field('order_id,group_order_id,mer_id,order_sn,activity_type,pay_price,order_extend,order_type,is_virtual'); + })->with(['merchant' => function ($query) use ($flag) { + $flag && $query->field('mer_id,mer_name,settle_cycle,interest_rate'); + }, 'orderProduct', 'presellOrder']); + }, 'interest']) + ->order('create_time DESC')->append(['cancel_time', 'cancel_unix'])->find(); + if ($order['paid'] == 1 && $order['pay_type'] != 8) { + throw new DataNotFoundException('订单不存在或已取消'); + } + if (empty($order)) { + throw new DataNotFoundException('订单不存在或已取消'); + } + if (!empty($order->interest)) { + $interest = $order->interest->calculateInterest(); + $order->interest->interest = $interest; + $order->interest->total_amount = bcadd($order->interest->total_price, $interest, 2); + } + return $order; + } + + public function status($uid, $id) + { + return $this->search(['uid' => $uid])->where('group_order_id', $id)->append(['give_coupon'])->find(); + } + + /** + * @param $id + * @return array|\think\Model|null + * @throws \think\db\exception\DataNotFoundException + * @throws \think\db\exception\DbException + * @throws \think\db\exception\ModelNotFoundException + * @author xaboy + * @day 2020/6/10 + */ + public function getCancelDetail($id) + { + return $this->search(['paid' => 0, 'is_del' => 1])->where('group_order_id', $id)->with(['orderList.orderProduct'])->find(); + } +} diff --git a/app/common/repositories/store/order/StoreOtherOrderCreateRepository.php b/app/common/repositories/store/order/StoreOtherOrderCreateRepository.php index 05657c52..9a05ed0a 100644 --- a/app/common/repositories/store/order/StoreOtherOrderCreateRepository.php +++ b/app/common/repositories/store/order/StoreOtherOrderCreateRepository.php @@ -2,33 +2,19 @@ namespace app\common\repositories\store\order; -use app\common\dao\store\order\StoreCartDao; -use app\common\model\store\order\StoreGroupOrder; -use app\common\model\store\order\StoreOrder; -use app\common\model\system\merchant\Merchant; -use app\common\repositories\community\CommunityRepository; -use app\common\repositories\store\coupon\StoreCouponRepository; + use app\common\repositories\store\coupon\StoreCouponUserRepository; -use app\common\repositories\store\product\ProductAssistSkuRepository; use app\common\repositories\store\product\ProductAttrValueRepository; -use app\common\repositories\store\product\ProductGroupSkuRepository; -use app\common\repositories\store\product\ProductPresellSkuRepository; use app\common\repositories\store\product\ProductRepository; -use app\common\repositories\store\product\StoreDiscountRepository; -use app\common\repositories\store\StoreCategoryRepository; use app\common\repositories\system\merchant\MerchantRepository; use app\common\repositories\user\MemberinterestsRepository; use app\common\repositories\user\UserAddressRepository; -use app\common\repositories\user\UserBillRepository; use app\common\repositories\user\UserMerchantRepository; use app\common\repositories\user\UserRepository; use app\validate\api\OrderVirtualFieldValidate; use app\validate\api\UserAddressValidate; -use crmeb\jobs\SendSmsJob; -use crmeb\services\SwooleTaskService; use think\exception\ValidateException; use think\facade\Db; -use think\facade\Queue; class StoreOtherOrderCreateRepository extends StoreOtherOrderRepository { @@ -588,8 +574,6 @@ class StoreOtherOrderCreateRepository extends StoreOtherOrderRepository 'coupon_price' => bcadd($merchantCart['order']['coupon_price'], $merchantCart['order']['platform_coupon_price'], 2), 'platform_coupon_price' => $merchantCart['order']['platform_coupon_price'], 'pay_type' => $pay_type, - 'paid'=>1, - 'pay_time'=>date('Y-m-d H:i:s',time()), ]; $allUseCoupon = array_merge($allUseCoupon, $merchantCart['order']['useCouponIds']); $orderList[] = $_order; @@ -729,6 +713,6 @@ class StoreOtherOrderCreateRepository extends StoreOtherOrderRepository Db::name('store_order_product_other')->insertAll($orderProduct); return $groupOrder; }); - return $this->paySuccess($group); + return $group; } } diff --git a/app/common/repositories/store/order/StoreOtherOrderRepository.php b/app/common/repositories/store/order/StoreOtherOrderRepository.php index 48aa6492..8cac4675 100644 --- a/app/common/repositories/store/order/StoreOtherOrderRepository.php +++ b/app/common/repositories/store/order/StoreOtherOrderRepository.php @@ -11,51 +11,29 @@ // +---------------------------------------------------------------------- namespace app\common\repositories\store\order; -use app\common\dao\store\order\StoreCartDao; use app\common\dao\store\order\StoreOrderOtherDao; use app\common\model\store\order\StoreGroupOrderOther; -use app\common\model\store\order\StoreOtherOrder; use app\common\model\store\order\StoreOrderInterestOther; use app\common\model\store\order\StoreOrderOther; -use app\common\model\store\order\StoreOtherOrderInterest; use app\common\model\store\order\StoreRefundOrder; -use app\common\model\store\product\PurchaseRecord; use app\common\model\user\User; -use app\common\model\system\merchant\Merchant; use app\common\repositories\BaseRepository; -use app\common\repositories\delivery\DeliveryOrderRepository; -use app\common\repositories\store\coupon\StoreCouponRepository; -use app\common\repositories\store\coupon\StoreCouponUserRepository; -use app\common\repositories\store\product\ProductAssistSetRepository; -use app\common\repositories\store\product\ProductCopyRepository; -use app\common\repositories\store\product\ProductGroupBuyingRepository; -use app\common\repositories\store\product\ProductPresellSkuRepository; use app\common\repositories\store\product\ProductRepository; -use app\common\repositories\store\product\StoreDiscountRepository; use app\common\repositories\store\shipping\ExpressRepository; use app\common\repositories\store\StorePrinterRepository; -use app\common\repositories\store\StoreSeckillActiveRepository; use app\common\repositories\system\attachment\AttachmentRepository; use app\common\repositories\system\merchant\FinancialRecordRepository; use app\common\repositories\system\merchant\MerchantRepository; -use app\common\repositories\system\serve\ServeDumpRepository; use app\common\repositories\user\UserBillRepository; -use app\common\repositories\user\UserBrokerageRepository; use app\common\repositories\user\UserMerchantRepository; use app\common\repositories\user\UserRepository; -use crmeb\jobs\PayGiveCouponJob; -use crmeb\jobs\ProductImportJob; use crmeb\jobs\SendSmsJob; -use crmeb\jobs\SendGoodsCodeJob; -use crmeb\jobs\UserBrokerageLevelJob; use crmeb\services\CombinePayService; -use crmeb\services\CrmebServeServices; use crmeb\services\ExpressService; use crmeb\services\PayService; use crmeb\services\payTool\PayTool; use crmeb\services\printer\Printer; use crmeb\services\QrcodeService; -use crmeb\services\SpreadsheetExcelService; use crmeb\services\SwooleTaskService; use Exception; use FormBuilder\Factory\Elm; @@ -69,7 +47,6 @@ use think\facade\Log; use think\facade\Queue; use think\facade\Route; use think\Model; -use app\controller\admin\ProductLibrary; /**其他订单 @@ -191,7 +168,7 @@ class StoreOtherOrderRepository extends BaseRepository $i = 1; $isVipCoupon = app()->make(StoreGroupOrderRepository::class)->isVipCoupon($groupOrder); //订单记录 - $storeOrderStatusRepository = app()->make(StoreOtherOrderRepository::class); + $storeOrderStatusRepository = app()->make(StoreOrderStatusOtherRepository::class); $svipDiscount = 0; foreach ($groupOrder->orderList as $_k => $order) { $order->paid = 1; @@ -340,8 +317,9 @@ class StoreOtherOrderRepository extends BaseRepository } $financialRecordRepository->insertAll($finance); $storeOrderStatusRepository->batchCreateLog($orderStatus); - $groupOrder->save(); + $groupOrder->save(); }); + return true; } diff --git a/app/controller/admin/order/OrderOther.php b/app/controller/admin/order/OrderOther.php new file mode 100644 index 00000000..662052c8 --- /dev/null +++ b/app/controller/admin/order/OrderOther.php @@ -0,0 +1,192 @@ + +// +---------------------------------------------------------------------- + + +namespace app\controller\admin\order; + +use crmeb\basic\BaseController; +use app\common\repositories\store\ExcelRepository; +use app\common\repositories\system\merchant\MerchantRepository; +use app\common\repositories\store\order\StoreOtherOrderRepository as repository; +use app\common\repositories\store\order\StoreGroupOrderOtherRepository; +use crmeb\services\ExcelService; +use think\App; + +class OrderOther extends BaseController +{ + protected $repository; + + public function __construct(App $app, repository $repository) + { + parent::__construct($app); + $this->repository = $repository; + } + + + public function lst($id) + { + [$page, $limit] = $this->getPage(); + $where = $this->request->params(['date','order_sn','order_type','keywords','username','activity_type','group_order_sn','store_name']); + $where['reconciliation_type'] = $this->request->param('status', 1); + $where['mer_id'] = $id; + return app('json')->success($this->repository->adminMerGetList($where, $page, $limit)); + } + + public function markForm($id) + { + if (!$this->repository->getWhereCount([$this->repository->getPk() => $id])) + return app('json')->fail('数据不存在'); + return app('json')->success(formToData($this->repository->adminMarkForm($id))); + } + + public function mark($id) + { + if (!$this->repository->getWhereCount([$this->repository->getPk() => $id])) + return app('json')->fail('数据不存在'); + $data = $this->request->params(['admin_mark']); + $this->repository->update($id, $data); + return app('json')->success('备注成功'); + } + + public function title() + { + $where = $this->request->params(['type', 'date', 'mer_id','keywords','status','username','order_sn','is_trader','activity_type']); + return app('json')->success($this->repository->getStat($where, $where['status'])); + } + /** + * TODO + * @return mixed + * @author Qinii + * @day 2020-06-25 + */ + public function getAllList() + { + [$page, $limit] = $this->getPage(); + $where = $this->request->params(['type', 'date', 'mer_id','keywords','status','username','order_sn','is_trader','activity_type','group_order_sn','store_name']); + $data = $this->repository->adminGetList($where, $page, $limit); + return app('json')->success($data); + } + + public function takeTitle() + { + $where = $this->request->params(['date','order_sn','keywords','username','is_trader']); + $where['take_order'] = 1; + $where['status'] = ''; + $where['verify_date'] = $where['date']; + unset($where['date']); + return app('json')->success($this->repository->getStat($where, '')); + } + + + /** + * TODO + * @return mixed + * @author Qinii + * @day 2020-08-17 + */ + public function chart() + { + return app('json')->success($this->repository->OrderTitleNumber(null,null)); + } + + /** + * TODO 自提订单头部统计 + * @return mixed + * @author Qinii + * @day 2020-08-17 + */ + public function takeChart() + { + return app('json')->success($this->repository->OrderTitleNumber(null,1)); + } + + /** + * TODO 订单类型 + * @return mixed + * @author Qinii + * @day 2020-08-15 + */ + public function orderType() + { + return app('json')->success($this->repository->orderType([])); + } + + public function detail($id) + { + $data = $this->repository->getOne($id, null); + if (!$data) + return app('json')->fail('数据不存在'); + return app('json')->success($data); + } + + public function status($id) + { + [$page, $limit] = $this->getPage(); + $where = $this->request->params(['date','user_type']); + $where['id'] = $id; + return app('json')->success($this->repository->getOrderStatus($where, $page, $limit)); + } + + public function reList($id) + { + [$page, $limit] = $this->getPage(); + $where = ['reconciliation_id' => $id, 'type' => 0]; + return app('json')->success($this->repository->reconList($where, $page, $limit)); + } + + /** + * TODO 导出文件 + * @author Qinii + * @day 2020-07-30 + */ + public function excel() + { + $where = $this->request->params(['type', 'date', 'mer_id','keywords','status','username','order_sn','take_order']); + if($where['take_order']){ + $where['verify_date'] = $where['date']; + unset($where['date']); + } + [$page, $limit] = $this->getPage(); + $data = app()->make(ExcelService::class)->order($where, $page, $limit); + return app('json')->success($data); + } + + /** + * TODO + * @param $id + * @return \think\response\Json + * @author Qinii + * @day 2023/2/22 + */ + public function childrenList($id) + { + $data = $this->repository->childrenList($id, 0); + return app('json')->success($data); + } + + /** + * 财务更新订单 + */ + public function payOrder($id,$images,StoreGroupOrderOtherRepository $groupOrderRepository){ + $groupOrder = $groupOrderRepository->detail((int)$id, false); + if(!$images){ + return app('json')->fail('请上传凭证'); + } + $groupOrder->order_extend=json_encode(['corporate_voucher'=>$images],true); + $res=$this->repository->paySuccess($groupOrder); + if($res){ + return app('json')->success('操作成功'); + }else{ + return app('json')->fail('操作失败'); + } + } +} diff --git a/route/admin/order.php b/route/admin/order.php index 82dc3bda..cfdb6b9d 100644 --- a/route/admin/order.php +++ b/route/admin/order.php @@ -103,6 +103,52 @@ Route::group(function () { ] ]); + Route::group('order_other', function () { + Route::get('lst', 'OrderOther/getAllList')->option([ + '_alias' => '列表', + ]); + Route::post('pay_order', 'OrderOther/payOrder')->option([ + '_alias' => '财务提交订单', + ]); + Route::get('title', 'OrderOther/title')->option([ + '_alias' => '金额统计', + ]); + Route::get('express/:id', 'OrderOther/express')->option([ + '_alias' => '快递查询', + ]); + Route::get('chart', 'OrderOther/chart')->option([ + '_alias' => '头部统计', + ]); + Route::get('detail/:id', 'OrderOther/detail')->option([ + '_alias' => '详情', + ]); + Route::get('excel', 'OrderOther/Excel')->option([ + '_alias' => '导出', + ]); + Route::get('status/:id', 'OrderOther/status')->option([ + '_alias' => '记录', + ]); + Route::get('children/:id', 'OrderOther/childrenList')->option([ + '_alias' => '关联订单', + ]); + })->prefix('admin.order.')->option([ + '_path' => '/order/list', + '_auth' => true, + '_append'=> [ + [ + '_name' =>'systemStoreExcelLst', + '_path' =>'/order/list', + '_alias' => '导出列表', + '_auth' => true, + ], + [ + '_name' =>'systemStoreExcelDownload', + '_path' =>'/order/list', + '_alias' => '导出列表', + '_auth' => true, + ], + ] + ]); })->middleware(AllowOriginMiddleware::class) ->middleware(AdminTokenMiddleware::class, true) From 7d4a6cd99063e2ab2112a193f6041e155d3eca83 Mon Sep 17 00:00:00 2001 From: mkm <727897186@qq.com> Date: Wed, 27 Dec 2023 15:03:40 +0800 Subject: [PATCH 06/37] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=80=BB=E5=90=8E?= =?UTF-8?q?=E5=8F=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/system.html | 2 +- public/system/css/chunk-1d876dce.fba937dd.css | 1 + public/system/css/chunk-29dec33a.33f5eea5.css | 1 + public/system/css/chunk-2c3d31be.6acfa111.css | 1 + public/system/css/chunk-ba59a38c.0be586d0.css | 1 - public/system/js/app.83bbaf9a.js | 1 + public/system/js/app.9c180dc6.js | 1 - .../{chunk-11b8f190.1f189143.js => chunk-11b8f190.d5131099.js} | 2 +- public/system/js/chunk-1d876dce.22a8cdfd.js | 1 + .../{chunk-1e78143c.6c9c08f3.js => chunk-1e78143c.f4cba8f6.js} | 2 +- .../{chunk-218237e6.517b9c76.js => chunk-218237e6.d653d2ff.js} | 2 +- public/system/js/chunk-29dec33a.ce469047.js | 1 + public/system/js/chunk-2c3d31be.3b2f5990.js | 1 + .../{chunk-3d4c4bb1.83f1a425.js => chunk-3d4c4bb1.67b82feb.js} | 2 +- .../{chunk-410e017c.d7182903.js => chunk-410e017c.2e18423e.js} | 2 +- .../{chunk-51245996.093bc977.js => chunk-51245996.194edf2a.js} | 2 +- .../{chunk-57d1b2e8.271b576c.js => chunk-57d1b2e8.98a0946c.js} | 2 +- .../{chunk-58b7f33d.70832609.js => chunk-58b7f33d.791d96e0.js} | 2 +- public/system/js/chunk-7288b5a6.47623038.js | 1 - public/system/js/chunk-7288b5a6.b67343f1.js | 1 + .../{chunk-756fe09e.4c48e28c.js => chunk-756fe09e.8fdfe65d.js} | 2 +- public/system/js/chunk-ba59a38c.b78f22ee.js | 1 - .../js/{chunk-commons.7c9e3970.js => chunk-commons.d9b236cb.js} | 0 .../{chunk-dda55566.07f714a4.js => chunk-dda55566.f50ee890.js} | 2 +- public/system/js/chunk-def91e7e.5946f629.js | 1 + public/system/js/chunk-def91e7e.8cf574e1.js | 1 - ...{chunk-elementUI.a3375a70.js => chunk-elementUI.f8a187a2.js} | 0 27 files changed, 20 insertions(+), 16 deletions(-) create mode 100644 public/system/css/chunk-1d876dce.fba937dd.css create mode 100644 public/system/css/chunk-29dec33a.33f5eea5.css create mode 100644 public/system/css/chunk-2c3d31be.6acfa111.css delete mode 100644 public/system/css/chunk-ba59a38c.0be586d0.css create mode 100644 public/system/js/app.83bbaf9a.js delete mode 100644 public/system/js/app.9c180dc6.js rename public/system/js/{chunk-11b8f190.1f189143.js => chunk-11b8f190.d5131099.js} (74%) create mode 100644 public/system/js/chunk-1d876dce.22a8cdfd.js rename public/system/js/{chunk-1e78143c.6c9c08f3.js => chunk-1e78143c.f4cba8f6.js} (78%) rename public/system/js/{chunk-218237e6.517b9c76.js => chunk-218237e6.d653d2ff.js} (56%) create mode 100644 public/system/js/chunk-29dec33a.ce469047.js create mode 100644 public/system/js/chunk-2c3d31be.3b2f5990.js rename public/system/js/{chunk-3d4c4bb1.83f1a425.js => chunk-3d4c4bb1.67b82feb.js} (61%) rename public/system/js/{chunk-410e017c.d7182903.js => chunk-410e017c.2e18423e.js} (80%) rename public/system/js/{chunk-51245996.093bc977.js => chunk-51245996.194edf2a.js} (66%) rename public/system/js/{chunk-57d1b2e8.271b576c.js => chunk-57d1b2e8.98a0946c.js} (74%) rename public/system/js/{chunk-58b7f33d.70832609.js => chunk-58b7f33d.791d96e0.js} (80%) delete mode 100644 public/system/js/chunk-7288b5a6.47623038.js create mode 100644 public/system/js/chunk-7288b5a6.b67343f1.js rename public/system/js/{chunk-756fe09e.4c48e28c.js => chunk-756fe09e.8fdfe65d.js} (75%) delete mode 100644 public/system/js/chunk-ba59a38c.b78f22ee.js rename public/system/js/{chunk-commons.7c9e3970.js => chunk-commons.d9b236cb.js} (100%) rename public/system/js/{chunk-dda55566.07f714a4.js => chunk-dda55566.f50ee890.js} (61%) create mode 100644 public/system/js/chunk-def91e7e.5946f629.js delete mode 100644 public/system/js/chunk-def91e7e.8cf574e1.js rename public/system/js/{chunk-elementUI.a3375a70.js => chunk-elementUI.f8a187a2.js} (100%) diff --git a/public/system.html b/public/system.html index 702dc767..98627fef 100644 --- a/public/system.html +++ b/public/system.html @@ -1,3 +1,3 @@ -