From efb93e0e80ed9968a3cf9db5e75ad901d63be3c9 Mon Sep 17 00:00:00 2001 From: CQ <8051778+cq-hm@user.noreply.gitee.com> Date: Mon, 21 Jul 2025 09:34:04 +0800 Subject: [PATCH] fix --- niucloud/.env | 2 +- .../app/adminapi/controller/addon/Addon.php | 4 +- .../controller/addon/AddonDevelop.php | 6 +- .../app/adminapi/controller/addon/Backup.php | 4 +- .../app/adminapi/controller/dict/Dict.php | 9 +- niucloud/app/adminapi/controller/diy/Diy.php | 2 +- .../app/adminapi/controller/login/Login.php | 2 - .../adminapi/controller/member/CashOut.php | 4 +- .../app/adminapi/controller/member/Member.php | 8 +- .../adminapi/controller/niucloud/Cloud.php | 40 ++++ .../app/adminapi/controller/notice/NiuSms.php | 17 -- .../app/adminapi/controller/pay/Transfer.php | 2 +- .../app/adminapi/controller/site/Site.php | 118 +++++---- .../adminapi/controller/site/SiteGroup.php | 2 +- .../app/adminapi/controller/site/User.php | 1 - niucloud/app/adminapi/controller/sys/Area.php | 2 +- .../app/adminapi/controller/sys/Config.php | 5 +- .../app/adminapi/controller/sys/Export.php | 2 +- .../app/adminapi/controller/sys/Poster.php | 2 +- .../app/adminapi/controller/sys/Printer.php | 21 +- .../app/adminapi/controller/sys/Schedule.php | 15 ++ .../app/adminapi/controller/sys/Ueditor.php | 2 - .../app/adminapi/controller/verify/Verify.php | 2 +- .../adminapi/controller/weapp/Delivery.php | 2 +- niucloud/app/adminapi/middleware/AdminLog.php | 1 - niucloud/app/adminapi/route/home.php | 1 - niucloud/app/adminapi/route/niucloud.php | 6 + niucloud/app/adminapi/route/notice.php | 1 - niucloud/app/adminapi/route/site.php | 6 + niucloud/app/adminapi/route/sys.php | 2 + .../app/api/controller/member/Address.php | 5 +- niucloud/app/api/controller/pay/Transfer.php | 6 +- niucloud/app/api/controller/sys/Area.php | 1 - niucloud/app/api/controller/sys/Config.php | 42 +++- niucloud/app/api/controller/sys/Verify.php | 4 +- niucloud/app/api/controller/weapp/Serve.php | 2 +- niucloud/app/api/controller/weapp/Weapp.php | 2 +- niucloud/app/api/controller/wechat/Serve.php | 2 +- niucloud/app/api/controller/wechat/Wechat.php | 18 +- .../app/api/route/dispatch/BindDispatch.php | 1 + niucloud/app/api/route/route.php | 4 + niucloud/app/command/Resetpassword.php | 3 - niucloud/app/common.php | 37 ++- niucloud/app/dict/diy/PagesDict.php | 15 +- niucloud/app/dict/diy/TemplateDict.php | 4 +- niucloud/app/dict/diy_form/TemplateDict.php | 10 +- .../app/dict/member/MemberLoginTypeDict.php | 8 +- niucloud/app/dict/menu/admin.php | 2 +- niucloud/app/dict/menu/site.php | 34 +-- niucloud/app/dict/notice/NoticeTypeDict.php | 2 + niucloud/app/dict/pay/PayDict.php | 4 +- niucloud/app/dict/pay/RefundDict.php | 2 + niucloud/app/dict/pay/TransferDict.php | 2 +- niucloud/app/dict/schedule/schedule.php | 23 +- niucloud/app/dict/sys/ConfigKeyDict.php | 1 - niucloud/app/install/source/database.sql | 9 +- niucloud/app/job/notice/Notice.php | 2 - niucloud/app/job/pay/PayReturnTo.php | 3 +- .../job/schedule/AutoClearPosterAndQrcode.php | 124 ++++++++++ .../app/job/transfer/schedule/CheckFinish.php | 1 - .../wxoplatform/GetVersionUploadResult.php | 3 +- .../app/job/wxoplatform/SiteWeappCommit.php | 5 +- .../job/wxoplatform/VersionUploadSuccess.php | 3 +- .../job/wxoplatform/WeappAuthChangeAfter.php | 6 +- niucloud/app/job/wxoplatform/WeappCommit.php | 2 - .../job/wxoplatform/WechatAuthChangeAfter.php | 6 +- niucloud/app/lang/zh-cn/api.php | 2 + niucloud/app/lang/zh-cn/dict.php | 69 +++--- ...DiyFormRecordsFieldsExportDataListener.php | 7 +- .../listener/member/MemberAccountListener.php | 1 - .../listener/member/MemberLoginListener.php | 1 - .../member/MemberRegisterListener.php | 1 - .../app/listener/pay/PayNotifyListener.php | 1 - .../app/listener/poster/FriendspayPoster.php | 2 +- .../app/listener/system/AppInitListener.php | 1 - niucloud/app/listener/system/Poster.php | 2 - niucloud/app/listener/system/PosterType.php | 2 +- niucloud/app/model/dict/Dict.php | 2 + niucloud/app/model/diy/DiyTheme.php | 2 - .../app/model/diy_form/DiyFormRecords.php | 2 +- .../app/model/member/MemberAccountLog.php | 2 +- niucloud/app/model/pay/TransferScene.php | 1 - niucloud/app/model/site/Site.php | 1 - niucloud/app/model/site/SiteGroup.php | 2 +- niucloud/app/model/sys/SysPrinter.php | 4 + niucloud/app/model/sys/SysPrinterTemplate.php | 3 + niucloud/app/model/verify/Verify.php | 5 +- .../admin/addon/AddonDevelopService.php | 19 +- .../app/service/admin/addon/AddonService.php | 59 ++--- .../service/admin/auth/AuthSiteService.php | 5 + .../app/service/admin/auth/LoginService.php | 39 +-- .../app/service/admin/dict/DictService.php | 7 +- .../service/admin/diy/DiyConfigService.php | 2 +- niucloud/app/service/admin/diy/DiyService.php | 79 ++++-- .../service/admin/diy_form/DiyFormService.php | 13 +- .../admin/generator/core/WebEditGenerator.php | 10 +- .../generator/core/WebEditPageGenerator.php | 4 +- .../generator/core/WebIndexGenerator.php | 4 +- .../service/admin/home/AuthSiteService.php | 23 +- .../service/admin/member/AddressService.php | 1 - .../admin/member/MemberCashOutService.php | 2 +- .../admin/member/MemberConfigService.php | 2 - .../admin/member/MemberLevelService.php | 1 - .../service/admin/member/MemberService.php | 137 ++++++----- .../admin/member/MemberSignService.php | 17 +- .../admin/niucloud/NiucloudService.php | 30 +++ .../service/admin/notice/NiuSmsService.php | 60 +++-- .../service/admin/notice/NoticeService.php | 3 - .../app/service/admin/notice/SmsService.php | 1 - .../service/admin/pay/PayChannelService.php | 2 +- niucloud/app/service/admin/pay/PayService.php | 12 +- .../app/service/admin/pay/RefundService.php | 2 +- .../app/service/admin/pay/TransferService.php | 17 +- .../admin/schedule/ScheduleService.php | 11 + .../service/admin/site/SiteGroupService.php | 2 +- .../app/service/admin/site/SiteService.php | 225 ++++++++++-------- .../app/service/admin/stat/StatService.php | 2 +- .../service/admin/sys/AttachmentService.php | 1 + .../app/service/admin/sys/ExportService.php | 3 +- .../app/service/admin/sys/MenuService.php | 16 +- .../app/service/admin/sys/PosterService.php | 8 +- .../app/service/admin/sys/PrinterService.php | 3 +- .../admin/sys/PrinterTemplateService.php | 1 - .../app/service/admin/sys/RoleService.php | 2 +- .../admin/upgrade/BackupRecordsService.php | 11 +- .../service/admin/upgrade/BackupService.php | 4 +- .../service/admin/upgrade/ExecuteSqlTrait.php | 1 + .../admin/upgrade/UpgradeRecordsService.php | 4 +- .../service/admin/upgrade/UpgradeService.php | 28 +-- .../admin/upload/StorageConfigService.php | 1 - .../service/admin/upload/UploadService.php | 2 + .../service/admin/user/UserRoleService.php | 1 + .../app/service/admin/user/UserService.php | 10 +- .../service/admin/verify/VerifierService.php | 3 +- .../admin/weapp/WeappConfigService.php | 2 +- .../admin/weapp/WeappDeliveryService.php | 2 +- .../admin/weapp/WeappTemplateService.php | 1 - .../admin/wechat/WechatMediaService.php | 2 +- .../admin/wechat/WechatReplyService.php | 2 +- .../admin/wxoplatform/OplatformService.php | 6 +- .../admin/wxoplatform/WeappVersionService.php | 6 +- .../app/service/api/diy/DiyConfigService.php | 2 +- .../service/api/diy_form/DiyFormService.php | 9 +- .../app/service/api/login/AuthService.php | 6 +- .../app/service/api/login/LoginService.php | 49 ++++ .../app/service/api/login/RegisterService.php | 4 + .../api/member/MemberAccountService.php | 7 +- .../api/member/MemberCashOutService.php | 5 +- .../service/api/member/MemberLevelService.php | 9 +- niucloud/app/service/api/pay/PayService.php | 3 +- .../app/service/api/pay/TransferService.php | 21 +- niucloud/app/service/api/sys/AreaService.php | 2 +- niucloud/app/service/api/sys/TaskService.php | 4 +- .../app/service/api/verify/VerifyService.php | 11 +- .../api/weapp/WeappDeliveryService.php | 2 +- .../service/api/wechat/WechatAuthService.php | 18 ++ .../core/addon/CoreAddonCloudService.php | 10 +- .../addon/CoreAddonDevelopBuildService.php | 10 +- .../addon/CoreAddonDevelopDownloadService.php | 2 +- .../core/addon/CoreAddonDevelopService.php | 8 +- .../core/addon/CoreAddonDownloadService.php | 5 +- .../core/addon/CoreAddonInstallService.php | 5 +- niucloud/app/service/core/addon/WapTrait.php | 47 ++-- .../core/captcha/CoreCaptchaImgService.php | 1 - .../core/captcha/CoreCaptchaService.php | 1 - .../diy_form/CoreDiyFormConfigService.php | 7 +- .../diy_form/CoreDiyFormRecordsService.php | 2 +- .../core/member/CoreMemberAddressService.php | 1 + .../core/member/CoreMemberCashOutService.php | 3 +- .../core/member/CoreMemberConfigService.php | 2 +- .../core/member/CoreMemberLevelService.php | 2 +- .../service/core/member/CoreMemberService.php | 215 +++++++++-------- .../app/service/core/menu/CoreMenuService.php | 1 + .../core/niucloud/CoreCloudBuildService.php | 117 ++++----- .../core/niucloud/CoreModuleService.php | 21 +- .../service/core/notice/CoreNiuSmsService.php | 33 ++- .../service/core/pay/CorePayEventService.php | 4 +- .../app/service/core/pay/CorePayService.php | 31 ++- .../service/core/pay/CoreRefundService.php | 19 +- .../core/pay/CoreTransferSceneService.php | 11 +- .../service/core/pay/CoreTransferService.php | 10 +- .../core/paytype/CoreOfflineService.php | 8 +- .../service/core/poster/CorePosterService.php | 4 +- .../core/printer/CorePrinterService.php | 6 +- .../core/schedule/CoreScheduleService.php | 36 ++- .../app/service/core/site/CoreSiteService.php | 7 +- .../app/service/core/stat/CoreStatService.php | 2 - .../service/core/upload/CoreFetchService.php | 1 + .../service/core/upload/CoreImageService.php | 9 +- .../service/core/upload/CoreUploadService.php | 2 + .../service/core/verify/CoreVerifyService.php | 13 +- .../core/weapp/CoreWeappCloudService.php | 6 +- .../service/core/weapp/CoreWeappService.php | 4 +- .../core/wechat/CoreWechatMediaService.php | 2 +- .../core/wechat/CoreWechatMessageService.php | 14 +- .../service/core/wechat/CoreWechatService.php | 7 +- .../CoreOplatformConfigService.php | 1 - niucloud/app/upgrade/v011/Upgrade.php | 1 - niucloud/app/upgrade/v056/Upgrade.php | 1 - niucloud/app/upgrade/v111/upgrade.sql | 2 +- niucloud/app/upgrade/v112/upgrade.sql | 18 +- niucloud/app/upgrade/v113/Upgrade.php | 100 ++++++++ niucloud/app/upgrade/v113/upgrade.sql | 24 ++ niucloud/app/validate/addon/AddonDevelop.php | 1 - niucloud/app/validate/member/Member.php | 16 +- niucloud/composer.json | 2 +- niucloud/config/third_delivery.php | 28 --- niucloud/config/version.php | 4 +- niucloud/core/dict/SowCommunityGift.php | 43 ++++ niucloud/core/util/Queue.php | 4 + niucloud/core/util/niucloud/CloudService.php | 33 ++- .../kosinix/grafika/src/Grafika/Gd/Editor.php | 4 +- 212 files changed, 1789 insertions(+), 1047 deletions(-) create mode 100644 niucloud/app/job/schedule/AutoClearPosterAndQrcode.php create mode 100644 niucloud/app/upgrade/v113/Upgrade.php create mode 100644 niucloud/app/upgrade/v113/upgrade.sql delete mode 100644 niucloud/config/third_delivery.php create mode 100644 niucloud/core/dict/SowCommunityGift.php diff --git a/niucloud/.env b/niucloud/.env index 6c7e8ffa3..0049d05c7 100644 --- a/niucloud/.env +++ b/niucloud/.env @@ -1 +1 @@ -APP_DEBUG = true [APP] DEFAULT_TIMEZONE = Asia/Shanghai AUTH_KEY = {auth_key} [DATABASE] TYPE = mysql HOSTNAME = {dbhost} DATABASE = {dbname} USERNAME = {dbuser} PASSWORD = {dbpwd} HOSTPORT = {dbport} PREFIX = {dbprefix} CHARSET = utf8mb4 DEBUG = false [REDIS] REDIS_HOSTNAME = 127.0.0.1 PORT = 6379 REDIS_PASSWORD = SELECT = 0 [QUEUE] state = false [LANG] default_lang = zh-cn [SYSTEM] ADMIN_TOKEN_NAME = token API_TOKEN_NAME = token ADMIN_SITE_ID_NAME = site-id API_SITE_ID_NAME = site-id ADMIN_TOKEN_EXPIRE_TIME = 604800 API_TOKEN_EXPIRE_TIME = 2592000 LANG_NAME = lang CHANNEL_NAME = channel ADMIN_DOMAIN = WAP_DOMAIN = WEB_DOMAIN = [NIUCLOUD] code = secret = \ No newline at end of file +APP_DEBUG = true [APP] DEFAULT_TIMEZONE = Asia/Shanghai AUTH_KEY = {auth_key} [DATABASE] TYPE = mysql HOSTNAME = {dbhost} DATABASE = {dbname} USERNAME = {dbuser} PASSWORD = {dbpwd} HOSTPORT = {dbport} PREFIX = {dbprefix} CHARSET = utf8mb4 DEBUG = false [REDIS] REDIS_HOSTNAME = 127.0.0.1 PORT = 6379 REDIS_PASSWORD = SELECT = 0 [QUEUE] state = false [LANG] default_lang = zh-cn [SYSTEM] ADMIN_TOKEN_NAME = token API_TOKEN_NAME = token ADMIN_SITE_ID_NAME = site-id API_SITE_ID_NAME = site-id ADMIN_TOKEN_EXPIRE_TIME = 604800 API_TOKEN_EXPIRE_TIME = 86400 LANG_NAME = lang CHANNEL_NAME = channel ADMIN_DOMAIN = WAP_DOMAIN = WEB_DOMAIN = [NIUCLOUD] code = secret = \ No newline at end of file diff --git a/niucloud/app/adminapi/controller/addon/Addon.php b/niucloud/app/adminapi/controller/addon/Addon.php index 350ae9a5d..9d3def50b 100644 --- a/niucloud/app/adminapi/controller/addon/Addon.php +++ b/niucloud/app/adminapi/controller/addon/Addon.php @@ -80,7 +80,7 @@ class Addon extends BaseAdminController * 获取云安装日志 * @description 获取云安装日志 * @param $addon - * @return mixed + * @return Response */ public function cloudInstallLog($addon) { return success(data:(new AddonService())->cloudInstallLog($addon)); @@ -101,7 +101,7 @@ class Addon extends BaseAdminController * 取消安装 * @description 取消安装 * @param $addon - * @return mixed + * @return Response */ public function cancleInstall($addon) { diff --git a/niucloud/app/adminapi/controller/addon/AddonDevelop.php b/niucloud/app/adminapi/controller/addon/AddonDevelop.php index 84c3a9113..228e2df7e 100644 --- a/niucloud/app/adminapi/controller/addon/AddonDevelop.php +++ b/niucloud/app/adminapi/controller/addon/AddonDevelop.php @@ -75,7 +75,7 @@ class AddonDevelop extends BaseAdminController /** * 开发插件更新 * @description 开发插件更新 - * @param string $id + * @param string $key * @return Response */ public function edit(string $key) @@ -101,7 +101,7 @@ class AddonDevelop extends BaseAdminController /** * 删除开发插件 * @description 删除开发插件 - * @param $key + * @param string $key * @return Response */ public function del(string $key) @@ -114,7 +114,7 @@ class AddonDevelop extends BaseAdminController * 校验key是否被占用 * @description 校验key是否被占用 * @param $key - * @return void + * @return Response */ public function checkKey($key) { diff --git a/niucloud/app/adminapi/controller/addon/Backup.php b/niucloud/app/adminapi/controller/addon/Backup.php index 3eaa4b6e2..cbf3a91b9 100644 --- a/niucloud/app/adminapi/controller/addon/Backup.php +++ b/niucloud/app/adminapi/controller/addon/Backup.php @@ -78,7 +78,7 @@ class Backup extends BaseAdminController /** * 恢复备份 * @description 恢复备份 - * @return Response + * @return array */ public function restoreBackup() { @@ -107,7 +107,7 @@ class Backup extends BaseAdminController /** * 手动备份 * @description 手动备份 - * @return Response + * @return array */ public function manualBackup() { diff --git a/niucloud/app/adminapi/controller/dict/Dict.php b/niucloud/app/adminapi/controller/dict/Dict.php index 384e5822d..c7ec9d2ee 100644 --- a/niucloud/app/adminapi/controller/dict/Dict.php +++ b/niucloud/app/adminapi/controller/dict/Dict.php @@ -13,6 +13,7 @@ namespace app\adminapi\controller\dict; use core\base\BaseAdminController; use app\service\admin\dict\DictService; +use think\Response; /** @@ -83,8 +84,8 @@ class Dict extends BaseAdminController /** * 数据字典删除 * @description 数据字典删除 - * @param $id 数据字典id - * @return \think\Response + * @param int $id 数据字典id + * @return Response */ public function del(int $id){ (new DictService())->del($id); @@ -118,8 +119,8 @@ class Dict extends BaseAdminController /** * 数据字典详情 * @description 数据字典详情 - * @param key 数据字典关键字 - * @return \think\Response + * @param string $type + * @return Response */ public function getKeyInfo(string $type){ $res = (new DictService())->getKeyInfo($type); diff --git a/niucloud/app/adminapi/controller/diy/Diy.php b/niucloud/app/adminapi/controller/diy/Diy.php index f9f74ad2c..8ad6dfb61 100644 --- a/niucloud/app/adminapi/controller/diy/Diy.php +++ b/niucloud/app/adminapi/controller/diy/Diy.php @@ -369,7 +369,7 @@ class Diy extends BaseAdminController /** * 删除自定义主题配色 * @description 删除自定义主题配色 - * @param $id + * @param int $id * @return Response */ public function delDiyTheme(int $id) diff --git a/niucloud/app/adminapi/controller/login/Login.php b/niucloud/app/adminapi/controller/login/Login.php index 035887685..1ed5cc560 100644 --- a/niucloud/app/adminapi/controller/login/Login.php +++ b/niucloud/app/adminapi/controller/login/Login.php @@ -13,7 +13,6 @@ namespace app\adminapi\controller\login; use app\service\admin\auth\ConfigService; use app\service\admin\auth\LoginService; -use app\service\core\addon\WapTrait; use core\base\BaseAdminController; use think\Response; @@ -25,7 +24,6 @@ use think\Response; */ class Login extends BaseAdminController { - use WapTrait; /** * 登录 diff --git a/niucloud/app/adminapi/controller/member/CashOut.php b/niucloud/app/adminapi/controller/member/CashOut.php index d1611182a..71374ac96 100644 --- a/niucloud/app/adminapi/controller/member/CashOut.php +++ b/niucloud/app/adminapi/controller/member/CashOut.php @@ -135,7 +135,7 @@ class CashOut extends BaseAdminController /** * 校验数组是否 * @description 校验数组是否 - * @return void + * @return Response */ public function checkTransferStatus($id){ (new MemberCashOutService())->checkTransferStatus($id); @@ -146,7 +146,7 @@ class CashOut extends BaseAdminController * 取消 * @description 取消 * @param $id - * @return void + * @return Response */ public function cancel($id){ diff --git a/niucloud/app/adminapi/controller/member/Member.php b/niucloud/app/adminapi/controller/member/Member.php index 0e0ba8d58..c597258f6 100644 --- a/niucloud/app/adminapi/controller/member/Member.php +++ b/niucloud/app/adminapi/controller/member/Member.php @@ -231,7 +231,7 @@ class Member extends BaseAdminController /** * 获取会员权益字典 * @description 获取会员权益字典 - * @return mixed + * @return Response */ public function getMemberBenefitsDict() { @@ -241,7 +241,7 @@ class Member extends BaseAdminController /** * 获取会员礼包字典 * @description 获取会员礼包字典 - * @return array|null + * @return Response */ public function getMemberGiftDict() { @@ -251,7 +251,7 @@ class Member extends BaseAdminController /** * 获取成长值规则字典 * @description 获取成长值规则字典 - * @return array|null + * @return Response */ public function getGrowthRuleDict() { @@ -261,7 +261,7 @@ class Member extends BaseAdminController /** * 获取积分规则字典 * @description 获取积分规则字典 - * @return array|null + * @return Response */ public function getPointRuleDict() { diff --git a/niucloud/app/adminapi/controller/niucloud/Cloud.php b/niucloud/app/adminapi/controller/niucloud/Cloud.php index a088e1a10..75ce1b0f2 100644 --- a/niucloud/app/adminapi/controller/niucloud/Cloud.php +++ b/niucloud/app/adminapi/controller/niucloud/Cloud.php @@ -11,8 +11,10 @@ namespace app\adminapi\controller\niucloud; +use app\service\admin\niucloud\NiucloudService; use app\service\core\niucloud\CoreCloudBuildService; use core\base\BaseAdminController; +use core\util\niucloud\CloudService; /** * 云编译 @@ -66,4 +68,42 @@ class Cloud extends BaseAdminController public function buildPreCheck() { return success(data:(new CoreCloudBuildService())->buildPreCheck()); } + + /** + * 连通测试 + * @description 连通测试 + * @return \think\Response + */ + public function connectTest() + { + $data = $this->request->params([ + [ 'url', '' ], + ]); + $is_connected = (new CloudService(true,$data['url']))->is_connected; + return success('SUCCESS',$is_connected); + } + + /** + * 设置本地地址 + * @description 连通测试 + * @return \think\Response + */ + public function setLocalCloudCompileConfig() + { + $data = $this->request->params([ + [ 'url', '' ], + [ 'is_open', 0 ], + ]); + return success('SUCCESS',(new NiucloudService())->setLocalCloudCompileConfig($data)); + } + + /** + * 获取本地地址 + * @description 连通测试 + * @return \think\Response + */ + public function getLocalCloudCompileConfig() + { + return success('SUCCESS',(new NiucloudService())->getLocalCloudCompileConfig()); + } } diff --git a/niucloud/app/adminapi/controller/notice/NiuSms.php b/niucloud/app/adminapi/controller/notice/NiuSms.php index 2712faf63..7cf735d57 100644 --- a/niucloud/app/adminapi/controller/notice/NiuSms.php +++ b/niucloud/app/adminapi/controller/notice/NiuSms.php @@ -208,23 +208,6 @@ class NiuSms extends BaseAdminController return success($data); } - /** - * 忘记密码 - * @description 忘记密码 - * @param $username - * @return Response - */ - public function forgetPassword($username) - { - $params = $this->request->params([ - ['mobile', ''], - ['code', ''], - ['key', ''], - ]); - $data = (new NiuSmsService())->forgetPassword($username, $params); - return success($data); - } - /** * 签名列表 * @description 签名列表 diff --git a/niucloud/app/adminapi/controller/pay/Transfer.php b/niucloud/app/adminapi/controller/pay/Transfer.php index b895cdbb8..81255d1f7 100644 --- a/niucloud/app/adminapi/controller/pay/Transfer.php +++ b/niucloud/app/adminapi/controller/pay/Transfer.php @@ -35,7 +35,7 @@ class Transfer extends BaseAdminController * 设置场景id * @description 设置场景id * @param $scene - * @return void + * @return \think\Response */ public function setSceneId($scene){ $data = $this->request->params([ diff --git a/niucloud/app/adminapi/controller/site/Site.php b/niucloud/app/adminapi/controller/site/Site.php index 2b12d350f..3f88c7079 100644 --- a/niucloud/app/adminapi/controller/site/Site.php +++ b/niucloud/app/adminapi/controller/site/Site.php @@ -14,6 +14,7 @@ namespace app\adminapi\controller\site; use app\dict\site\SiteDict; use app\service\admin\auth\AuthSiteService; use app\service\admin\site\SiteService; +use app\service\api\captcha\CaptchaService; use core\base\BaseAdminController; use think\Response; @@ -33,15 +34,15 @@ class Site extends BaseAdminController public function lists() { $data = $this->request->params([ - [ 'keywords', '' ], - [ 'status', "" ], - [ 'group_id', 0 ], - [ 'create_time', [] ], - [ 'expire_time', [] ], - [ 'app', '' ], - [ 'site_domain', '' ] + ['keywords', ''], + ['status', ""], + ['group_id', 0], + ['create_time', []], + ['expire_time', []], + ['app', ''], + ['site_domain', ''] ]); - return success(( new SiteService() )->getPage($data)); + return success((new SiteService())->getPage($data)); } /** @@ -52,7 +53,7 @@ class Site extends BaseAdminController */ public function info(int $id) { - return success(( new SiteService() )->getInfo($id)); + return success((new SiteService())->getInfo($id)); } /** @@ -64,19 +65,19 @@ class Site extends BaseAdminController public function add() { $data = $this->request->params([ - [ 'site_name', '' ], - [ 'uid', 0 ], - [ 'username', '' ], - [ 'real_name', '' ], - [ 'password', '' ], - [ 'group_id', 0 ], - [ 'expire_time', 0 ], - [ 'site_domain', '' ], + ['site_name', ''], + ['uid', 0], + ['username', ''], + ['real_name', ''], + ['password', ''], + ['group_id', 0], + ['expire_time', 0], + ['site_domain', ''], ]); $this->validate($data, 'app\validate\site\Site.add'); - if (empty($data[ 'uid' ])) $this->validate($data, 'app\validate\sys\User.add'); - $site_id = ( new SiteService() )->add($data); - return success('ADD_SUCCESS', [ 'site_id' => $site_id ]); + if (empty($data['uid'])) $this->validate($data, 'app\validate\sys\User.add'); + $site_id = (new SiteService())->add($data); + return success('ADD_SUCCESS', ['site_id' => $site_id]); } /** @@ -96,7 +97,7 @@ class Site extends BaseAdminController */ public function menu() { - return success(( new AuthSiteService() )->getMenuList(1, 1, 'all', 0)); + return success((new AuthSiteService())->getMenuList(1, 1, 'all', 0)); } /** @@ -106,9 +107,9 @@ class Site extends BaseAdminController public function closeSite($id) { $data = $this->request->params([ - [ 'status', SiteDict::CLOSE ], + ['status', SiteDict::CLOSE], ]); - ( new SiteService() )->edit($id, $data); + (new SiteService())->edit($id, $data); return success(); } @@ -119,17 +120,17 @@ class Site extends BaseAdminController public function edit($id) { $data = $this->request->params([ - [ 'site_name', '' ], - [ 'uid', 0 ], - [ 'username', '' ], - [ 'real_name', '' ], - [ 'password', '' ], - [ 'group_id', 0 ], - [ 'expire_time', 0 ], - [ 'site_domain', '' ], + ['site_name', ''], + ['uid', 0], + ['username', ''], + ['real_name', ''], + ['password', ''], + ['group_id', 0], + ['expire_time', 0], + ['site_domain', ''], ]); - $this->validate(array_merge($data, [ 'site_id' => $id ]), 'app\validate\site\Site.edit'); - ( new SiteService() )->edit($id, $data); + $this->validate(array_merge($data, ['site_id' => $id]), 'app\validate\site\Site.edit'); + (new SiteService())->edit($id, $data); return success('MODIFY_SUCCESS'); } @@ -141,7 +142,7 @@ class Site extends BaseAdminController */ public function del($id) { - ( new SiteService() )->del($id); + (new SiteService())->del($id); return success('DELETE_SUCCESS'); } @@ -152,9 +153,9 @@ class Site extends BaseAdminController public function openSite($id) { $data = $this->request->params([ - [ 'status', SiteDict::ON ], + ['status', SiteDict::ON], ]); - ( new SiteService() )->edit($id, $data); + (new SiteService())->edit($id, $data); return success(); } @@ -171,20 +172,20 @@ class Site extends BaseAdminController public function addons() { $data = $this->request->params([ - [ 'title', '' ], + ['title', ''], ]); - $data = ( new SiteService() )->getSiteAddons($data); - return success(data:$data); + $data = (new SiteService())->getSiteAddons($data); + return success(data: $data); } public function showApp() { - return success(( new SiteService() )->getShowAppTools()); + return success((new SiteService())->getShowAppTools()); } public function showMarketing() { - return success(( new SiteService() )->getShowMarketingTools()); + return success((new SiteService())->getShowMarketingTools()); } /** @@ -195,9 +196,40 @@ class Site extends BaseAdminController public function siteInit() { $data = $this->request->params([ - [ 'site_id', '' ], + ['site_id', ''], ]); - return success('SUCCESS', ( new SiteService() )->siteInit($data)); + return success('SUCCESS', (new SiteService())->siteInit($data)); + } + + /** + * @description 设置是否允许切换站点 + * @return Response + */ + public function setIsAllowChangeSite() + { + $data = $this->request->params([ + ['is_allow', 1], + ]); + (new SiteService())->setIsAllowChangeSite($data['is_allow']); + return success('SUCCESS'); + } + + /** + * @description 获取是否允许切换站点 + * @return Response + */ + public function getIsAllowChangeSite() + { + return success('SUCCESS', (new SiteService())->getIsAllowChangeSite()); + } + + /** + * 创建验证码 + * @return Response + */ + public function captcha() + { + return success(( new CaptchaService() )->create()); } diff --git a/niucloud/app/adminapi/controller/site/SiteGroup.php b/niucloud/app/adminapi/controller/site/SiteGroup.php index e661e94d3..e1cee83ab 100644 --- a/niucloud/app/adminapi/controller/site/SiteGroup.php +++ b/niucloud/app/adminapi/controller/site/SiteGroup.php @@ -107,7 +107,7 @@ class SiteGroup extends BaseAdminController $data = $this->request->params([ ['app', ''], ]); - return success((new SiteGroupService())->getAll($data)); + return success((new SiteGroupService())->getAll()); } /** diff --git a/niucloud/app/adminapi/controller/site/User.php b/niucloud/app/adminapi/controller/site/User.php index 3b877f7e8..e493e4d7b 100644 --- a/niucloud/app/adminapi/controller/site/User.php +++ b/niucloud/app/adminapi/controller/site/User.php @@ -13,7 +13,6 @@ namespace app\adminapi\controller\site; use app\dict\sys\UserDict; use app\service\admin\site\SiteUserService; -use app\service\admin\user\UserService; use core\base\BaseAdminController; use Exception; use think\Response; diff --git a/niucloud/app/adminapi/controller/sys/Area.php b/niucloud/app/adminapi/controller/sys/Area.php index 9a06bc740..0976f6a0f 100644 --- a/niucloud/app/adminapi/controller/sys/Area.php +++ b/niucloud/app/adminapi/controller/sys/Area.php @@ -74,7 +74,7 @@ class Area extends BaseAdminController /** * 根据code获取地址信息 * @description 根据code获取地址信息 - * @return void + * @return Response */ public function areaByAreaCode(string $code) { return success((new AreaService())->getAreaByAreaCode($code)); diff --git a/niucloud/app/adminapi/controller/sys/Config.php b/niucloud/app/adminapi/controller/sys/Config.php index 2f6f707c4..e89b15a5e 100644 --- a/niucloud/app/adminapi/controller/sys/Config.php +++ b/niucloud/app/adminapi/controller/sys/Config.php @@ -57,7 +57,10 @@ class Config extends BaseAdminController [ "front_end_name", "" ], [ "front_end_logo", "" ], [ "front_end_icon", "" ], - [ "icon", "" ] + [ "icon", "" ], + [ "meta_title", "" ], + [ "meta_desc", "" ], + [ "meta_keyword", "" ], ]); $this->validate($data, 'app\validate\site\Site.edit'); ( new ConfigService() )->setWebSite($data); diff --git a/niucloud/app/adminapi/controller/sys/Export.php b/niucloud/app/adminapi/controller/sys/Export.php index c99bbbbc3..c8ac6731a 100644 --- a/niucloud/app/adminapi/controller/sys/Export.php +++ b/niucloud/app/adminapi/controller/sys/Export.php @@ -79,7 +79,7 @@ class Export extends BaseAdminController /** * 获取导出状态列表 * @description 获取导出状态列表 - * @param string $type + * @return Response */ public function getExportStatus() { diff --git a/niucloud/app/adminapi/controller/sys/Poster.php b/niucloud/app/adminapi/controller/sys/Poster.php index 2e36177a1..0c7562b8c 100644 --- a/niucloud/app/adminapi/controller/sys/Poster.php +++ b/niucloud/app/adminapi/controller/sys/Poster.php @@ -191,7 +191,7 @@ class Poster extends BaseAdminController /** * 获取自定义海报预览 * @description 获取自定义海报预览 - * @return array|\think\Response + * @return \think\Response */ public function preview() { diff --git a/niucloud/app/adminapi/controller/sys/Printer.php b/niucloud/app/adminapi/controller/sys/Printer.php index 2ee8f23d8..b3867bbe3 100644 --- a/niucloud/app/adminapi/controller/sys/Printer.php +++ b/niucloud/app/adminapi/controller/sys/Printer.php @@ -14,6 +14,7 @@ namespace app\adminapi\controller\sys; use app\service\admin\sys\PrinterService; use app\service\admin\sys\PrinterTemplateService; use core\base\BaseAdminController; +use think\Response; /** @@ -90,8 +91,8 @@ class Printer extends BaseAdminController /** * 小票打印机编辑 * @description 小票打印机编辑 - * @param $id 小票打印机id - * @return \think\Response + * @param int $id 小票打印机id + * @return Response */ public function edit(int $id) { @@ -131,8 +132,8 @@ class Printer extends BaseAdminController /** * 小票打印机删除 * @description 小票打印机删除 - * @param $id 小票打印机id - * @return \think\Response + * @param int $id 小票打印机id + * @return Response */ public function del(int $id) { @@ -200,8 +201,8 @@ class Printer extends BaseAdminController /** * 小票打印模板编辑 * @description 小票打印模板编辑 - * @param $id 小票打印模板id - * @return \think\Response + * @param int $id 小票打印模板id + * @return Response */ public function templateEdit(int $id) { @@ -218,8 +219,8 @@ class Printer extends BaseAdminController /** * 小票打印模板删除 * @description 小票打印模板删除 - * @param $id 小票打印模板id - * @return \think\Response + * @param int $id 小票打印模板id + * @return Response */ public function templateDel(int $id) { @@ -230,7 +231,7 @@ class Printer extends BaseAdminController /** * 获取小票打印模板类型 * @description 获取小票打印模板类型 - * @return array|\think\Response + * @return \think\Response */ public function getType() { @@ -240,7 +241,7 @@ class Printer extends BaseAdminController /** * 获取小票打印机设备品牌 * @description 获取小票打印机设备品牌 - * @return array|\think\Response + * @return \think\Response */ public function getBrand() { diff --git a/niucloud/app/adminapi/controller/sys/Schedule.php b/niucloud/app/adminapi/controller/sys/Schedule.php index c39f54db2..c80564735 100644 --- a/niucloud/app/adminapi/controller/sys/Schedule.php +++ b/niucloud/app/adminapi/controller/sys/Schedule.php @@ -154,4 +154,19 @@ class Schedule extends BaseAdminController return fail('FAIL'); } } + + /** + * 重置定时任务 + * @description 重置定时任务 + * @return Response + */ + public function resetSchedule() + { + $res = (new ScheduleService())->resetSchedule(); + if ($res) { + return success('SUCCESS'); + } else { + return fail('FAIL'); + } + } } diff --git a/niucloud/app/adminapi/controller/sys/Ueditor.php b/niucloud/app/adminapi/controller/sys/Ueditor.php index 68ca3083c..135c1390b 100644 --- a/niucloud/app/adminapi/controller/sys/Ueditor.php +++ b/niucloud/app/adminapi/controller/sys/Ueditor.php @@ -128,7 +128,6 @@ class Ueditor extends BaseAdminController 'title' => $upload_res['url'], 'original' => $upload_res['url'], ], 'json', 200); - break; case 'video': $upload_res = $upload_service->video($data['file']); return Response::create([ @@ -137,7 +136,6 @@ class Ueditor extends BaseAdminController 'title' => $upload_res['url'], 'original' => $upload_res['url'], ], 'json', 200); - break; } } } diff --git a/niucloud/app/adminapi/controller/verify/Verify.php b/niucloud/app/adminapi/controller/verify/Verify.php index f6284b26c..a60ab3d2e 100644 --- a/niucloud/app/adminapi/controller/verify/Verify.php +++ b/niucloud/app/adminapi/controller/verify/Verify.php @@ -43,7 +43,7 @@ class Verify extends BaseAdminController /** * 核销信息 * @description 核销信息 - * @param int $order_id + * @param string $verify_code * @return Response */ public function detail(string $verify_code) diff --git a/niucloud/app/adminapi/controller/weapp/Delivery.php b/niucloud/app/adminapi/controller/weapp/Delivery.php index 3a10c871a..bbc1a99dd 100644 --- a/niucloud/app/adminapi/controller/weapp/Delivery.php +++ b/niucloud/app/adminapi/controller/weapp/Delivery.php @@ -24,7 +24,7 @@ class Delivery extends BaseAdminController /** * 查询小程序是否已开通发货信息管理服务 * @description 查询小程序是否已开通发货信息管理服务 - * @return bool + * @return \think\Response * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException */ public function getIsTradeManaged() diff --git a/niucloud/app/adminapi/middleware/AdminLog.php b/niucloud/app/adminapi/middleware/AdminLog.php index 17e8d0233..bf6f38bd9 100644 --- a/niucloud/app/adminapi/middleware/AdminLog.php +++ b/niucloud/app/adminapi/middleware/AdminLog.php @@ -16,7 +16,6 @@ use app\Request; use app\service\admin\site\UserLogService; use Closure; use ReflectionClass; -use think\facade\Route; /** * admin用户操作日志 diff --git a/niucloud/app/adminapi/route/home.php b/niucloud/app/adminapi/route/home.php index 23e6b1b3e..222faba0e 100644 --- a/niucloud/app/adminapi/route/home.php +++ b/niucloud/app/adminapi/route/home.php @@ -9,7 +9,6 @@ // | Author: Niucloud Team // +---------------------------------------------------------------------- -use app\adminapi\middleware\AdminCheckRole; use app\adminapi\middleware\AdminCheckToken; use app\adminapi\middleware\AdminLog; use think\facade\Route; diff --git a/niucloud/app/adminapi/route/niucloud.php b/niucloud/app/adminapi/route/niucloud.php index 032b7f975..cd511a59f 100644 --- a/niucloud/app/adminapi/route/niucloud.php +++ b/niucloud/app/adminapi/route/niucloud.php @@ -55,6 +55,12 @@ Route::group('niucloud', function() { Route::post('build/clear', 'niucloud.Cloud/clearBuildTask'); // 编译前环境检测 Route::get('build/check', 'niucloud.Cloud/buildPreCheck'); + //连通测试 + Route::post('build/connect_test', 'niucloud.Cloud/connectTest'); + //保存本地服务器地址 + Route::post('build/set_local_url', 'niucloud.Cloud/setLocalCloudCompileConfig'); + //获取本地服务器地址 + Route::get('build/get_local_url', 'niucloud.Cloud/getLocalCloudCompileConfig'); })->middleware([ AdminCheckToken::class, AdminCheckRole::class, diff --git a/niucloud/app/adminapi/route/notice.php b/niucloud/app/adminapi/route/notice.php index 930a2b432..43053b787 100644 --- a/niucloud/app/adminapi/route/notice.php +++ b/niucloud/app/adminapi/route/notice.php @@ -58,7 +58,6 @@ Route::group('notice', function () { Route::post('login', 'notice.NiuSms/loginAccount'); Route::post('edit/:username', 'notice.NiuSms/editAccount'); Route::post('reset/password/:username', 'notice.NiuSms/resetPassword'); - Route::post('forget/password/:username', 'notice.NiuSms/forgetPassword'); Route::get('send_list/:username', 'notice.NiuSms/accountSendList'); Route::get('info/:username', 'notice.NiuSms/accountInfo'); }); diff --git a/niucloud/app/adminapi/route/site.php b/niucloud/app/adminapi/route/site.php index 8e15d79d1..e10e84648 100644 --- a/niucloud/app/adminapi/route/site.php +++ b/niucloud/app/adminapi/route/site.php @@ -21,6 +21,10 @@ use think\facade\Route; Route::group('site', function () { /***************************************************** 站点管理 ****************************************************/ + //切换站点配置 + Route::put('allow_change', 'site.Site/setIsAllowChangeSite'); + Route::get('allow_change', 'site.Site/getIsAllowChangeSite'); + //站点列表 Route::get('site', 'site.Site/lists'); //站点信息 @@ -39,6 +43,8 @@ Route::group('site', function () { Route::get('statuslist', 'site.Site/getStatuList'); //站点初始化 Route::post('init', 'site.Site/siteInit'); + //生成验证码 + Route::get('captcha/create', 'site.Site/captcha'); /***************************************************** 站点分组 *************************************************/ //站点分组 Route::get('group', 'site.SiteGroup/lists'); diff --git a/niucloud/app/adminapi/route/sys.php b/niucloud/app/adminapi/route/sys.php index 9b7f85a74..0b600f153 100644 --- a/niucloud/app/adminapi/route/sys.php +++ b/niucloud/app/adminapi/route/sys.php @@ -189,6 +189,8 @@ Route::group('sys', function() { Route::get('schedule/datetype', 'sys.Schedule/getDateType'); //执行一次任务 Route::put('schedule/do/:id', 'sys.Schedule/doSchedule'); + //重置定时任务 + Route::post('schedule/reset', 'sys.Schedule/resetSchedule'); //任务执行记录列表 Route::get('schedule/log/list', 'sys.ScheduleLog/lists'); diff --git a/niucloud/app/api/controller/member/Address.php b/niucloud/app/api/controller/member/Address.php index 7bb22ca7b..7c8c8444a 100644 --- a/niucloud/app/api/controller/member/Address.php +++ b/niucloud/app/api/controller/member/Address.php @@ -13,6 +13,7 @@ namespace app\api\controller\member; use core\base\BaseApiController; use app\service\api\member\AddressService; +use think\Response; /** @@ -89,8 +90,8 @@ class Address extends BaseApiController /** * 会员收货地址删除 - * @param $id 会员收货地址id - * @return \think\Response + * @param int $id 会员收货地址id + * @return Response */ public function del(int $id){ (new AddressService())->del($id); diff --git a/niucloud/app/api/controller/pay/Transfer.php b/niucloud/app/api/controller/pay/Transfer.php index 0e1ef5269..c4e4d4e13 100644 --- a/niucloud/app/api/controller/pay/Transfer.php +++ b/niucloud/app/api/controller/pay/Transfer.php @@ -13,10 +13,6 @@ namespace app\api\controller\pay; use app\service\api\pay\PayService; use core\base\BaseApiController; -use think\db\exception\DataNotFoundException; -use think\db\exception\DbException; -use think\db\exception\ModelNotFoundException; -use think\Response; /** * 微信服务端通信以及网页授权 @@ -27,7 +23,7 @@ class Transfer extends BaseApiController /** * 确认收款 - * @return Response + * @return void */ public function confirm($transfer_no) { diff --git a/niucloud/app/api/controller/sys/Area.php b/niucloud/app/api/controller/sys/Area.php index bb9c0a5fe..c2028d3aa 100644 --- a/niucloud/app/api/controller/sys/Area.php +++ b/niucloud/app/api/controller/sys/Area.php @@ -50,7 +50,6 @@ class Area extends BaseApiController /** * 通过经纬度查询地址 - * @param int $level * @return Response */ public function getAddressByLatlng() diff --git a/niucloud/app/api/controller/sys/Config.php b/niucloud/app/api/controller/sys/Config.php index afee728c6..9b4703e0c 100644 --- a/niucloud/app/api/controller/sys/Config.php +++ b/niucloud/app/api/controller/sys/Config.php @@ -91,10 +91,21 @@ class Config extends BaseApiController $res[ 'login_config' ] = ( new MemberConfigService() )->getLoginConfig($data[ 'url' ]); $res[ 'theme_list' ] = ( new DiyService() )->getDiyTheme(); - // 查询是否已经存在该小程序用户, 如果存在则小程序端快捷登录时不再弹出授权弹框 + $openid_field = match ( $this->request->getChannel() ) { + 'wechat' => 'wx_openid', + 'weapp' => 'weapp_openid', + default => '' + }; + // 根据来源查询是否已经存在用户, 如果存在则快捷登录时不再弹出授权弹框 + // 根据来源查询是否绑定手机号, 如果绑定并且开启强制绑定则快捷登录时不再弹出绑定手机弹窗 $res[ 'member_exist' ] = 0; + $res[ 'member_mobile_exist' ] = 0; if (!empty($data[ 'openid' ])) { - $res[ 'member_exist' ] = ( new MemberService() )->getCount([ [ 'weapp_openid', '=', $data[ 'openid' ] ] ]) > 0 ? 1 : 0; + if (!empty($openid_field)){ + $res[ 'member_exist' ] = ( new MemberService() )->getCount([ [ $openid_field, '=', $data[ 'openid' ] ] ]) > 0 ? 1 : 0; + + $res[ 'member_mobile_exist' ] = ( new MemberService() )->getCount([ [ $openid_field, '=', $data[ 'openid' ] ], [ 'mobile', '<>', '' ] ]) > 0 ? 1 : 0; + } } ( new MemberService() )->initMemberData(); @@ -104,4 +115,31 @@ class Config extends BaseApiController } return success($res); } + + /** + * 获取公众号用户是否绑定手机 + * @return Response + */ + public function getMemberMobileExist() + { + $data = $this->request->params([ + [ 'openid', '' ] + ]); + + $openid_field = match ( $this->request->getChannel() ) { + 'wechat' => 'wx_openid', + 'weapp' => 'weapp_openid', + default => '' + }; + + // 根据来源查询是否绑定手机号, 如果绑定并且开启强制绑定则快捷登录时不再弹出绑定手机弹窗 + $res[ 'member_mobile_exist' ] = 0; + if (!empty($data[ 'openid' ])) { + if (!empty($openid_field)) { + $res['member_mobile_exist'] = (new MemberService())->getCount([ [ $openid_field, '=', $data['openid'] ], ['mobile', '<>', ''] ]) > 0 ? 1 : 0; + } + } + + return success($res); + } } diff --git a/niucloud/app/api/controller/sys/Verify.php b/niucloud/app/api/controller/sys/Verify.php index 6edc2248e..b92acc322 100644 --- a/niucloud/app/api/controller/sys/Verify.php +++ b/niucloud/app/api/controller/sys/Verify.php @@ -64,7 +64,7 @@ class Verify extends BaseApiController /** * 核销记录 - * @return void + * @return Response */ public function records() { @@ -80,7 +80,7 @@ class Verify extends BaseApiController /** * 获取核销详情 - * @param $code + * @param string|int $code * @return Response */ public function detail(string|int $code) diff --git a/niucloud/app/api/controller/weapp/Serve.php b/niucloud/app/api/controller/weapp/Serve.php index 668934d7c..0a5598f73 100644 --- a/niucloud/app/api/controller/weapp/Serve.php +++ b/niucloud/app/api/controller/weapp/Serve.php @@ -29,7 +29,7 @@ class Serve extends BaseController /** * 接收消息并推送 * @param $site_id - * @return Response + * @return \think\Response * @throws BadRequestException * @throws InvalidArgumentException * @throws RuntimeException diff --git a/niucloud/app/api/controller/weapp/Weapp.php b/niucloud/app/api/controller/weapp/Weapp.php index 74249daea..9633d9998 100644 --- a/niucloud/app/api/controller/weapp/Weapp.php +++ b/niucloud/app/api/controller/weapp/Weapp.php @@ -62,7 +62,7 @@ class Weapp extends BaseApiController /** * 查询小程序是否已开通发货信息管理服务 - * @return bool + * @return Response * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException */ public function getIsTradeManaged() diff --git a/niucloud/app/api/controller/wechat/Serve.php b/niucloud/app/api/controller/wechat/Serve.php index a0932a949..ec22a9e9e 100644 --- a/niucloud/app/api/controller/wechat/Serve.php +++ b/niucloud/app/api/controller/wechat/Serve.php @@ -29,7 +29,7 @@ class Serve extends BaseController /** * 接收消息并推送 * @param $site_id - * @return Response + * @return \think\Response * @throws BadRequestException * @throws InvalidArgumentException * @throws RuntimeException diff --git a/niucloud/app/api/controller/wechat/Wechat.php b/niucloud/app/api/controller/wechat/Wechat.php index 100b14d0a..587a6ef6a 100644 --- a/niucloud/app/api/controller/wechat/Wechat.php +++ b/niucloud/app/api/controller/wechat/Wechat.php @@ -1,6 +1,6 @@ validate($data, [ 'mobile' => 'mobile' ]); + + // 校验手机验证码(电脑端扫码) + ( new LoginService() )->checkMobileCode($data[ 'mobile' ]); + $wechat_auth_service = new WechatAuthService(); return success($wechat_auth_service->register($data[ 'openid' ], $data[ 'mobile' ], wx_unionid: $data[ 'unionid' ])); } @@ -145,4 +150,15 @@ class Wechat extends BaseController $wechat_auth_service = new WechatAuthService(); return success($wechat_auth_service->updateOpenid($data[ 'code' ])); } + + /** + * 更新openid + * @return Response + */ + public function updateOpenidByH5() + { + $data = $this->request->params([ [ 'wx_openid', '' ] ]); + $wechat_auth_service = new WechatAuthService(); + return success($wechat_auth_service->updateOpenidByH5($data[ 'wx_openid' ])); + } } diff --git a/niucloud/app/api/route/dispatch/BindDispatch.php b/niucloud/app/api/route/dispatch/BindDispatch.php index f3b8ba26e..3e138852a 100644 --- a/niucloud/app/api/route/dispatch/BindDispatch.php +++ b/niucloud/app/api/route/dispatch/BindDispatch.php @@ -24,6 +24,7 @@ class BindDispatch extends Controller } switch ($channel) { + case MemberLoginTypeDict::PC: case MemberLoginTypeDict::WECHAT: $controller = 'wechat.Wechat'; $action = 'register'; diff --git a/niucloud/app/api/route/route.php b/niucloud/app/api/route/route.php index cab7f8e81..6a3c7f065 100644 --- a/niucloud/app/api/route/route.php +++ b/niucloud/app/api/route/route.php @@ -108,6 +108,8 @@ Route::group(function() { // 获取初始化数据信息 Route::get('init', 'sys.Config/init'); + // 获取公众号用户是否绑定手机 + Route::get('member_mobile_exist', 'sys.Config/getMemberMobileExist'); /***************************************************** 地区管理 ****************************************************/ //通过pid获取列表 @@ -151,6 +153,8 @@ Route::group(function() { Route::group(function() { //公众号更新用户openid Route::put('wechat/update_openid', 'wechat.Wechat/updateOpenid'); + //公众号更新用户openid + Route::put('wechat/update_openid_h5', 'wechat.Wechat/updateOpenidByH5'); //小程序更新用户openid Route::put('weapp/update_openid', 'weapp.Weapp/updateOpenid'); diff --git a/niucloud/app/command/Resetpassword.php b/niucloud/app/command/Resetpassword.php index 750dc7c5d..8050c0116 100644 --- a/niucloud/app/command/Resetpassword.php +++ b/niucloud/app/command/Resetpassword.php @@ -4,11 +4,8 @@ declare (strict_types = 1); namespace app\command; use app\service\admin\auth\LoginService; -use app\service\admin\install\InstallSystemService; -use app\service\core\menu\CoreMenuService; use think\console\Command; use think\console\Input; -use think\console\input\Option; use think\console\Output; class Resetpassword extends Command diff --git a/niucloud/app/common.php b/niucloud/app/common.php index e6c5cf69d..e13b12971 100644 --- a/niucloud/app/common.php +++ b/niucloud/app/common.php @@ -228,7 +228,7 @@ function get_start_and_end_time_by_day($day = '') /** * 获取本周的 开始、结束时间 - * @param data 日期 + * @param data $date 日期 */ function get_weekinfo_by_time($date) { @@ -357,7 +357,7 @@ function format_money($number) * 金额浮点数格式化 * @param $number * @param $precision - * @return float|int + * @return string */ function format_float_money($number, $precision = 2) { @@ -853,7 +853,7 @@ function version_to_string($ver) /** * 检测文件是否是本地图片 * @param string $file_path - * @return void + * @return bool */ function check_file_is_remote(string $file_path) { @@ -864,7 +864,7 @@ function check_file_is_remote(string $file_path) * 文件拷贝 * @param string $source_file * @param string $to_file - * @return void + * @return bool */ function file_copy(string $source_file, string $to_file) { @@ -889,11 +889,13 @@ function file_copy(string $source_file, string $to_file) /** * 创建并生成二维码 * @param $url + * @param $page + * @param $data * @param $site_id - * @param $dir - * @param $file_path - * @param $channel - * @param $size + * @param string $dir + * @param string $channel + * @param true[] $style + * @param bool $outfile * @return string */ function qrcode($url, $page, $data, $site_id, $dir = '', $channel = 'h5', $style = [ 'is_transparent' => true ], $outfile = true) @@ -933,15 +935,30 @@ function qrcode($url, $page, $data, $site_id, $dir = '', $channel = 'h5', $style * @param array $param * @param string $channel * @param bool $is_throw_exception - * @return string|void + * @return string|null */ function poster(int $site_id, $id, $type, array $param = [], string $channel = '', bool $is_throw_exception = true) { return ( new \app\service\core\poster\CorePosterService() )->get($site_id, $id, $type, $param, $channel, $is_throw_exception); } +/** + * 是否是url链接 + * @param $string + * @return bool + */ +function is_url($string) +{ + if (strstr($string, 'http://') === false && strstr($string, 'https://') === false) { + return false; + } else { + return true; + } +} + /** * 获取站点插件 + * @param int $site_id * @return array */ function get_site_addons($site_id = 0) : array @@ -1124,4 +1141,4 @@ function downloadImage($img_url, $file_name) curl_close($ch); fclose($fp); return true; -} \ No newline at end of file +} diff --git a/niucloud/app/dict/diy/PagesDict.php b/niucloud/app/dict/diy/PagesDict.php index 717de8017..01f5e6f50 100644 --- a/niucloud/app/dict/diy/PagesDict.php +++ b/niucloud/app/dict/diy/PagesDict.php @@ -150,7 +150,10 @@ class PagesDict 'bgHeightScale' => 0, 'imgWidth' => '', 'imgHeight' => '', - "bottomTabBarSwitch" => true, + "bottomTabBar" => [ + 'control' => true, + 'isShow' => true + ], "template" => [ 'textColor' => "#303133", 'pageStartBgColor' => '', @@ -222,7 +225,10 @@ class PagesDict 'bgHeightScale' => 0, 'imgWidth' => '', 'imgHeight' => '', - "bottomTabBarSwitch" => true, + "bottomTabBar" => [ + 'control' => true, + 'isShow' => true + ], "template" => [ 'textColor' => "#303133", 'pageStartBgColor' => '', @@ -688,7 +694,10 @@ class PagesDict 'bgHeightScale' => 0, 'imgWidth' => 750, 'imgHeight' => 403, - "bottomTabBarSwitch" => true, + "bottomTabBar" => [ + 'control' => true, + 'isShow' => true + ], "template" => [ 'textColor' => "#303133", 'pageStartBgColor' => '', diff --git a/niucloud/app/dict/diy/TemplateDict.php b/niucloud/app/dict/diy/TemplateDict.php index e7c42426f..fd3d7cd9a 100644 --- a/niucloud/app/dict/diy/TemplateDict.php +++ b/niucloud/app/dict/diy/TemplateDict.php @@ -35,7 +35,9 @@ class TemplateDict 'title' => get_lang('dict_diy.page_index'), 'page' => '/app/pages/index/index', 'action' => 'decorate', // 页面是否装修标识,为空标识不装修,decorate:装修 - 'type' => 'index' // 页面类型,index:首页、member_index:个人中心,空:普通页面 + 'type' => 'index', // 页面类型,index:首页、member_index:个人中心,空:普通页面 + 'ignoreComponents' => [], // 忽略组件名单 + 'global' => [] // 页面数据结构,初始化时覆盖 ], 'DIY_MEMBER_INDEX' => [ 'title' => get_lang('dict_diy.page_member_index'), diff --git a/niucloud/app/dict/diy_form/TemplateDict.php b/niucloud/app/dict/diy_form/TemplateDict.php index 310853ce2..d783c4f02 100644 --- a/niucloud/app/dict/diy_form/TemplateDict.php +++ b/niucloud/app/dict/diy_form/TemplateDict.php @@ -77,7 +77,10 @@ class TemplateDict "name" => "" ] ], - "bottomTabBarSwitch" => true, + "bottomTabBar" => [ + 'control' => true, + 'isShow' => true + ], "popWindow" => [ "imgUrl" => "", "imgWidth" => "", @@ -719,7 +722,10 @@ class TemplateDict "name" => "" ] ], - "bottomTabBarSwitch" => true, + "bottomTabBar" => [ + 'control' => true, + 'isShow' => true + ], "popWindow" => [ "imgUrl" => "", "imgWidth" => "", diff --git a/niucloud/app/dict/member/MemberLoginTypeDict.php b/niucloud/app/dict/member/MemberLoginTypeDict.php index 7a6da4a7c..2e0052a0d 100644 --- a/niucloud/app/dict/member/MemberLoginTypeDict.php +++ b/niucloud/app/dict/member/MemberLoginTypeDict.php @@ -1,6 +1,6 @@ get_lang('dict_member.login_mobile'),//手机号验证码登录, self::WECHAT => get_lang('dict_member.login_wechat'),//'微信公众号授权登录', self::WEAPP => get_lang('dict_member.login_weapp'),//'微信小程序授权登录', + self::PC => get_lang('dict_member.login_pc'),//'微信小程序授权登录', ]; if (empty($type)) { return $data; @@ -41,4 +45,4 @@ class MemberLoginTypeDict return $data[$type] ?? ''; } -} \ No newline at end of file +} diff --git a/niucloud/app/dict/menu/admin.php b/niucloud/app/dict/menu/admin.php index 646bac590..37c4a2b12 100644 --- a/niucloud/app/dict/menu/admin.php +++ b/niucloud/app/dict/menu/admin.php @@ -993,7 +993,7 @@ return [ [ 'menu_name' => '云编译', 'menu_key' => 'cloud_build', - 'menu_short_name' => '云编译按钮', + 'menu_short_name' => '云编译', 'menu_type' => '2', 'icon' => '', 'api_url' => 'niucloud/build', diff --git a/niucloud/app/dict/menu/site.php b/niucloud/app/dict/menu/site.php index 53b19c22e..9d90c00c9 100644 --- a/niucloud/app/dict/menu/site.php +++ b/niucloud/app/dict/menu/site.php @@ -204,20 +204,6 @@ return [ 'status' => '1', 'is_show' => '1', ], - [ - 'menu_name' => '添加分组', - 'menu_key' => 'add_attachment_category', - 'menu_short_name' => '删除素材', - 'menu_type' => '2', - 'icon' => '', - 'api_url' => 'sys/attachment/category', - 'router_path' => '', - 'view_path' => '', - 'methods' => 'delete', - 'sort' => '100', - 'status' => '1', - 'is_show' => '1', - ], [ 'menu_name' => '添加分组', 'menu_key' => 'add_attachment_category', @@ -245,21 +231,7 @@ return [ 'sort' => '100', 'status' => '1', 'is_show' => '1', - ], - [ - 'menu_name' => '编辑分组', - 'menu_key' => 'edit_attachment_category', - 'menu_short_name' => '编辑分组', - 'menu_type' => '2', - 'icon' => '', - 'api_url' => 'sys/attachment/category/', - 'router_path' => '', - 'view_path' => '', - 'methods' => 'delete', - 'sort' => '100', - 'status' => '1', - 'is_show' => '1', - ], + ] ] ], [ @@ -852,7 +824,7 @@ return [ 'children' => [ [ 'menu_name' => '转账', - 'menu_key' => 'cash_out_transfer', + 'menu_key' => 'member_refund_transfer', 'menu_short_name' => '转账', 'menu_type' => '2', 'icon' => '', @@ -2669,7 +2641,7 @@ return [ [ 'menu_name' => '编辑打印机', 'menu_key' => 'printer_edit', - 'menu_short_name' => '添加打印机', + 'menu_short_name' => '编辑打印机', 'parent_select_key' => 'printer_management_list', 'menu_type' => '1', 'icon' => '', diff --git a/niucloud/app/dict/notice/NoticeTypeDict.php b/niucloud/app/dict/notice/NoticeTypeDict.php index a7824e291..29bde0274 100644 --- a/niucloud/app/dict/notice/NoticeTypeDict.php +++ b/niucloud/app/dict/notice/NoticeTypeDict.php @@ -20,6 +20,7 @@ class NoticeTypeDict //微信小程序 public const WEAPP = 'weapp'; + public const TEMPLATE_NEED_PULL = -4; public const TEMPLATE_AUDIT_STATUS_NEED_AGAIN_REPORT = -3; public const TEMPLATE_AUDIT_STATUS_NEED_EDIT = -2; public const TEMPLATE_AUDIT_STATUS_NOT_REPORT = -1; @@ -79,6 +80,7 @@ class NoticeTypeDict self::TEMPLATE_AUDIT_STATUS_WAIT => get_lang('dict_sms_api.template_status_wait'), self::TEMPLATE_AUDIT_STATUS_PASS => get_lang('dict_sms_api.template_status_pass'), self::TEMPLATE_AUDIT_STATUS_REFUSE => get_lang('dict_sms_api.template_status_refuse'), + self::TEMPLATE_NEED_PULL => get_lang('dict_sms_api.template_need_pull'), ]; return $type ? $data[$type] : $data; } diff --git a/niucloud/app/dict/pay/PayDict.php b/niucloud/app/dict/pay/PayDict.php index 070119178..d87474b31 100644 --- a/niucloud/app/dict/pay/PayDict.php +++ b/niucloud/app/dict/pay/PayDict.php @@ -44,7 +44,7 @@ class PayDict public const STATUS_FINISH = '2';//已支付 public const STATUS_AUDIT = '3';//待审核 - public const STATUS_CANCLE = '-1';//已取消 + public const STATUS_CANCEL = '-1';//已取消 public const MEMBER = 'member'; public const USER = 'user'; @@ -112,7 +112,7 @@ class PayDict self::STATUS_WAIT => get_lang('dict_pay.status_wait'), self::STATUS_ING => get_lang('dict_pay.status_ing'), self::STATUS_FINISH => get_lang('dict_pay.status_finish'), - self::STATUS_CANCLE => get_lang('dict_pay.status_cancle'), + self::STATUS_CANCEL => get_lang('dict_pay.status_cancel'), self::STATUS_AUDIT => get_lang('dict_pay.status_audit') ]; } diff --git a/niucloud/app/dict/pay/RefundDict.php b/niucloud/app/dict/pay/RefundDict.php index aaed034a4..55d202707 100644 --- a/niucloud/app/dict/pay/RefundDict.php +++ b/niucloud/app/dict/pay/RefundDict.php @@ -18,6 +18,7 @@ class RefundDict const DEALING = 'dealing';//退款处理中 const WAIT = 'wait';//待退款 const FAIL = 'fail';//失败 + const CANCEL = 'cancel';//取消 // 退款方式 const WECHATPAY = 'wechatpay';//微信支付 @@ -38,6 +39,7 @@ class RefundDict self::DEALING => get_lang('dict_pay_refund.status_dealing'), self::SUCCESS => get_lang('dict_pay_refund.status_success'), self::FAIL => get_lang('dict_pay_refund.status_fail'), + self::CANCEL => get_lang('dict_pay_refund.cancel'), ]; } diff --git a/niucloud/app/dict/pay/TransferDict.php b/niucloud/app/dict/pay/TransferDict.php index 0e98fa54d..ac30cadc0 100644 --- a/niucloud/app/dict/pay/TransferDict.php +++ b/niucloud/app/dict/pay/TransferDict.php @@ -129,7 +129,7 @@ class TransferDict /** * 获取微信转账场景 - * @return void + * @return array[] */ public static function getWechatTransferScene(){ return [ diff --git a/niucloud/app/dict/schedule/schedule.php b/niucloud/app/dict/schedule/schedule.php index 4ff4eb415..b29510284 100644 --- a/niucloud/app/dict/schedule/schedule.php +++ b/niucloud/app/dict/schedule/schedule.php @@ -1,17 +1,6 @@ 'order_close', - 'name' => '未支付订单自动关闭', - 'desc' => '', - 'time' => [ - 'type' => 'min', - 'min' => 1 - ], - 'class' => '', - 'function' => '' - ], [ 'key' => 'site_expire_close', 'name' => '站点到期自动关闭', @@ -37,6 +26,18 @@ return [ ], 'class' => 'app\job\schedule\AutoClearScheduleLog', 'function' => '' + ], [ + 'key' => 'auto_clear_poster_qrcode', + 'name' => '定时清理海报及二维码数据', + 'desc' => '', + 'time' => [ + 'type' => 'day', + 'day' => 1, + 'hour' => 1, + 'min' => 1 + ], + 'class' => 'app\job\schedule\AutoClearPosterAndQrcode', + 'function' => '' ], [ 'key' => 'transfer_check_finish', diff --git a/niucloud/app/dict/sys/ConfigKeyDict.php b/niucloud/app/dict/sys/ConfigKeyDict.php index 0099f7da7..a58d938b5 100644 --- a/niucloud/app/dict/sys/ConfigKeyDict.php +++ b/niucloud/app/dict/sys/ConfigKeyDict.php @@ -39,5 +39,4 @@ class ConfigKeyDict public const WECHAT_TRANSFER_SCENE_CONFIG = 'WECHAT_TRANSFER_SCENE_CONFIG';//微信转账场景配置 public const SMS = 'SMS';//短信配置 - public const SHOP_THIRD_PARTY_DELIVERY_CONFIG = 'SHOP_THREE_PARTY_DELIVERY_CONFIG';//短信配置 } diff --git a/niucloud/app/install/source/database.sql b/niucloud/app/install/source/database.sql index 73c30ccec..a544df48b 100644 --- a/niucloud/app/install/source/database.sql +++ b/niucloud/app/install/source/database.sql @@ -668,6 +668,9 @@ CREATE TABLE `site` ( `addons` text NOT NULL COMMENT '站点包含的插件', `initalled_addon` text DEFAULT NULL COMMENT '站点已执行初始化方法的插件', `site_domain` varchar(255) NOT NULL DEFAULT '' COMMENT '站点域名', + `meta_title` VARCHAR(255) NOT NULL DEFAULT '' COMMENT 'Meta 标题', + `meta_desc` VARCHAR(255) NOT NULL DEFAULT '' COMMENT 'Meta 描述', + `meta_keyword` VARCHAR(255) NOT NULL DEFAULT '' COMMENT 'Meta 关键字', PRIMARY KEY (`site_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 10000 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '站点表' ROW_FORMAT = Dynamic; @@ -803,7 +806,7 @@ CREATE TABLE `sys_backup_records` `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '主键id', `version` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '备份版本号', `backup_key` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '备份标识', - `content` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '备份内容', + `content` TEXT DEFAULT NULL COMMENT '备份内容', `status` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '状态', `fail_reason` LONGTEXT DEFAULT NULL COMMENT '失败原因', `remark` VARCHAR(500) NOT NULL DEFAULT '' COMMENT '备注', @@ -1136,8 +1139,8 @@ CREATE TABLE `sys_user_log` ( `ip` varchar(50) NOT NULL DEFAULT '' COMMENT '登录IP', `site_id` int(11) NOT NULL DEFAULT 0 COMMENT '站点id', `uid` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '管理员id', - `username` varchar(64) NOT NULL DEFAULT '' COMMENT '管理员姓名', - `operation` varchar(100) NOT NULL DEFAULT '' COMMENT '操作描述', + `username` varchar(255) NOT NULL DEFAULT '' COMMENT '管理员姓名', + `operation` varchar(255) NOT NULL DEFAULT '' COMMENT '操作描述', `url` varchar(300) NOT NULL DEFAULT '' COMMENT '链接', `params` longtext DEFAULT NULL COMMENT '参数', `type` varchar(32) NOT NULL DEFAULT '' COMMENT '请求方式', diff --git a/niucloud/app/job/notice/Notice.php b/niucloud/app/job/notice/Notice.php index d0c314b91..c38467eeb 100644 --- a/niucloud/app/job/notice/Notice.php +++ b/niucloud/app/job/notice/Notice.php @@ -11,8 +11,6 @@ namespace app\job\notice; -use app\dict\sys\ConfigKeyDict; -use app\service\core\sys\CoreConfigService; use core\base\BaseJob; use core\exception\NoticeException; diff --git a/niucloud/app/job/pay/PayReturnTo.php b/niucloud/app/job/pay/PayReturnTo.php index 45a6a3c6f..863550953 100644 --- a/niucloud/app/job/pay/PayReturnTo.php +++ b/niucloud/app/job/pay/PayReturnTo.php @@ -23,7 +23,8 @@ class PayReturnTo extends BaseJob /** * 消费 - * @param $data + * @param $site_id + * @param $out_trade_no * @return true */ protected function doJob($site_id, $out_trade_no) diff --git a/niucloud/app/job/schedule/AutoClearPosterAndQrcode.php b/niucloud/app/job/schedule/AutoClearPosterAndQrcode.php new file mode 100644 index 000000000..a44c769ae --- /dev/null +++ b/niucloud/app/job/schedule/AutoClearPosterAndQrcode.php @@ -0,0 +1,124 @@ +clearDirectory($dir); + Log::write('AutoClearPosterAndQrcode海报目录清理结果: ' . ($res ? '成功' : '失败')); + + // 清理二维码目录 + $qrcode_dir = 'upload/qrcode'; + $qrcode_dir = public_path($qrcode_dir); + Log::write('AutoClearPosterAndQrcode尝试清理二维码目录: ' . $qrcode_dir); + $res = $this->clearDirectory($qrcode_dir); + Log::write('AutoClearPosterAndQrcode二维码目录清理结果: ' . ($res ? '成功' : '失败')); + + return true; + } catch (\Exception $e) { + Log::write('AutoClearPosterAndQrcode 定时清除异常: ' . $e->getMessage() . ' 位置: ' . $e->getFile() . ':' . $e->getLine() . $e->getTraceAsString()); + return false; + } + } + + /** + * 清空指定目录下的所有文件和子目录 + * + * @param string $directory 目录路径 + * @param bool $preserveDirectory 是否保留根目录(默认保留) + * @return bool 是否成功执行 + */ + function clearDirectory(string $directory, bool $preserveDirectory = true): bool + { + // 规范化目录路径,统一使用DIRECTORY_SEPARATOR + $directory = rtrim(realpath($directory), DIRECTORY_SEPARATOR); + + Log::write('AutoClearPosterAndQrcode开始清理目录: ' . $directory); + + // 检查目录是否存在 + if (!is_dir($directory)) { + Log::write('AutoClearPosterAndQrcode目录不存在或不是有效目录: ' . $directory); + return false; + } + + // 打开目录 + $handle = opendir($directory); + if (!$handle) { + Log::write('AutoClearPosterAndQrcode无法打开目录: ' . $directory); + return false; + } + + // 遍历目录内容 + while (($entry = readdir($handle)) !== false) { + // 跳过当前目录和上级目录 + if ($entry === '.' || $entry === '..') { + continue; + } + + // 使用DIRECTORY_SEPARATOR确保路径分隔符正确 + $path = $directory . DIRECTORY_SEPARATOR . $entry; + + // 递归处理子目录 + if (is_dir($path)) { + // 递归清空子目录 + if (!$this->clearDirectory($path, false)) { + Log::write('AutoClearPosterAndQrcode递归清理子目录失败: ' . $path); + closedir($handle); + return false; + } + Log::write('AutoClearPosterAndQrcode已递归删除子目录: ' . $path); + // 子目录已经在递归调用中被删除,不需要再次删除 + } else { + // 删除文件 + if (!unlink($path)) { + Log::write('AutoClearPosterAndQrcode删除文件失败: ' . $path); + closedir($handle); + return false; + } + } + } + + // 关闭目录句柄 + closedir($handle); + + // 是否删除根目录本身 + if (!$preserveDirectory) { + Log::write('AutoClearPosterAndQrcode准备删除根目录: ' . $directory); + if (!rmdir($directory)) { + Log::write('AutoClearPosterAndQrcode删除根目录失败: ' . $directory); + return false; + } + Log::write('AutoClearPosterAndQrcode成功删除根目录: ' . $directory); + } else { + Log::write('AutoClearPosterAndQrcode保留根目录: ' . $directory); + } + + return true; + } + + +} diff --git a/niucloud/app/job/transfer/schedule/CheckFinish.php b/niucloud/app/job/transfer/schedule/CheckFinish.php index 9262d3b05..6a35e13d2 100644 --- a/niucloud/app/job/transfer/schedule/CheckFinish.php +++ b/niucloud/app/job/transfer/schedule/CheckFinish.php @@ -15,7 +15,6 @@ use app\dict\pay\TransferDict; use app\model\pay\Transfer; use app\service\core\pay\CoreTransferService; use core\base\BaseJob; -use think\facade\Log; /** * 定时校验转账是否完毕(每分钟一次) diff --git a/niucloud/app/job/wxoplatform/GetVersionUploadResult.php b/niucloud/app/job/wxoplatform/GetVersionUploadResult.php index 6cbc5739d..3283fa913 100644 --- a/niucloud/app/job/wxoplatform/GetVersionUploadResult.php +++ b/niucloud/app/job/wxoplatform/GetVersionUploadResult.php @@ -22,7 +22,8 @@ class GetVersionUploadResult extends BaseJob /** * 消费 - * @param $data + * @param $task_key + * @param $is_all * @return true */ protected function doJob($task_key, $is_all) diff --git a/niucloud/app/job/wxoplatform/SiteWeappCommit.php b/niucloud/app/job/wxoplatform/SiteWeappCommit.php index 8d6bf3dea..208f586a0 100644 --- a/niucloud/app/job/wxoplatform/SiteWeappCommit.php +++ b/niucloud/app/job/wxoplatform/SiteWeappCommit.php @@ -12,9 +12,7 @@ namespace app\job\wxoplatform; use app\service\admin\wxoplatform\WeappVersionService; -use app\service\core\pay\CorePayService; use core\base\BaseJob; -use think\facade\Log; /** * 小程序代码上传 @@ -23,7 +21,8 @@ class SiteWeappCommit extends BaseJob { /** * 消费 - * @param $data + * @param $site_id + * @param $site_group_id * @return true */ protected function doJob($site_id, $site_group_id) diff --git a/niucloud/app/job/wxoplatform/VersionUploadSuccess.php b/niucloud/app/job/wxoplatform/VersionUploadSuccess.php index 673094db2..88e75483b 100644 --- a/niucloud/app/job/wxoplatform/VersionUploadSuccess.php +++ b/niucloud/app/job/wxoplatform/VersionUploadSuccess.php @@ -22,7 +22,8 @@ class VersionUploadSuccess extends BaseJob /** * 消费 - * @param $data + * @param $task_key + * @param $is_all * @return true */ protected function doJob($task_key, $is_all) diff --git a/niucloud/app/job/wxoplatform/WeappAuthChangeAfter.php b/niucloud/app/job/wxoplatform/WeappAuthChangeAfter.php index 4146a3671..d7b639847 100644 --- a/niucloud/app/job/wxoplatform/WeappAuthChangeAfter.php +++ b/niucloud/app/job/wxoplatform/WeappAuthChangeAfter.php @@ -11,10 +11,7 @@ namespace app\job\wxoplatform; -use app\service\admin\wxoplatform\WeappVersionService; -use app\service\core\pay\CorePayService; use core\base\BaseJob; -use think\facade\Log; /** * 小程序授权变更之后 @@ -23,7 +20,8 @@ class WeappAuthChangeAfter extends BaseJob { /** * 消费 - * @param $data + * @param $site_id + * @param $event * @return true */ protected function doJob($site_id, $event) diff --git a/niucloud/app/job/wxoplatform/WeappCommit.php b/niucloud/app/job/wxoplatform/WeappCommit.php index 8a31cd41c..b637a9d9c 100644 --- a/niucloud/app/job/wxoplatform/WeappCommit.php +++ b/niucloud/app/job/wxoplatform/WeappCommit.php @@ -12,9 +12,7 @@ namespace app\job\wxoplatform; use app\service\admin\wxoplatform\WeappVersionService; -use app\service\core\pay\CorePayService; use core\base\BaseJob; -use think\facade\Log; /** * 小程序代码上传 diff --git a/niucloud/app/job/wxoplatform/WechatAuthChangeAfter.php b/niucloud/app/job/wxoplatform/WechatAuthChangeAfter.php index eb451958a..a226e5ebd 100644 --- a/niucloud/app/job/wxoplatform/WechatAuthChangeAfter.php +++ b/niucloud/app/job/wxoplatform/WechatAuthChangeAfter.php @@ -11,10 +11,7 @@ namespace app\job\wxoplatform; -use app\service\admin\wxoplatform\WeappVersionService; -use app\service\core\pay\CorePayService; use core\base\BaseJob; -use think\facade\Log; /** * 公众号授权变更之后 @@ -23,7 +20,8 @@ class WechatAuthChangeAfter extends BaseJob { /** * 消费 - * @param $data + * @param $site_id + * @param $event * @return true */ protected function doJob($site_id, $event) diff --git a/niucloud/app/lang/zh-cn/api.php b/niucloud/app/lang/zh-cn/api.php index fde85af42..ac62511f0 100644 --- a/niucloud/app/lang/zh-cn/api.php +++ b/niucloud/app/lang/zh-cn/api.php @@ -72,6 +72,7 @@ return [ 'MUST_LOGIN' => '请登录', 'LOGIN_EXPIRE' => '登录过期,请重新登录', 'LOGIN_STATE_ERROR' => '登录状态有误,请重新登录', + 'SITE_USER_NOT_EXIST' => '站点用户不存在', 'USER_LOCK' => '账号被锁定', 'USER_ERROR' => '账号或密码错误', 'NO_SITE_PERMISSION' => '您没有当前站点的访问权限', @@ -310,6 +311,7 @@ return [ 'NEED_TO_AUTHORIZE_FIRST' => '使用云服务需先进行授权', 'WEAPP_UPLOADING' => '小程序有正在上传的版本,请等待上一版本上传完毕后再进行操作', 'CLOUD_BUILD_TASK_EXIST' => '已有正在执行中的编译任务', + 'CONNECT_FAIL' => '连接失败', //核销相关 'VERIFY_TYPE_ERROR' => '核销类型错误', diff --git a/niucloud/app/lang/zh-cn/dict.php b/niucloud/app/lang/zh-cn/dict.php index 9d883df49..1d6dc78f6 100644 --- a/niucloud/app/lang/zh-cn/dict.php +++ b/niucloud/app/lang/zh-cn/dict.php @@ -76,25 +76,26 @@ return [ 'var_balance' => '会员余额', 'var_point' => '会员积分', ], - 'dict_sms_api'=>[ - 'template_status_again_report'=>'需重新报备', - 'template_status_need_edit'=>'需修改报备参数', - 'template_status_not_report'=>'未报备', - 'template_status_wait'=>'待审核', - 'template_status_pass'=>'审核通过', - 'template_status_refuse'=>'审核不通过', + 'dict_sms_api' => [ + 'template_status_again_report' => '需重新报备', + 'template_status_need_edit' => '需修改报备参数', + 'template_status_not_report' => '未报备', + 'template_status_wait' => '待审核', + 'template_status_pass' => '审核通过', + 'template_status_refuse' => '审核不通过', + 'template_need_pull' => '需拉取同步', //验证码-1 行业通知-2 营销推广-3 - 'template_type_verify_code'=>'验证码', - 'template_type_industry_notice'=>'行业通知', - 'template_type_sem'=>'营销推广', + 'template_type_verify_code' => '验证码', + 'template_type_industry_notice' => '行业通知', + 'template_type_sem' => '营销推广', - 'sign_audit_status_wait'=>'待审核', - 'sign_audit_status_pass'=>'审核通过', - 'sign_audit_status_refuse'=>'审核不通过', + 'sign_audit_status_wait' => '待审核', + 'sign_audit_status_pass' => '审核通过', + 'sign_audit_status_refuse' => '审核不通过', - 'balance_add'=>'充值', - 'balance_reduce'=>'扣减' + 'balance_add' => '充值', + 'balance_reduce' => '扣减' ], //上传附件相关 @@ -131,6 +132,7 @@ return [ 'login_mobile' => '手机验证码登录', 'login_wechat' => '微信公众号授权登录', 'login_weapp' => '微信小程序授权登录', + 'login_pc' => '电脑端微信授权登录', 'account_point_adjust' => '账户调整', 'account_point_member_register' => '会员注册', 'account_point_level_upgrade' => '升级礼包', @@ -203,7 +205,7 @@ return [ 'status_wait' => '待支付', 'status_ing' => '支付中', 'status_finish' => '已支付', - 'status_cancle' => '已取消', + 'status_cancel' => '已取消', 'status_audit' => '待审核', 'pay' => '收款', 'refund' => '退款', @@ -340,6 +342,7 @@ return [ 'dealing' => '退款中', 'wait' => '待退款', 'fail' => '退款失败', + 'cancel' => '已取消', 'wechatpay' => '微信原路退款', 'alipay' => '支付宝原路退款', 'unipay' => '银联原路退款', @@ -445,22 +448,22 @@ return [ 'complete' => '完成', 'fail' => '失败' ], - 'common_active_short'=>[ - 'impulse_buy_short'=>'顺', - 'impulse_buy_name'=>'顺手买', - 'gift_card_short'=>'礼', - 'gift_card_name'=>'礼品卡', - 'discount_short'=>'折', - 'discount_name'=>'限时折扣', - 'exchange_short'=>'积', - 'exchange_name'=>'积分商城', - 'manjiansong_short'=>'满减', - 'manjiansong_name'=>'满减送', - 'newcomer_discount_short'=>'新', - 'newcomer_discount_name'=>'新人专项', - 'pintuan_short'=>'拼', - 'pintuan_name'=>'拼团', - 'seckill_short'=>'秒', - 'seckill_name'=>'秒杀', + 'common_active_short' => [ + 'impulse_buy_short' => '顺', + 'impulse_buy_name' => '顺手买', + 'gift_card_short' => '礼', + 'gift_card_name' => '礼品卡', + 'discount_short' => '折', + 'discount_name' => '限时折扣', + 'exchange_short' => '积', + 'exchange_name' => '积分商城', + 'manjiansong_short' => '满减', + 'manjiansong_name' => '满减送', + 'newcomer_discount_short' => '新', + 'newcomer_discount_name' => '新人专享', + 'pintuan_short' => '拼', + 'pintuan_name' => '拼团', + 'seckill_short' => '秒', + 'seckill_name' => '秒杀', ] ]; diff --git a/niucloud/app/listener/diy_form_export/DiyFormRecordsFieldsExportDataListener.php b/niucloud/app/listener/diy_form_export/DiyFormRecordsFieldsExportDataListener.php index 05a2cd012..a9423d5bf 100644 --- a/niucloud/app/listener/diy_form_export/DiyFormRecordsFieldsExportDataListener.php +++ b/niucloud/app/listener/diy_form_export/DiyFormRecordsFieldsExportDataListener.php @@ -11,7 +11,6 @@ namespace app\listener\diy_form_export; -use app\model\diy_form\DiyFormRecords; use app\model\diy_form\DiyFormRecordsFields; use app\service\admin\diy_form\DiyFormService; @@ -34,7 +33,7 @@ class DiyFormRecordsFieldsExportDataListener $json_field_list = array_filter($field_list, function($v) { return in_array($v[ 'field_type' ], [ 'FormRadio', 'FormCheckbox', 'FormDateScope', 'FormTimeScope' ]); }); $records_field_model = new DiyFormRecordsFields(); - foreach ($simple_field_list as $k => &$v) { + foreach ($simple_field_list as $k => $v) { $value_list = $records_field_model->field('form_id, field_key, field_type, field_name, field_value, count(*) as write_count')->where([ [ 'site_id', '=', $site_id ], [ 'field_key', '=', $v[ 'field_key' ] ], @@ -59,7 +58,7 @@ class DiyFormRecordsFieldsExportDataListener } $data = array_merge($data, $value_list); } - foreach ($json_field_list as $k => &$v) { + foreach ($json_field_list as $k => $v) { $field_list = $records_field_model->field('form_id, field_key, field_type, field_name, field_value')->where([ [ 'site_id', '=', $site_id ], [ 'field_key', '=', $v[ 'field_key' ] ], @@ -68,7 +67,7 @@ class DiyFormRecordsFieldsExportDataListener $total_count = 0; $value_list = []; - foreach ($field_list as $k1 => &$v1) { + foreach ($field_list as $k1 => $v1) { if ($v1[ 'field_type' ] != 'FormCheckbox') { $key = $v1[ 'field_key' ] . '_' . $v1[ 'render_value' ]; if (isset($value_list[ $key ])) { diff --git a/niucloud/app/listener/member/MemberAccountListener.php b/niucloud/app/listener/member/MemberAccountListener.php index 45d8c6520..64467584b 100644 --- a/niucloud/app/listener/member/MemberAccountListener.php +++ b/niucloud/app/listener/member/MemberAccountListener.php @@ -32,6 +32,5 @@ class MemberAccountListener if ($account_log['account_type'] == MemberAccountTypeDict::GROWTH) { (new CoreMemberLevelService())->checkLevelUpgrade($account_log['site_id'], $account_log['member_id']); } - return; } } diff --git a/niucloud/app/listener/member/MemberLoginListener.php b/niucloud/app/listener/member/MemberLoginListener.php index 75a543faf..4268e5793 100644 --- a/niucloud/app/listener/member/MemberLoginListener.php +++ b/niucloud/app/listener/member/MemberLoginListener.php @@ -26,7 +26,6 @@ class MemberLoginListener { // 新人专享活动 event("MemberLoginAfter", ['site_id' => $member['site_id'], 'member_id' => $member['member_id']]); - return; } } \ No newline at end of file diff --git a/niucloud/app/listener/member/MemberRegisterListener.php b/niucloud/app/listener/member/MemberRegisterListener.php index 0165e1de6..b82bba6e0 100644 --- a/niucloud/app/listener/member/MemberRegisterListener.php +++ b/niucloud/app/listener/member/MemberRegisterListener.php @@ -32,6 +32,5 @@ class MemberRegisterListener CoreMemberService::sendPoint($member[ 'site_id' ], $member[ 'member_id' ], 'member_register', [ 'from_type' => 'member_register' ]); // 新人专享活动 event("MemberLoginAfter", [ 'site_id' => $member[ 'site_id' ], 'member_id' => $member[ 'member_id' ] ]); - return; } } diff --git a/niucloud/app/listener/pay/PayNotifyListener.php b/niucloud/app/listener/pay/PayNotifyListener.php index 57801cb72..93c0acd55 100644 --- a/niucloud/app/listener/pay/PayNotifyListener.php +++ b/niucloud/app/listener/pay/PayNotifyListener.php @@ -20,6 +20,5 @@ class PayNotifyListener { public function handle($member) { - return; } } \ No newline at end of file diff --git a/niucloud/app/listener/poster/FriendspayPoster.php b/niucloud/app/listener/poster/FriendspayPoster.php index b02e14bc2..608c7feca 100644 --- a/niucloud/app/listener/poster/FriendspayPoster.php +++ b/niucloud/app/listener/poster/FriendspayPoster.php @@ -58,7 +58,7 @@ class FriendspayPoster [ 'site_id', '=', $site_id ], [ 'trade_id', '=', $trade_id ], [ 'trade_type', '=', $trade_type ], - [ 'status', '<>', PayDict::STATUS_CANCLE ],///不查询已取消的单据 + [ 'status', '<>', PayDict::STATUS_CANCEL ],///不查询已取消的单据 ])->findOrEmpty()->toArray(); if (empty($pay_info)) return []; diff --git a/niucloud/app/listener/system/AppInitListener.php b/niucloud/app/listener/system/AppInitListener.php index ae9a1acfe..024a5a194 100644 --- a/niucloud/app/listener/system/AppInitListener.php +++ b/niucloud/app/listener/system/AppInitListener.php @@ -21,6 +21,5 @@ class AppInitListener public function handle() { //加载插件语言包 - return; } } \ No newline at end of file diff --git a/niucloud/app/listener/system/Poster.php b/niucloud/app/listener/system/Poster.php index 9aab2ac83..3f2c51d52 100644 --- a/niucloud/app/listener/system/Poster.php +++ b/niucloud/app/listener/system/Poster.php @@ -23,7 +23,6 @@ class Poster switch ($type) { case 'friendspay':// 找朋友帮忙付海报 return ( new FriendspayPoster() )->handle($data); - break; default: $site_id = $data[ 'site_id' ]; $param = $data[ 'param' ]; @@ -53,7 +52,6 @@ class Poster 'headimg' => $headimg, ]; return $return_data; - break; } } } diff --git a/niucloud/app/listener/system/PosterType.php b/niucloud/app/listener/system/PosterType.php index 0cd5ba7b1..8746a69d3 100644 --- a/niucloud/app/listener/system/PosterType.php +++ b/niucloud/app/listener/system/PosterType.php @@ -21,7 +21,7 @@ class PosterType 'type' => 'friendspay', 'addon' => '', 'name' => '找朋友帮忙付海报', - 'decs' => '找朋友帮忙付,分享后进入帮付页面', + 'desc' => '找朋友帮忙付,分享后进入帮付页面', 'icon' => 'static/resource/images/poster/type_friendspay.png' ], ]; diff --git a/niucloud/app/model/dict/Dict.php b/niucloud/app/model/dict/Dict.php index dc8952f76..6791936f0 100644 --- a/niucloud/app/model/dict/Dict.php +++ b/niucloud/app/model/dict/Dict.php @@ -44,6 +44,7 @@ class Dict extends BaseModel /** * 搜索器:数据字典字典名称 + * @param $query * @param $value * @param $data */ @@ -56,6 +57,7 @@ class Dict extends BaseModel /** * 搜索器:数据字典字典关键词 + * @param $query * @param $value * @param $data */ diff --git a/niucloud/app/model/diy/DiyTheme.php b/niucloud/app/model/diy/DiyTheme.php index 73545998d..cad1eaad4 100644 --- a/niucloud/app/model/diy/DiyTheme.php +++ b/niucloud/app/model/diy/DiyTheme.php @@ -11,8 +11,6 @@ namespace app\model\diy; -use app\dict\diy\PagesDict; -use app\dict\diy\TemplateDict; use core\base\BaseModel; diff --git a/niucloud/app/model/diy_form/DiyFormRecords.php b/niucloud/app/model/diy_form/DiyFormRecords.php index ff067206a..84244b7fe 100644 --- a/niucloud/app/model/diy_form/DiyFormRecords.php +++ b/niucloud/app/model/diy_form/DiyFormRecords.php @@ -76,7 +76,7 @@ class DiyFormRecords extends BaseModel /** * 搜索器:创建时间 - * @param $query + * @param Query $query * @param $value * @param $data */ diff --git a/niucloud/app/model/member/MemberAccountLog.php b/niucloud/app/model/member/MemberAccountLog.php index 7f9017c65..3df80f0a9 100644 --- a/niucloud/app/model/member/MemberAccountLog.php +++ b/niucloud/app/model/member/MemberAccountLog.php @@ -128,7 +128,7 @@ class MemberAccountLog extends BaseModel /** * 关键词搜索 - * @param $query + * @param Query $query * @param $value * @param $data */ diff --git a/niucloud/app/model/pay/TransferScene.php b/niucloud/app/model/pay/TransferScene.php index 9f27bb3f1..302503096 100644 --- a/niucloud/app/model/pay/TransferScene.php +++ b/niucloud/app/model/pay/TransferScene.php @@ -11,7 +11,6 @@ namespace app\model\pay; -use app\dict\pay\TransferDict; use core\base\BaseModel; /** diff --git a/niucloud/app/model/site/Site.php b/niucloud/app/model/site/Site.php index 0266a2f31..1655d0d5f 100644 --- a/niucloud/app/model/site/Site.php +++ b/niucloud/app/model/site/Site.php @@ -12,7 +12,6 @@ namespace app\model\site; use app\dict\site\SiteDict; -use app\model\addon\Addon; use core\base\BaseModel; use think\db\Query; use think\model\relation\HasOne; diff --git a/niucloud/app/model/site/SiteGroup.php b/niucloud/app/model/site/SiteGroup.php index 75e47a5af..0769f182c 100644 --- a/niucloud/app/model/site/SiteGroup.php +++ b/niucloud/app/model/site/SiteGroup.php @@ -44,7 +44,7 @@ class SiteGroup extends BaseModel * 关联应用 * @param $value * @param $data - * @return Addon[]|array|\think\Collection + * @return Addon[]|array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException diff --git a/niucloud/app/model/sys/SysPrinter.php b/niucloud/app/model/sys/SysPrinter.php index 1acea478b..f3ae0b896 100644 --- a/niucloud/app/model/sys/SysPrinter.php +++ b/niucloud/app/model/sys/SysPrinter.php @@ -57,6 +57,7 @@ class SysPrinter extends BaseModel /** * 搜索器:小票打印机 + * @param $query * @param $value * @param $data */ @@ -69,6 +70,7 @@ class SysPrinter extends BaseModel /** * 搜索器:小票打印机设备品牌(易联云,365,飞鹅) + * @param $query * @param $value * @param $data */ @@ -81,6 +83,7 @@ class SysPrinter extends BaseModel /** * 搜索器:小票打印机打印机名称 + * @param $query * @param $value * @param $data */ @@ -93,6 +96,7 @@ class SysPrinter extends BaseModel /** * 搜索器:小票打印机状态(0,关闭,1:开启) + * @param $query * @param $value * @param $data */ diff --git a/niucloud/app/model/sys/SysPrinterTemplate.php b/niucloud/app/model/sys/SysPrinterTemplate.php index f81646380..369329936 100644 --- a/niucloud/app/model/sys/SysPrinterTemplate.php +++ b/niucloud/app/model/sys/SysPrinterTemplate.php @@ -57,6 +57,7 @@ class SysPrinterTemplate extends BaseModel /** * 搜索器:小票打印模板 + * @param $query * @param $value * @param $data */ @@ -69,6 +70,7 @@ class SysPrinterTemplate extends BaseModel /** * 搜索器:小票打印模板模板类型 + * @param $query * @param $value * @param $data */ @@ -81,6 +83,7 @@ class SysPrinterTemplate extends BaseModel /** * 搜索器:小票打印模板模板名称 + * @param $query * @param $value * @param $data */ diff --git a/niucloud/app/model/verify/Verify.php b/niucloud/app/model/verify/Verify.php index 1f7b8ac78..b3e42a4f2 100644 --- a/niucloud/app/model/verify/Verify.php +++ b/niucloud/app/model/verify/Verify.php @@ -47,7 +47,7 @@ class Verify extends BaseModel /** * 核销码搜索 - * @param $query + * @param Query $query * @param $value * @param $data */ @@ -60,7 +60,7 @@ class Verify extends BaseModel /** * 关键词搜索 - * @param $query + * @param Query $query * @param $value * @param $data */ @@ -134,6 +134,7 @@ class Verify extends BaseModel /** * 核销类型转换 * @param $value + * @param $data * @return void */ public function getTypeNameAttr($value, $data) diff --git a/niucloud/app/service/admin/addon/AddonDevelopService.php b/niucloud/app/service/admin/addon/AddonDevelopService.php index 4f23fb3f8..ae28a5bfe 100644 --- a/niucloud/app/service/admin/addon/AddonDevelopService.php +++ b/niucloud/app/service/admin/addon/AddonDevelopService.php @@ -24,15 +24,16 @@ use core\base\BaseAdminService; */ class AddonDevelopService extends BaseAdminService { - public $core_addon_develop_service; public function __construct() { parent::__construct(); } + /** * 新增插件开发 + * @param string $key * @param array $data - * @return mixed + * @return true */ public function add(string $key, array $data) { @@ -41,9 +42,9 @@ class AddonDevelopService extends BaseAdminService /** * 编辑插件开发 - * @param int $id + * @param string $key * @param array $data - * @return SysAttachment + * @return true */ public function edit(string $key, array $data) { @@ -53,8 +54,8 @@ class AddonDevelopService extends BaseAdminService /** * 删除插件开发 - * @param int $id - * @return mixed + * @param string $key + * @return true */ public function del(string $key) { @@ -74,7 +75,7 @@ class AddonDevelopService extends BaseAdminService /** * 查询 * @param $key - * @return void + * @return array */ public function getInfo($key){ return (new CoreAddonService())->getAddonDevelopInfo($key); @@ -83,7 +84,7 @@ class AddonDevelopService extends BaseAdminService /** * 打包 * @param string $key - * @return array + * @return true|null */ public function build(string $key){ return (new CoreAddonDevelopBuildService())->build($key); @@ -93,7 +94,7 @@ class AddonDevelopService extends BaseAdminService /** * 下载 * @param string $key - * @return true + * @return \think\response\File */ public function download(string $key){ return (new CoreAddonDevelopBuildService())->download($key); diff --git a/niucloud/app/service/admin/addon/AddonService.php b/niucloud/app/service/admin/addon/AddonService.php index c2a14f112..bcc3f76f4 100644 --- a/niucloud/app/service/admin/addon/AddonService.php +++ b/niucloud/app/service/admin/addon/AddonService.php @@ -13,21 +13,15 @@ namespace app\service\admin\addon; use app\dict\addon\AddonDict; -use app\dict\sys\AppTypeDict; use app\model\addon\Addon; -use app\service\admin\site\SiteGroupService; -use app\service\admin\site\SiteService; use app\service\core\addon\CoreAddonCloudService; use app\service\core\addon\CoreAddonDownloadService; use app\service\core\addon\CoreAddonInstallService; use app\service\core\addon\CoreAddonService; -use app\service\core\niucloud\CoreModuleService; use app\service\core\site\CoreSiteService; use core\base\BaseAdminService; use core\exception\CommonException; -use Exception; use think\db\exception\DbException; -use think\Response; /** @@ -36,14 +30,17 @@ use think\Response; class AddonService extends BaseAdminService { public static $cache_tag_name = 'addon_cache'; + public function __construct() { parent::__construct(); $this->model = new Addon(); } - public function getList(){ - return (new CoreAddonService())->getLocalAddonList(); + + public function getList() + { + return ( new CoreAddonService() )->getLocalAddonList(); } /** @@ -52,7 +49,7 @@ class AddonService extends BaseAdminService */ public function getLocalAddonList() { - return (new CoreAddonService())->getLocalAddonList(); + return ( new CoreAddonService() )->getLocalAddonList(); } /** @@ -112,9 +109,10 @@ class AddonService extends BaseAdminService /** * @param string $addon - * @return void + * @return array|array[]|null */ - public function uninstallCheck(string $addon) { + public function uninstallCheck(string $addon) + { return ( new CoreAddonInstallService($addon) )->uninstallCheck(); } @@ -135,7 +133,7 @@ class AddonService extends BaseAdminService */ public function getPage(array $where = []) { - return (new CoreAddonService())->getPage($where); + return ( new CoreAddonService() )->getPage($where); } /** @@ -145,7 +143,7 @@ class AddonService extends BaseAdminService */ public function getInfo(int $id) { - return (new CoreAddonService())->getInfo($id); + return ( new CoreAddonService() )->getInfo($id); } /** @@ -153,8 +151,9 @@ class AddonService extends BaseAdminService * @param int $id * @param int $status */ - public function setStatus(int $id, int $status){ - return (new CoreAddonService())->setStatus($id, $status); + public function setStatus(int $id, int $status) + { + return ( new CoreAddonService() )->setStatus($id, $status); } /** @@ -162,9 +161,10 @@ class AddonService extends BaseAdminService * @param string $app_key * @return true */ - public function download(string $app_key, string $version){ + public function download(string $app_key, string $version) + { if (empty($version)) throw new CommonException('ADDON_DOWNLOAD_VERSION_EMPTY'); - return (new CoreAddonDownloadService())->download($app_key, $version); + return ( new CoreAddonDownloadService() )->download($app_key, $version); } @@ -172,8 +172,9 @@ class AddonService extends BaseAdminService * 查询已安装应用 * @return array */ - public function getInstallList(){ - return (new CoreAddonService())->getInstallAddonList(); + public function getInstallList() + { + return ( new CoreAddonService() )->getInstallAddonList(); } @@ -185,12 +186,14 @@ class AddonService extends BaseAdminService * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\ModelNotFoundException */ - public function getAddonListBySiteId(int $site_id){ + public function getAddonListBySiteId(int $site_id) + { $addon_keys = $this->getAddonKeysBySiteId($site_id); return $this->getAddonListByKeys($addon_keys); } + /** * 应用key缓存 * @param $keys @@ -199,15 +202,16 @@ class AddonService extends BaseAdminService * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\ModelNotFoundException */ - public function getAddonListByKeys($keys){ + public function getAddonListByKeys($keys) + { sort($keys); - $cache_name = 'addon_list'.implode('_', $keys); + $cache_name = 'addon_list' . implode('_', $keys); return cache_remember( $cache_name, function () use ($keys) { $where = [ - ['key', 'in', $keys], - ['status', '=', AddonDict::ON] + [ 'key', 'in', $keys ], + [ 'status', '=', AddonDict::ON ] ]; return $this->model->where($where)->field('title, icon, key, desc, status, cover')->select()->toArray(); @@ -221,13 +225,14 @@ class AddonService extends BaseAdminService * @param int $site_id * @return array */ - public function getAddonKeysBySiteId(int $site_id){ - return (new CoreSiteService())->getAddonKeysBySiteId($site_id); + public function getAddonKeysBySiteId(int $site_id) + { + return ( new CoreSiteService() )->getAddonKeysBySiteId($site_id); } /** * 获取插件信息 - * @param int $id + * @param string $key * @return array */ public function getInfoByKey(string $key) diff --git a/niucloud/app/service/admin/auth/AuthSiteService.php b/niucloud/app/service/admin/auth/AuthSiteService.php index 6b855f1d2..421de0661 100644 --- a/niucloud/app/service/admin/auth/AuthSiteService.php +++ b/niucloud/app/service/admin/auth/AuthSiteService.php @@ -50,7 +50,12 @@ class AuthSiteService extends BaseAdminService * 通过站点id获取菜单列表 * @param int $is_tree * @param int|string $status + * @param string $addon + * @param int $is_button * @return mixed + * @throws DataNotFoundException + * @throws DbException + * @throws ModelNotFoundException */ public function getMenuList(int $is_tree, $status, $addon = 'all', int $is_button = 1) { diff --git a/niucloud/app/service/admin/auth/LoginService.php b/niucloud/app/service/admin/auth/LoginService.php index 7f4edcb8b..3246d1c86 100644 --- a/niucloud/app/service/admin/auth/LoginService.php +++ b/niucloud/app/service/admin/auth/LoginService.php @@ -15,14 +15,11 @@ use app\dict\sys\AppTypeDict; use app\model\sys\SysUser; use app\model\sys\SysUserRole; use app\service\admin\captcha\CaptchaService; -use app\service\admin\site\SiteService; use app\service\admin\user\UserRoleService; use app\service\admin\user\UserService; -use app\service\core\sys\CoreConfigService; use core\base\BaseAdminService; use core\exception\AuthException; use core\util\TokenAuth; -use Exception; use Throwable; use app\service\admin\home\AuthSiteService as HomeAuthSiteService; @@ -90,20 +87,34 @@ class LoginService extends BaseAdminService $app_type = AppTypeDict::SITE; } } else if($app_type == AppTypeDict::SITE){ + $auth_site_service = new \app\service\admin\home\AuthSiteService(); + $site_user = $auth_site_service->checkSiteUserAccount(); + + if ($site_user->isEmpty()) { + throw new AuthException('SITE_USER_NOT_EXIST'); + } + $site_ids = $auth_site_service->getSiteIds(); - if(!empty($site_ids)){ + + if(empty($site_ids)){ + throw new AuthException('USER_LOCK'); + }else{ $default_site_id = in_array($this->site_id, $site_ids) || AuthService::isSuperAdmin() ? $this->site_id : $site_ids[0]; } - if (!empty($default_site_id)) { - $userrole = $user_role_service->getUserRole($default_site_id, $userinfo->uid); - if (!empty($userrole)) { - if (!$userrole['status']) throw new AuthException('USER_LOCK'); - if (!$userrole['is_admin']) { - $rules = $user_role_service->getRoleByUserRoleIds($userrole['role_ids'], $default_site_id); - if (empty($rules) || count($rules) == 0) throw new AuthException('USER_LOCK'); - } - } - } +// $site_ids = $auth_site_service->getSiteIds(); +// if(!empty($site_ids)){ +// $default_site_id = in_array($this->site_id, $site_ids) || AuthService::isSuperAdmin() ? $this->site_id : $site_ids[0]; +// } +// if (!empty($default_site_id)) { +// $userrole = $user_role_service->getUserRole($default_site_id, $userinfo->uid); +// if (!empty($userrole)) { +// if (!$userrole['status']) throw new AuthException('USER_LOCK'); +// if (!$userrole['is_admin']) { +// $rules = $user_role_service->getRoleByUserRoleIds($userrole['role_ids'], $default_site_id); +// if (empty($rules) || count($rules) == 0) throw new AuthException('USER_LOCK'); +// } +// } +// } } else { throw new AuthException('APP_TYPE_NOT_EXIST'); } diff --git a/niucloud/app/service/admin/dict/DictService.php b/niucloud/app/service/admin/dict/DictService.php index 9660c3f0e..9fd758462 100644 --- a/niucloud/app/service/admin/dict/DictService.php +++ b/niucloud/app/service/admin/dict/DictService.php @@ -13,6 +13,9 @@ namespace app\service\admin\dict; use app\model\dict\Dict; use core\base\BaseAdminService; +use think\db\exception\DataNotFoundException; +use think\db\exception\DbException; +use think\db\exception\ModelNotFoundException; /** @@ -99,8 +102,10 @@ class DictService extends BaseAdminService /** * 获取全部数据字典 - * @param array $where * @return array + * @throws DataNotFoundException + * @throws DbException + * @throws ModelNotFoundException */ public function getAll() { diff --git a/niucloud/app/service/admin/diy/DiyConfigService.php b/niucloud/app/service/admin/diy/DiyConfigService.php index 66038c36e..fd31592df 100644 --- a/niucloud/app/service/admin/diy/DiyConfigService.php +++ b/niucloud/app/service/admin/diy/DiyConfigService.php @@ -28,7 +28,7 @@ class DiyConfigService extends BaseAdminService /** * 获取底部导航列表 * @param array $params - * @return array|mixed + * @return array */ public function getBottomList($params = []) { diff --git a/niucloud/app/service/admin/diy/DiyService.php b/niucloud/app/service/admin/diy/DiyService.php index 133542e2b..3b7614451 100644 --- a/niucloud/app/service/admin/diy/DiyService.php +++ b/niucloud/app/service/admin/diy/DiyService.php @@ -29,7 +29,6 @@ use think\db\exception\DataNotFoundException; use think\db\exception\DbException; use think\db\exception\ModelNotFoundException; use think\facade\Db; -use think\facade\Log; /** * 自定义页面服务层 @@ -62,26 +61,43 @@ class DiyService extends BaseAdminService /** * 获取自定义页面分页列表,轮播搜索组件用 * 查询微页面,数据排除存在轮播搜索组件的 - * @param array $where * @return array + * @throws DbException */ public function getPageByCarouselSearch() { - $field = 'id,site_id,title,page_title,name,template,type,mode,is_default,share,visit_count,create_time,update_time,value'; + $field = 'id,title,page_title,name,type,create_time,value'; $order = "update_time desc"; - $search_model = $this->model->whereOr([ - [ - [ 'type', '=', 'DIY_PAGE' ], - [ 'site_id', '=', $this->site_id ], - [ 'value', 'not in', [ 'top_fixed', 'right_fixed', 'bottom_fixed', 'left_fixed', 'fixed' ] ] - ], - [ - [ 'type', '<>', 'DIY_PAGE' ], - [ 'site_id', '=', $this->site_id ], - [ 'is_default', '=', 0 ], - [ 'value', 'not in', [ 'top_fixed', 'right_fixed', 'bottom_fixed', 'left_fixed', 'fixed' ] ] - ] - ])->field($field)->order($order)->append([ 'type_name', 'type_page', 'addon_name' ]); + $search_model = $this->model + ->whereOr([ + [ + [ 'type', '=', 'DIY_PAGE' ], + [ 'site_id', '=', $this->site_id ], + [ 'value', 'not like', + [ + '%"position":"top_fixed"%', + '%"position":"right_fixed"%', + '%"position":"bottom_fixed"%', + '%"position":"left_fixed"%', + '%"position":"fixed"%' + ] + ] + ], + [ + [ 'type', '<>', 'DIY_PAGE' ], + [ 'site_id', '=', $this->site_id ], + [ 'is_default', '=', 0 ], + [ 'value', 'not like', + [ + '%"position":"top_fixed"%', + '%"position":"right_fixed"%', + '%"position":"bottom_fixed"%', + '%"position":"left_fixed"%', + '%"position":"fixed"%' + ] + ] + ] + ])->field($field)->order($order)->append([ 'type_name', 'type_page', 'addon_name' ]); return $this->pageQuery($search_model); } @@ -326,6 +342,17 @@ class DiyService extends BaseAdminService $data[ 'component' ] = $this->getComponentList($data[ 'type' ]); $data[ 'domain_url' ] = ( new SystemService() )->getUrl(); + $diy_template = []; + if (!empty($data[ 'name' ])) { + $diy_template = TemplateDict::getTemplate([ + 'key' => [ $data[ 'name' ] ] + ]); + if (!empty($diy_template)) { + $diy_template = $diy_template[ $data[ 'name' ] ]; + } + } + $data[ 'global' ] = $diy_template[ 'global' ] ?? []; + return $data; } @@ -337,11 +364,27 @@ class DiyService extends BaseAdminService public function getComponentList(string $name = '') { $data = ComponentDict::getComponent(); + + $diy_template = []; + if (!empty($name)) { + $diy_template = TemplateDict::getTemplate([ + 'key' => [ $name ] + ]); + if (!empty($diy_template)) { + $diy_template = $diy_template[ $name ]; + } + } foreach ($data as $k => $v) { // 查询组件支持的页面 $sort_arr = []; foreach ($v[ 'list' ] as $ck => $cv) { $support_page = $cv[ 'support_page' ]; + // 过滤忽略组件名单 + if (!empty($name) && !empty($diy_template) && isset($diy_template[ 'ignoreComponents' ]) && in_array($ck, $diy_template[ 'ignoreComponents' ])) { + unset($data[ $k ][ 'list' ][ $ck ]); + continue; + } + // 过滤页面不支持的组件 if (!( count($support_page) == 0 || in_array($name, $support_page) )) { unset($data[ $k ][ 'list' ][ $ck ]); continue; @@ -350,6 +393,10 @@ class DiyService extends BaseAdminService $sort_arr [] = $cv[ 'sort' ]; unset($data[ $k ][ 'list' ][ $ck ][ 'sort' ], $data[ $k ][ 'list' ][ $ck ][ 'support_page' ]); } + if (empty($data[ $k ][ 'list' ])) { + unset($data[ $k ]); + continue; + } array_multisort($sort_arr, SORT_ASC, $data[ $k ][ 'list' ]); //排序,根据 sort 排序 } diff --git a/niucloud/app/service/admin/diy_form/DiyFormService.php b/niucloud/app/service/admin/diy_form/DiyFormService.php index 5b3c26eb9..7eff6b672 100644 --- a/niucloud/app/service/admin/diy_form/DiyFormService.php +++ b/niucloud/app/service/admin/diy_form/DiyFormService.php @@ -32,7 +32,6 @@ use think\db\exception\DataNotFoundException; use think\db\exception\DbException; use think\db\exception\ModelNotFoundException; use think\facade\Db; -use think\facade\Log; /** * 万能表单服务层 @@ -112,7 +111,7 @@ class DiyFormService extends BaseAdminService * 获取万能表单信息 * @param int $form_id * @param string $field - * @return mixed + * @return array */ public function getInfo(int $form_id, $field = 'form_id, page_title, title, type, status, value, addon, share, write_num,template') { @@ -122,7 +121,7 @@ class DiyFormService extends BaseAdminService /** * 获取万能表单数量 * @param array $where - * @return mixed + * @return int */ public function getCount(array $where = []) { @@ -551,7 +550,7 @@ class DiyFormService extends BaseAdminService /** * 修改状态 * @param $data - * @return Bool + * @return DiyForm */ public function modifyStatus($data) { @@ -627,8 +626,10 @@ class DiyFormService extends BaseAdminService * 获取万能表单字段列表 * @param array $where * @param string $field - * @param string $order - * @return mixed + * @return array + * @throws DataNotFoundException + * @throws DbException + * @throws ModelNotFoundException */ public function getFieldsList($where = [], $field = 'field_id, form_id, field_key, field_type, field_name, field_remark, write_num, field_required, field_hidden, field_unique, privacy_protection, create_time, update_time') { diff --git a/niucloud/app/service/admin/generator/core/WebEditGenerator.php b/niucloud/app/service/admin/generator/core/WebEditGenerator.php index a92fa6399..6f15cd23b 100644 --- a/niucloud/app/service/admin/generator/core/WebEditGenerator.php +++ b/niucloud/app/service/admin/generator/core/WebEditGenerator.php @@ -435,7 +435,7 @@ class WebEditGenerator extends BaseGenerator /** * 获取文件生成到插件中 - * @return void + * @return string */ public function getAddonObjectOutDir() { $dir = $this->rootDir . DIRECTORY_SEPARATOR.'niucloud'.DIRECTORY_SEPARATOR.'addon'.DIRECTORY_SEPARATOR.$this->addonName.DIRECTORY_SEPARATOR.'admin'.DIRECTORY_SEPARATOR.'views'.DIRECTORY_SEPARATOR. $this->moduleName . DIRECTORY_SEPARATOR.'components'.DIRECTORY_SEPARATOR; @@ -492,7 +492,7 @@ class WebEditGenerator extends BaseGenerator /** * 调用字典方法 - * @return void + * @return string */ public function getDictList() { @@ -518,7 +518,7 @@ class WebEditGenerator extends BaseGenerator /** * 调用远程下拉方法 - * @return void + * @return string */ public function getModelData() { @@ -542,7 +542,7 @@ class WebEditGenerator extends BaseGenerator /** * 编辑远程下拉方法 - * @return void + * @return string */ public function getEditWithApiPath() { @@ -559,7 +559,7 @@ class WebEditGenerator extends BaseGenerator /** * 增加关联方法 - * @return void + * @return string */ public function getWithApiPath() { diff --git a/niucloud/app/service/admin/generator/core/WebEditPageGenerator.php b/niucloud/app/service/admin/generator/core/WebEditPageGenerator.php index 82d2ccb93..337d344f8 100644 --- a/niucloud/app/service/admin/generator/core/WebEditPageGenerator.php +++ b/niucloud/app/service/admin/generator/core/WebEditPageGenerator.php @@ -505,7 +505,7 @@ class WebEditPageGenerator extends BaseGenerator /** * 调用远程下拉方法 - * @return void + * @return string */ public function getModelData() { @@ -528,7 +528,7 @@ class WebEditPageGenerator extends BaseGenerator /** * 编辑远程下拉方法 - * @return void + * @return string */ public function getEditWithApiPath() { diff --git a/niucloud/app/service/admin/generator/core/WebIndexGenerator.php b/niucloud/app/service/admin/generator/core/WebIndexGenerator.php index 63f9f4515..b0c144273 100644 --- a/niucloud/app/service/admin/generator/core/WebIndexGenerator.php +++ b/niucloud/app/service/admin/generator/core/WebIndexGenerator.php @@ -539,7 +539,7 @@ class WebIndexGenerator extends BaseGenerator /** * 增加关联方法 - * @return void + * @return string */ public function getWithApiPath() { @@ -556,7 +556,7 @@ class WebIndexGenerator extends BaseGenerator /** * 调用远程下拉方法 - * @return void + * @return string */ public function getModelData() { diff --git a/niucloud/app/service/admin/home/AuthSiteService.php b/niucloud/app/service/admin/home/AuthSiteService.php index 712695f03..94e4abd5c 100644 --- a/niucloud/app/service/admin/home/AuthSiteService.php +++ b/niucloud/app/service/admin/home/AuthSiteService.php @@ -13,19 +13,15 @@ namespace app\service\admin\home; use app\dict\addon\AddonDict; -use app\dict\sys\AppTypeDict; -use app\dict\sys\MenuTypeDict; use app\model\addon\Addon; use app\model\site\Site; use app\model\site\SiteGroup; -use app\model\sys\SysMenu; use app\model\sys\SysUserRole; use app\model\sys\UserCreateSiteLimit; use app\service\admin\auth\AuthService; use app\service\admin\site\SiteGroupService; use app\service\admin\site\SiteService; use app\service\admin\sys\ConfigService; -use app\service\admin\sys\RoleService; use core\base\BaseAdminService; use core\exception\CommonException; use core\exception\HomeException; @@ -98,8 +94,10 @@ class AuthSiteService extends BaseAdminService /** * 查询用户角色类表 - * @param int $uid * @return mixed|string + * @throws DataNotFoundException + * @throws DbException + * @throws ModelNotFoundException */ public function getSiteIds(){ $cache_name = 'user_role_list_'.$this->uid; @@ -119,6 +117,19 @@ class AuthSiteService extends BaseAdminService ); } + /** + * 检测站点用户是否存在 + * @return Site|array|mixed|\think\Model + */ + public function checkSiteUserAccount() + { + $where = [ + ['uid', '=', $this->uid], + ['site_id', '<>', request()->defaultSiteId()] + ]; + return (new SysUserRole())->where($where)->findOrEmpty(); + } + /** * 编辑站点信息 * @param int $site_id @@ -199,7 +210,7 @@ class AuthSiteService extends BaseAdminService /** * 创建站点 * @param array $data - * @return void + * @return true */ public function createSite(array $data) { if (!AuthService::isSuperAdmin()) { diff --git a/niucloud/app/service/admin/member/AddressService.php b/niucloud/app/service/admin/member/AddressService.php index 955d7d8f3..733ea4b9b 100644 --- a/niucloud/app/service/admin/member/AddressService.php +++ b/niucloud/app/service/admin/member/AddressService.php @@ -15,7 +15,6 @@ use app\model\member\MemberAddress; use app\service\admin\sys\AreaService; use app\service\core\member\CoreMemberAddressService; use core\base\BaseAdminService; -use core\exception\AdminException; /** diff --git a/niucloud/app/service/admin/member/MemberCashOutService.php b/niucloud/app/service/admin/member/MemberCashOutService.php index a08057869..f50500f9a 100644 --- a/niucloud/app/service/admin/member/MemberCashOutService.php +++ b/niucloud/app/service/admin/member/MemberCashOutService.php @@ -126,7 +126,7 @@ class MemberCashOutService extends BaseAdminService /** * 取消体现 * @param int $id - * @return mixed + * @return true|null */ public function cancel(int $id){ $core_member_cash_out_service = new CoreMemberCashOutService(); diff --git a/niucloud/app/service/admin/member/MemberConfigService.php b/niucloud/app/service/admin/member/MemberConfigService.php index c64a120ff..895791076 100644 --- a/niucloud/app/service/admin/member/MemberConfigService.php +++ b/niucloud/app/service/admin/member/MemberConfigService.php @@ -11,11 +11,9 @@ namespace app\service\admin\member; -use app\model\sys\SysConfig; use app\service\core\member\CoreMemberConfigService; use app\service\core\member\CoreMemberService; use core\base\BaseAdminService; -use think\Model; /** * 会员设置 diff --git a/niucloud/app/service/admin/member/MemberLevelService.php b/niucloud/app/service/admin/member/MemberLevelService.php index 2d39cbe21..fef8b05cc 100644 --- a/niucloud/app/service/admin/member/MemberLevelService.php +++ b/niucloud/app/service/admin/member/MemberLevelService.php @@ -19,7 +19,6 @@ use core\exception\CommonException; use think\db\exception\DataNotFoundException; use think\db\exception\DbException; use think\db\exception\ModelNotFoundException; -use think\Response; /** * 会员等级 diff --git a/niucloud/app/service/admin/member/MemberService.php b/niucloud/app/service/admin/member/MemberService.php index 87314c52d..527c24578 100644 --- a/niucloud/app/service/admin/member/MemberService.php +++ b/niucloud/app/service/admin/member/MemberService.php @@ -44,11 +44,11 @@ class MemberService extends BaseAdminService public function getPage(array $where = []) { $field = 'member_id, member_no, site_id, username, mobile, password, register_channel, register_type, nickname, headimg, member_level, member_label, wx_openid, weapp_openid, wx_unionid, ali_openid, douyin_openid, login_ip, login_type, login_channel, login_count, login_time, create_time, last_visit_time, last_consum_time, sex, status, birthday, point, point_get, balance, balance_get, growth, growth_get, is_member, member_time, is_del, province_id, city_id, district_id, address, location, delete_time, money, money_get, commission, commission_get, commission_cash_outing'; - $search_model = $this->model->where([['site_id', '=', $this->site_id]])->withSearch(['keyword','register_type', 'create_time', 'is_del', 'member_label', 'register_channel','member_level'],$where) + $search_model = $this->model->where([ [ 'site_id', '=', $this->site_id ] ])->withSearch([ 'keyword', 'register_type', 'create_time', 'is_del', 'member_label', 'register_channel', 'member_level' ], $where) ->field($field) ->order('member_id desc') ->with('member_level_name_bind') - ->append(['register_channel_name', 'register_type_name', 'sex_name', 'login_channel_name', 'login_type_name', 'status_name']); + ->append([ 'register_channel_name', 'register_type_name', 'sex_name', 'login_channel_name', 'login_type_name', 'status_name' ]); return $this->pageQuery($search_model, function ($item, $key) { $item = $this->makeUp($item); }); @@ -65,12 +65,13 @@ class MemberService extends BaseAdminService public function getList(array $where = []) { $field = 'member_id, nickname, headimg'; - $temp_where[] = ['site_id', '=', $this->site_id]; - if (!empty($where['member_ids'])){ - $temp_where[] = ['member_id', 'in', implode(',',$where['member_ids'])]; + $temp_where[] = [ 'site_id', '=', $this->site_id ]; + if (!empty($where[ 'member_ids' ])) { + $temp_where[] = [ 'member_id', 'in', implode(',', $where[ 'member_ids' ]) ]; } - return $this->model->where($temp_where)->withSearch(['keyword'],$where)->field($field)->order('member_id desc')->limit($this->getPageParam()['limit'] ?? 0)->select()->toArray(); + return $this->model->where($temp_where)->withSearch([ 'keyword' ], $where)->field($field)->order('member_id desc')->limit($this->getPageParam()[ 'limit' ] ?? 0)->select()->toArray(); } + /** * 会员详情 * @param int $member_id @@ -79,7 +80,7 @@ class MemberService extends BaseAdminService public function getInfo(int $member_id) { $field = 'member_id,member_no, id_card,remark,site_id, username, mobile, password, register_channel, register_type, nickname, headimg, member_level, member_label, wx_openid, weapp_openid, wx_unionid, ali_openid, douyin_openid, login_ip, login_type, login_channel, login_count, login_time, create_time, last_visit_time, last_consum_time, sex, status, birthday, point, point_get, balance, balance_get, growth, growth_get, is_member, member_time, is_del, province_id, city_id, district_id, address, location, delete_time, money, money_get, commission, commission_get, commission_cash_outing'; - return $this->makeUp($this->model->where([['member_id', '=', $member_id], ['site_id', '=', $this->site_id]])->field($field)->with('member_level_name_bind')->append(['register_channel_name', 'register_type_name', 'sex_name', 'login_channel_name', 'login_type_name', 'status_name'])->findOrEmpty()->toArray()); + return $this->makeUp($this->model->where([ [ 'member_id', '=', $member_id ], [ 'site_id', '=', $this->site_id ] ])->field($field)->with('member_level_name_bind')->append([ 'register_channel_name', 'register_type_name', 'sex_name', 'login_channel_name', 'login_type_name', 'status_name' ])->findOrEmpty()->toArray()); } /** @@ -91,37 +92,37 @@ class MemberService extends BaseAdminService { //检测手机是否重复 - if(!empty($data['mobile'])){ - if(!$this->model->where([['site_id', '=', $this->site_id], ['mobile', '=', $data['mobile']]])->findOrEmpty()->isEmpty()) - throw new AdminException('MOBILE_IS_EXIST'); + if (!empty($data[ 'mobile' ])) { + if (!$this->model->where([ [ 'site_id', '=', $this->site_id ], [ 'mobile', '=', $data[ 'mobile' ] ] ])->findOrEmpty()->isEmpty()) + throw new AdminException('MOBILE_IS_EXIST'); } - if($data['init_member_no'] != $data['member_no']){ - if(!$this->model->where([['site_id', '=', $this->site_id], ['member_no', '=', $data['member_no']]])->findOrEmpty()->isEmpty()) + if ($data[ 'init_member_no' ] != $data[ 'member_no' ]) { + if (!$this->model->where([ [ 'site_id', '=', $this->site_id ], [ 'member_no', '=', $data[ 'member_no' ] ] ])->findOrEmpty()->isEmpty()) throw new AdminException('MEMBER_NO_IS_EXIST'); - }else{ - if(!$this->model->where([['site_id', '=', $this->site_id], ['member_no', '=', $data['member_no']]])->findOrEmpty()->isEmpty()){ - $data['member_no'] = $this->getMemberNo(); + } else { + if (!$this->model->where([ [ 'site_id', '=', $this->site_id ], [ 'member_no', '=', $data[ 'member_no' ] ] ])->findOrEmpty()->isEmpty()) { + $data[ 'member_no' ] = $this->getMemberNo(); } } - $data['username'] = $data['mobile']; - if(!empty($data['username'])){ - if(!$this->model->where([['site_id', '=', $this->site_id], ['username', '=', $data['username']]])->findOrEmpty()->isEmpty()) + $data[ 'username' ] = $data[ 'mobile' ]; + if (!empty($data[ 'username' ])) { + if (!$this->model->where([ [ 'site_id', '=', $this->site_id ], [ 'username', '=', $data[ 'username' ] ] ])->findOrEmpty()->isEmpty()) throw new AdminException('MEMBER_IS_EXIST'); } - if (empty($data[ 'nickname' ]) && !empty($data['mobile'])) { - $data[ 'nickname' ] = substr_replace($data['mobile'], '****', 3, 4); + if (empty($data[ 'nickname' ]) && !empty($data[ 'mobile' ])) { + $data[ 'nickname' ] = substr_replace($data[ 'mobile' ], '****', 3, 4); } - $data['site_id'] = $this->site_id; - $password_hash = create_password($data['password']); - $data['password'] = $password_hash; - $data['register_type'] = MemberRegisterTypeDict::MANUAL; - $data['register_channel'] = MemberRegisterChannelDict::MANUAL; // todo 公共化渠道 + $data[ 'site_id' ] = $this->site_id; + $password_hash = create_password($data[ 'password' ]); + $data[ 'password' ] = $password_hash; + $data[ 'register_type' ] = MemberRegisterTypeDict::MANUAL; + $data[ 'register_channel' ] = MemberRegisterChannelDict::MANUAL; // todo 公共化渠道 $member = $this->model->create($data); - $data['member_id'] = $member->member_id; + $data[ 'member_id' ] = $member->member_id; event("MemberRegister", $data); return $member->member_id; } @@ -135,11 +136,11 @@ class MemberService extends BaseAdminService public function edit(int $member_id, array $data) { $where = array( - ['site_id', '=', $this->site_id], - ['member_id', '=', $member_id], + [ 'site_id', '=', $this->site_id ], + [ 'member_id', '=', $member_id ], ); - if(!empty($data['password'])){ - $data['password'] = create_password($data['password']); + if (!empty($data[ 'password' ])) { + $data[ 'password' ] = create_password($data[ 'password' ]); } $this->model->where($where)->update($data); return true; @@ -150,10 +151,11 @@ class MemberService extends BaseAdminService * @param int $member_id * @param string $field * @param $data + * @return Member */ public function modify(int $member_id, string $field, $data) { - return (new CoreMemberService())->modify($this->site_id, $member_id, $field, $data); + return ( new CoreMemberService() )->modify($this->site_id, $member_id, $field, $data); } /** @@ -163,17 +165,22 @@ class MemberService extends BaseAdminService */ public function batchModify($data) { - return (new CoreMemberService())->batchModify($this->site_id, $data); + return ( new CoreMemberService() )->batchModify($this->site_id, $data); } /** * 组合整理数据 * @param $data + * @return mixed + * @throws DataNotFoundException + * @throws DbException + * @throws ModelNotFoundException */ - public function makeUp($data){ + public function makeUp($data) + { //会员标签 - if(!empty($data['member_label'])){ - $data['member_label_array'] = (new MemberLabelService())->getMemberLabelListByLabelIds($data['member_label']); + if (!empty($data[ 'member_label' ])) { + $data[ 'member_label_array' ] = ( new MemberLabelService() )->getMemberLabelListByLabelIds($data[ 'member_label' ]); } return $data; } @@ -183,9 +190,10 @@ class MemberService extends BaseAdminService * @return int * @throws DbException */ - public function getCount(array $where = []){ - $where[] = ['site_id', '=', $this->site_id]; - $where[] = ['is_del', '=', 0]; + public function getCount(array $where = []) + { + $where[] = [ 'site_id', '=', $this->site_id ]; + $where[] = [ 'is_del', '=', 0 ]; return $this->model->where($where)->count(); } @@ -195,10 +203,11 @@ class MemberService extends BaseAdminService * @param int $status * @return true */ - public function setStatus(array $member_ids, int $status){ + public function setStatus(array $member_ids, int $status) + { $where = array( - ['site_id', '=', $this->site_id], - ['member_id', 'in', $member_ids], + [ 'site_id', '=', $this->site_id ], + [ 'member_id', 'in', $member_ids ], ); $data = array( 'status' => $status @@ -214,7 +223,7 @@ class MemberService extends BaseAdminService */ public function getSum($field) { - return $this->model->where([['site_id', '=', $this->site_id] ])->sum($field); + return $this->model->where([ [ 'site_id', '=', $this->site_id ] ])->sum($field); } /** @@ -223,7 +232,7 @@ class MemberService extends BaseAdminService */ public function getMemberNo() { - return (new CoreMemberService())->createMemberNo($this->site_id); + return ( new CoreMemberService() )->createMemberNo($this->site_id); } /** @@ -233,8 +242,8 @@ class MemberService extends BaseAdminService */ public function deleteMember(int $member_id) { - $this->model->destroy(function($query) use($member_id){ - $query->where([['member_id', '=', $member_id], ['site_id', '=', $this->site_id]]); + $this->model->destroy(function ($query) use ($member_id) { + $query->where([ [ 'member_id', '=', $member_id ], [ 'site_id', '=', $this->site_id ] ]); }); return true; } @@ -248,42 +257,46 @@ class MemberService extends BaseAdminService { $field = 'member_id, member_no, username, mobile, nickname, point, balance, money, growth, commission, register_channel, status, create_time, last_visit_time'; //查询导出数据 - $data = $this->model->where([['site_id', '=', $this->site_id]])->withSearch(['keyword','register_type', 'create_time', 'is_del', 'member_label', 'register_channel'],$where)->field($field)->append(['register_channel_name', 'status_name'])->select()->toArray(); + $data = $this->model->where([ [ 'site_id', '=', $this->site_id ] ])->withSearch([ 'keyword', 'register_type', 'create_time', 'is_del', 'member_label', 'register_channel' ], $where)->field($field)->append([ 'register_channel_name', 'status_name' ])->select()->toArray(); //执行导出 - (new ExportService())->exportData('member', $data); + ( new ExportService() )->exportData('member', $data); return true; } /** * 获取会员权益字典 - * @return mixed + * @return array|null */ - public function getMemberBenefitsDict() { - return (new DictLoader("MemberBenefits"))->load(); + public function getMemberBenefitsDict() + { + return ( new DictLoader("MemberBenefits") )->load(); } /** * 获取会员礼包字典 * @return array|null */ - public function getMemberGiftDict() { - return (new DictLoader("MemberGift"))->load(); + public function getMemberGiftDict() + { + return ( new DictLoader("MemberGift") )->load(); } /** * 获取成长值规则字典 * @return array|null */ - public function getGrowthRuleDict() { - return (new DictLoader("GrowthRule"))->load(); + public function getGrowthRuleDict() + { + return ( new DictLoader("GrowthRule") )->load(); } /** * 获取积分规则字典 * @return array|null */ - public function getPointRuleDict() { - return (new DictLoader("PointRule"))->load(); + public function getPointRuleDict() + { + return ( new DictLoader("PointRule") )->load(); } /** @@ -291,16 +304,18 @@ class MemberService extends BaseAdminService * @param array $benefits * @return array|null */ - public function getMemberBenefitsContent(array $benefits) { - return (new CoreMemberService())->getBenefitsContent($this->site_id, $benefits); + public function getMemberBenefitsContent(array $benefits) + { + return ( new CoreMemberService() )->getBenefitsContent($this->site_id, $benefits); } /** * 获取会员礼包内容 - * @param array $benefits + * @param array $gifts * @return array|null */ - public function getMemberGiftsContent(array $gifts) { - return (new CoreMemberService())->getGiftContent($this->site_id, $gifts); + public function getMemberGiftsContent(array $gifts) + { + return ( new CoreMemberService() )->getGiftContent($this->site_id, $gifts); } } diff --git a/niucloud/app/service/admin/member/MemberSignService.php b/niucloud/app/service/admin/member/MemberSignService.php index f73a9a42c..f7edee231 100644 --- a/niucloud/app/service/admin/member/MemberSignService.php +++ b/niucloud/app/service/admin/member/MemberSignService.php @@ -50,6 +50,7 @@ class MemberSignService extends BaseAdminService /** * 组合整理数据 * @param $data + * @return mixed */ public function makeUp($data) { @@ -84,14 +85,14 @@ class MemberSignService extends BaseAdminService */ public function setSign(array $value) { - if (empty($value[ 'sign_period' ])) throw new AdminException('SIGN_PERIOD_CANNOT_EMPTY'); - if ($value[ 'sign_period' ] < 2 || $value[ 'sign_period' ] > 365) throw new AdminException('SIGN_PERIOD_BETWEEN_2_365_DAYS'); - if (!empty($value[ 'continue_award' ])) { - foreach ($value[ 'continue_award' ] as $v) { - if ($v[ 'continue_sign' ] < 2 || $v[ 'continue_sign' ] > 365) throw new AdminException('CONTINUE_SIGN_BETWEEN_2_365_DAYS'); - if ($v[ 'continue_sign' ] > $value[ 'sign_period' ]) throw new AdminException('CONTINUE_SIGN_CANNOT_GREATER_THAN_SIGN_PERIOD'); - } - } +// if (empty($value[ 'sign_period' ])) throw new AdminException('SIGN_PERIOD_CANNOT_EMPTY'); +// if ($value[ 'sign_period' ] < 2 || $value[ 'sign_period' ] > 365) throw new AdminException('SIGN_PERIOD_BETWEEN_2_365_DAYS'); +// if (!empty($value[ 'continue_award' ])) { +// foreach ($value[ 'continue_award' ] as $v) { +// if ($v[ 'continue_sign' ] < 2 || $v[ 'continue_sign' ] > 365) throw new AdminException('CONTINUE_SIGN_BETWEEN_2_365_DAYS'); +// if ($v[ 'continue_sign' ] > $value[ 'sign_period' ]) throw new AdminException('CONTINUE_SIGN_CANNOT_GREATER_THAN_SIGN_PERIOD'); +// } +// } $data = [ 'is_use' => $value[ 'is_use' ], //是否开启 'sign_period' => $value[ 'sign_period' ], // 签到周期 diff --git a/niucloud/app/service/admin/niucloud/NiucloudService.php b/niucloud/app/service/admin/niucloud/NiucloudService.php index d189a6b14..1bbfc582c 100644 --- a/niucloud/app/service/admin/niucloud/NiucloudService.php +++ b/niucloud/app/service/admin/niucloud/NiucloudService.php @@ -87,4 +87,34 @@ class NiucloudService extends BaseAdminService public function getAppVersionList($app_key) { return (new CoreModuleService())->getAppVersionList($app_key); } + + /** + * 设置 本地服务器地址 + * @param $data + * @return \app\model\sys\SysConfig|bool|\think\Model + */ + public function setLocalCloudCompileConfig($data){ + + $data = [ + 'baseUri' => $data['url'], + 'isOpen' => $data['is_open'], + ]; + return $this->core_config_service->setConfig(0,'LOCAL_CLOUD_COMPILE_CONFIG', $data); + } + + /** + * 获取 本地服务器地址 + * @param $data + * @return \app\model\sys\SysConfig|bool|array|\think\Model + */ + public function getLocalCloudCompileConfig(){ + $config = $this->core_config_service->getConfig(0,'LOCAL_CLOUD_COMPILE_CONFIG')['value'] ?? []; + return [ + 'baseUri' => $config['baseUri'] ?? '', + 'isOpen' => $config['isOpen'] ?? 0, + ]; + + } + + } diff --git a/niucloud/app/service/admin/notice/NiuSmsService.php b/niucloud/app/service/admin/notice/NiuSmsService.php index e531a0c56..9edc68d69 100644 --- a/niucloud/app/service/admin/notice/NiuSmsService.php +++ b/niucloud/app/service/admin/notice/NiuSmsService.php @@ -20,6 +20,9 @@ use app\service\core\notice\CoreNiuSmsService; use core\base\BaseAdminService; use core\exception\AdminException; use core\exception\ApiException; +use think\db\exception\DataNotFoundException; +use think\db\exception\DbException; +use think\db\exception\ModelNotFoundException; /** * 消息管理服务层 @@ -73,7 +76,7 @@ class NiuSmsService extends BaseAdminService /** * 发送动态码 - * @param $mobile + * @param $params * @return mixed */ public function sendMobileCode($params) @@ -84,7 +87,6 @@ class NiuSmsService extends BaseAdminService /** * 发送动态码 - * @param $mobile * @return mixed */ public function captcha() @@ -100,7 +102,7 @@ class NiuSmsService extends BaseAdminService */ public function registerAccount($data) { - $data['imgUrl'] = !empty($data['imgUrl']) ? request()->domain() . $data['imgUrl'] : ""; + $data['imgUrl'] = !empty($data['imgUrl']) ? request()->domain() . "/" . $data['imgUrl'] : ""; $res = $this->niu_service->registerAccount($data); return $res; } @@ -147,7 +149,7 @@ class NiuSmsService extends BaseAdminService * 重置转牛云短信账号密码 * @param $username * @param $params - * @return mixed + * @return array */ public function resetPassword($username, $params) { @@ -163,29 +165,10 @@ class NiuSmsService extends BaseAdminService ]; } - /** - * 重置转牛云短信账号密码 - * @param $username - * @param $params - * @return mixed - */ - public function forgetPassword($username, $params) - { - $account_info = $this->accountInfo($username); - $mobile_arr = explode(",", $account_info['mobiles']); - if (!in_array($params['mobile'], $mobile_arr)) { - throw new ApiException('ACCOUNT_BIND_MOBILE_ERROR'); - } - $res = $this->niu_service->resetPassword($username, $params); - $this->niu_service->setNiuLoginConfig(['username' => $username, 'password' => $res['newPassword']]); - return [ - 'password' => $res['newPassword'], - ]; - } - /** * 获取牛云短信账号发送短信列表 * @param $username + * @param $params * @return array */ public function accountSendList($username, $params) @@ -246,7 +229,7 @@ class NiuSmsService extends BaseAdminService */ public function signCreate($username, $params) { - $params['imgUrl'] = !empty($params['imgUrl']) ? request()->domain() . $params['imgUrl'] : ""; + $params['imgUrl'] = !empty($params['imgUrl']) ? request()->domain() . "/" . $params['imgUrl'] : ""; $res = $this->niu_service->signCreate($username, $params); if (!empty($res['failList'])) { throw new AdminException($res['failList'][0]['msg']); @@ -257,6 +240,8 @@ class NiuSmsService extends BaseAdminService * 签名创建 * @param $username * @param $params + * @return array|mixed + * @throws \Exception */ public function signDelete($username, $params) { @@ -273,8 +258,10 @@ class NiuSmsService extends BaseAdminService * 拉取模版状态 * @param $sms_type * @param $username - * @param $page - * @return void|array + * @return array + * @throws DataNotFoundException + * @throws DbException + * @throws ModelNotFoundException */ public function syncTemplateList($sms_type, $username) { @@ -402,17 +389,22 @@ class NiuSmsService extends BaseAdminService sort($variable); $audit_status = $report_info['audit_status'] ?? NoticeTypeDict::TEMPLATE_AUDIT_STATUS_NOT_REPORT; + $error_status = ''; if (!empty($report_info) && $variable != $params_json) { - $error_status = $audit_status == NoticeTypeDict::TEMPLATE_AUDIT_STATUS_PASS - ? NoticeTypeDict::TEMPLATE_AUDIT_STATUS_NEED_AGAIN_REPORT - : NoticeTypeDict::TEMPLATE_AUDIT_STATUS_NEED_EDIT; + if (empty($params_json)){ + $error_status = NoticeTypeDict::TEMPLATE_NEED_PULL; + }else{ + $error_status = $audit_status == NoticeTypeDict::TEMPLATE_AUDIT_STATUS_PASS + ? NoticeTypeDict::TEMPLATE_AUDIT_STATUS_NEED_AGAIN_REPORT + : NoticeTypeDict::TEMPLATE_AUDIT_STATUS_NEED_EDIT; + } } $item['audit_info'] = [ 'audit_msg' => $report_info['audit_msg'] ?? '', 'audit_status' => $audit_status, 'audit_status_name' => NoticeTypeDict::getTemplateAuditStatus($audit_status), - 'error_status' => $error_status ?? '', + 'error_status' => $error_status, 'error_status_name' => !empty($error_status) ? NoticeTypeDict::getTemplateAuditStatus($error_status) : "" ]; } @@ -422,6 +414,9 @@ class NiuSmsService extends BaseAdminService public function checkTemplateAudit($template_key, $template_id) { $config = $this->niu_service->getNiuLoginConfig(true); + if (empty($config)) { + throw new AdminException('SMS_TYPE_NOT_OPEN'); + } //当前使用短信功能提供商非牛云短信无需校验模版ID是否正常 if (isset($config['default']) && $config['default'] != SmsDict::NIUSMS) { return true; @@ -492,7 +487,7 @@ class NiuSmsService extends BaseAdminService * @param $sms_type * @param $username * @param $template_key - * @return mixed + * @return array */ public function templateInfo($sms_type, $username, $template_key) { @@ -611,6 +606,7 @@ class NiuSmsService extends BaseAdminService /** * 获取订单列表 * @param $username + * @param $params * @return mixed */ public function orderList($username, $params) diff --git a/niucloud/app/service/admin/notice/NoticeService.php b/niucloud/app/service/admin/notice/NoticeService.php index 8a2a17865..a57285393 100644 --- a/niucloud/app/service/admin/notice/NoticeService.php +++ b/niucloud/app/service/admin/notice/NoticeService.php @@ -13,11 +13,8 @@ namespace app\service\admin\notice; use app\dict\notice\NoticeDict; use app\dict\notice\NoticeTypeDict; -use app\dict\sys\ConfigKeyDict; -use app\dict\sys\SmsDict; use app\model\sys\SysNotice; use app\service\core\notice\CoreNoticeService; -use app\service\core\sys\CoreConfigService; use core\base\BaseAdminService; use core\exception\AdminException; diff --git a/niucloud/app/service/admin/notice/SmsService.php b/niucloud/app/service/admin/notice/SmsService.php index 050dc65ed..83d475c46 100644 --- a/niucloud/app/service/admin/notice/SmsService.php +++ b/niucloud/app/service/admin/notice/SmsService.php @@ -17,7 +17,6 @@ use app\dict\sys\SmsDict; use app\service\core\sys\CoreConfigService; use core\base\BaseAdminService; use core\exception\AdminException; -use think\Response; /** * 短信配置服务层 diff --git a/niucloud/app/service/admin/pay/PayChannelService.php b/niucloud/app/service/admin/pay/PayChannelService.php index cc66583cd..dc8eb3c8f 100644 --- a/niucloud/app/service/admin/pay/PayChannelService.php +++ b/niucloud/app/service/admin/pay/PayChannelService.php @@ -248,7 +248,7 @@ class PayChannelService extends BaseAdminService /** * 查询信息 * @param array $where - * @return mixed + * @return array */ public function getInfo($where = []) { diff --git a/niucloud/app/service/admin/pay/PayService.php b/niucloud/app/service/admin/pay/PayService.php index 092c3e9b4..3d01d1015 100644 --- a/niucloud/app/service/admin/pay/PayService.php +++ b/niucloud/app/service/admin/pay/PayService.php @@ -41,7 +41,7 @@ class PayService extends BaseAdminService /** * 待审核支付记录 * @param array $where - * @return mixed + * @return array */ public function getAuditPage(array $where) { @@ -53,7 +53,7 @@ class PayService extends BaseAdminService /** * 获取交易详情 * @param int $id - * @return void + * @return array */ public function getDetail(int $id) { @@ -79,6 +79,7 @@ class PayService extends BaseAdminService * 支付审核未通过 * @param string $out_trade_no * @param string $reason + * @return bool */ public function refuse(string $out_trade_no, string $reason) { @@ -104,6 +105,8 @@ class PayService extends BaseAdminService * @param string $return_url * @param string $quit_url * @param string $buyer_id + * @param string $voucher + * @param string $openid * @return mixed * @throws DataNotFoundException * @throws DbException @@ -129,7 +132,11 @@ class PayService extends BaseAdminService * 获取找朋友帮忙付支付信息 * @param string $trade_type * @param int $trade_id + * @param string $channel * @return array + * @throws DataNotFoundException + * @throws DbException + * @throws ModelNotFoundException */ public function getFriendspayInfoByTrade(string $trade_type, int $trade_id, string $channel) { @@ -163,6 +170,7 @@ class PayService extends BaseAdminService * 获取找朋友帮忙付二维码 * @param string $trade_type * @param int $trade_id + * @param string $channel * @return array */ public function getQrcode(string $trade_type, int $trade_id, string $channel) diff --git a/niucloud/app/service/admin/pay/RefundService.php b/niucloud/app/service/admin/pay/RefundService.php index 6ee4a902a..887a47f7d 100644 --- a/niucloud/app/service/admin/pay/RefundService.php +++ b/niucloud/app/service/admin/pay/RefundService.php @@ -31,7 +31,7 @@ class RefundService extends BaseAdminService /** * 退款账户记录 * @param array $where - * @return mixed + * @return array */ public function getPage(array $where){ $field = 'id,refund_no,out_trade_no,type,channel,money,reason,status,create_time,refund_time,close_time,fail_reason,voucher,trade_type,trade_id,refund_type,main_type,main_id'; diff --git a/niucloud/app/service/admin/pay/TransferService.php b/niucloud/app/service/admin/pay/TransferService.php index c46f34ef9..c015c72ee 100644 --- a/niucloud/app/service/admin/pay/TransferService.php +++ b/niucloud/app/service/admin/pay/TransferService.php @@ -11,24 +11,11 @@ namespace app\service\admin\pay; -use app\dict\common\ChannelDict; -use app\dict\pay\PayDict; -use app\dict\pay\PaySceneDict; use app\dict\pay\TransferDict; -use app\model\member\Member; use app\model\pay\Pay; -use app\model\sys\Poster; -use app\service\core\pay\CorePayService; use app\service\core\pay\CoreTransferSceneService; -use app\service\core\pay\CoreTransferService; -use app\service\core\paytype\CoreOfflineService; -use app\service\core\sys\CoreSysConfigService; use core\base\BaseAdminService; use core\exception\AdminException; -use think\db\exception\DataNotFoundException; -use think\db\exception\DbException; -use think\db\exception\ModelNotFoundException; -use think\facade\Log; /** * 支付服务层 @@ -50,7 +37,7 @@ class TransferService extends BaseAdminService * 设置转账场景id * @param $scene * @param $data - * @return void + * @return true */ public function setSceneId($scene, $data){ $core_transfer_service = new CoreTransferSceneService(); @@ -66,7 +53,7 @@ class TransferService extends BaseAdminService * 设置业务转账场景配置 * @param $type * @param $data - * @return void + * @return true */ public function setTradeScene($type, $data){ $core_transfer_service = new CoreTransferSceneService(); diff --git a/niucloud/app/service/admin/schedule/ScheduleService.php b/niucloud/app/service/admin/schedule/ScheduleService.php index 891af2106..c97f0cdbe 100644 --- a/niucloud/app/service/admin/schedule/ScheduleService.php +++ b/niucloud/app/service/admin/schedule/ScheduleService.php @@ -149,4 +149,15 @@ class ScheduleService extends BaseAdminService { return (new CoreScheduleService())->doSchedule($id); } + + /** + * 重置定时任务 + * @return true + */ + public function resetSchedule() + { + return (new CoreScheduleService())->resetSchedule(); + } + + } diff --git a/niucloud/app/service/admin/site/SiteGroupService.php b/niucloud/app/service/admin/site/SiteGroupService.php index 6a95a6af1..32ee24ae4 100644 --- a/niucloud/app/service/admin/site/SiteGroupService.php +++ b/niucloud/app/service/admin/site/SiteGroupService.php @@ -239,7 +239,7 @@ class SiteGroupService extends BaseAdminService * 查询用户某个站点套餐的站点数量 * @param $uid * @param $group_id - * @return void + * @return int */ public static function getUserSiteGroupSiteNum($uid, $group_id) { diff --git a/niucloud/app/service/admin/site/SiteService.php b/niucloud/app/service/admin/site/SiteService.php index 1a2681cec..f42db3cc0 100644 --- a/niucloud/app/service/admin/site/SiteService.php +++ b/niucloud/app/service/admin/site/SiteService.php @@ -26,7 +26,9 @@ use app\service\admin\sys\MenuService; use app\service\admin\sys\RoleService; use app\service\admin\user\UserRoleService; use app\service\admin\user\UserService; +use app\service\api\captcha\CaptchaService; use app\service\core\site\CoreSiteService; +use app\service\core\sys\CoreConfigService; use core\base\BaseAdminService; use core\exception\AdminException; use core\exception\CommonException; @@ -64,13 +66,13 @@ class SiteService extends BaseAdminService $field = 'site_id, site_name, front_end_name, front_end_logo, front_end_icon, app_type, keywords, logo, icon, `desc`, status, latitude, longitude, province_id, city_id, district_id, address, full_address, phone, business_hours, create_time, expire_time, group_id, app, addons, site_domain'; $condition = [ - [ 'app_type', '<>', 'admin' ] + ['app_type', '<>', 'admin'] ]; - $search_model = $this->model->where($condition)->withSearch([ 'create_time', 'expire_time', 'keywords', 'status', 'group_id', 'app', 'site_domain' ], $where)->with([ 'groupName' ])->field($field)->append([ 'status_name' ])->order('create_time desc'); - return $this->pageQuery($search_model, function($item) { - $item[ 'admin' ] = ( new SysUserRole() )->where([ [ 'site_id', '=', $item[ 'site_id' ] ], [ 'is_admin', '=', 1 ] ]) + $search_model = $this->model->where($condition)->withSearch(['create_time', 'expire_time', 'keywords', 'status', 'group_id', 'app', 'site_domain'], $where)->with(['groupName'])->field($field)->append(['status_name'])->order('create_time desc'); + return $this->pageQuery($search_model, function ($item) { + $item['admin'] = (new SysUserRole())->where([['site_id', '=', $item['site_id']], ['is_admin', '=', 1]]) ->field('uid') - ->with([ 'userinfo' ]) + ->with(['userinfo']) ->findOrempty()->toArray(); }); } @@ -83,12 +85,12 @@ class SiteService extends BaseAdminService public function getInfo(int $site_id) { $field = 'site_id, site_name, front_end_name, front_end_logo, front_end_icon, app_type, keywords, logo, icon, `desc`, status, latitude, longitude, province_id, city_id, - district_id, address, full_address, phone, business_hours, create_time, expire_time, group_id, app, addons, site_domain'; - $info = $this->model->where([ [ 'site_id', '=', $site_id ] ])->with([ 'groupName' ])->field($field)->append([ 'status_name' ])->findOrEmpty()->toArray(); + district_id, address, full_address, phone, business_hours, create_time, expire_time, group_id, app, addons, site_domain, meta_title, meta_desc, meta_keyword'; + $info = $this->model->where([['site_id', '=', $site_id]])->with(['groupName'])->field($field)->append(['status_name'])->findOrEmpty()->toArray(); if (!empty($info)) { - $site_addons = ( new CoreSiteService() )->getAddonKeysBySiteId($site_id); - $info[ 'site_addons' ] = ( new Addon() )->where([ [ 'key', 'in', $site_addons ] ])->field('key,title,desc,icon,type')->select()->toArray(); - $info[ 'uid' ] = ( new SysUserRole() )->where([ [ 'site_id', '=', $site_id ], [ 'is_admin', '=', 1 ] ])->value('uid'); + $site_addons = (new CoreSiteService())->getAddonKeysBySiteId($site_id); + $info['site_addons'] = (new Addon())->where([['key', 'in', $site_addons]])->field('key,title,desc,icon,type')->select()->toArray(); + $info['uid'] = (new SysUserRole())->where([['site_id', '=', $site_id], ['is_admin', '=', 1]])->value('uid'); } return $info; } @@ -102,51 +104,51 @@ class SiteService extends BaseAdminService */ public function add(array $data) { - $site_group = ( new SiteGroup() )->where([ [ 'group_id', '=', $data[ 'group_id' ] ] ])->field('app,addon')->findOrEmpty(); + $site_group = (new SiteGroup())->where([['group_id', '=', $data['group_id']]])->field('app,addon')->findOrEmpty(); if ($site_group->isEmpty()) throw new CommonException('SITE_GROUP_NOT_EXIST'); - $data[ 'app_type' ] = 'site'; + $data['app_type'] = 'site'; //添加站点 $data_site = [ - 'site_domain' => $data[ 'site_domain' ] ?? '', - 'site_name' => $data[ 'site_name' ], - 'app_type' => $data[ 'app_type' ], - 'group_id' => $data[ 'group_id' ], + 'site_domain' => $data['site_domain'] ?? '', + 'site_name' => $data['site_name'], + 'app_type' => $data['app_type'], + 'group_id' => $data['group_id'], 'create_time' => time(), - 'expire_time' => $data[ 'expire_time' ], - 'app' => $site_group[ 'app' ], + 'expire_time' => $data['expire_time'], + 'app' => $site_group['app'], 'addons' => '', - 'status' => strtotime($data[ 'expire_time' ]) > time() ? SiteDict::ON : SiteDict::EXPIRE + 'status' => strtotime($data['expire_time']) > time() ? SiteDict::ON : SiteDict::EXPIRE ]; Db::startTrans(); try { $site = $this->model->create($data_site); $site_id = $site->site_id; - if ($data[ 'uid' ]) { - ( new UserRoleService() )->add($data[ 'uid' ], [ 'role_ids' => '', 'is_admin' => 1 ], $site_id); + if ($data['uid']) { + (new UserRoleService())->add($data['uid'], ['role_ids' => '', 'is_admin' => 1], $site_id); } else { //添加用户 $data_user = [ - 'username' => $data[ 'username' ], - 'head_img' => $data[ 'head_img' ] ?? '', - 'status' => $data[ 'status' ] ?? 1, - 'real_name' => $data[ 'real_name' ] ?? '', - 'password' => $data[ 'password' ], + 'username' => $data['username'], + 'head_img' => $data['head_img'] ?? '', + 'status' => $data['status'] ?? 1, + 'real_name' => $data['real_name'] ?? '', + 'password' => $data['password'], 'role_ids' => '', 'is_admin' => 1 ]; - $data[ 'uid' ] = ( new UserService() )->addSiteUser($data_user, $site_id); + $data['uid'] = (new UserService())->addSiteUser($data_user, $site_id); } //添加站点成功事件 - event("AddSiteAfter", [ 'site_id' => $site_id, 'main_app' => $site_group[ 'app' ], 'site_addons' => $site_group[ 'addon' ] ]); + event("AddSiteAfter", ['site_id' => $site_id, 'main_app' => $site_group['app'], 'site_addons' => $site_group['addon']]); // 更新微页面数据 $diy_service = new DiyService(); - $diy_service->loadDiyData([ 'site_id' => $site_id, 'main_app' => $site_group[ 'app' ], 'tag' => 'add' ]); + $diy_service->loadDiyData(['site_id' => $site_id, 'main_app' => $site_group['app'], 'tag' => 'add']); - Cache::delete('user_role_list_' . $data[ 'uid' ]); + Cache::delete('user_role_list_' . $data['uid']); Db::commit(); return $site_id; @@ -164,49 +166,49 @@ class SiteService extends BaseAdminService */ public function edit(int $site_id, array $data) { - $site = $this->model->where([ [ 'site_id', '=', $site_id ] ])->with([ 'site_group' ])->findOrEmpty(); + $site = $this->model->where([['site_id', '=', $site_id]])->with(['site_group'])->findOrEmpty(); if ($site->isEmpty()) throw new AdminException('SITE_NOT_EXIST'); Db::startTrans(); try { - if (isset($data[ 'group_id' ]) && $site[ 'group_id' ] != $data[ 'group_id' ]) { - $old_site_group = $site[ 'site_group' ]; + if (isset($data['group_id']) && $site['group_id'] != $data['group_id']) { + $old_site_group = $site['site_group']; - $site_group = ( new SiteGroup() )->where([ [ 'group_id', '=', $data[ 'group_id' ] ] ])->field('app,addon')->findOrEmpty(); - $data[ 'app' ] = $site_group[ 'app' ]; + $site_group = (new SiteGroup())->where([['group_id', '=', $data['group_id']]])->field('app,addon')->findOrEmpty(); + $data['app'] = $site_group['app']; if (empty($site->initalled_addon)) { - $site->initalled_addon = array_merge($old_site_group[ 'app' ], $old_site_group[ 'addon' ]); + $site->initalled_addon = array_merge($old_site_group['app'], $old_site_group['addon']); } //添加站点成功事件 - event("AddSiteAfter", [ 'site_id' => $site_id, 'main_app' => array_diff($site_group[ 'app' ], $site->initalled_addon), 'site_addons' => array_diff($site_group[ 'addon' ], $site->initalled_addon) ]); + event("AddSiteAfter", ['site_id' => $site_id, 'main_app' => array_diff($site_group['app'], $site->initalled_addon), 'site_addons' => array_diff($site_group['addon'], $site->initalled_addon)]); // 更新微页面数据 $diy_service = new DiyService(); - $diy_service->loadDiyData([ 'site_id' => $site_id, 'main_app' => $site_group[ 'app' ], 'tag' => 'update' ]); + $diy_service->loadDiyData(['site_id' => $site_id, 'main_app' => $site_group['app'], 'tag' => 'update']); - $data[ 'initalled_addon' ] = array_values(array_unique(array_merge($site->initalled_addon, $site_group[ 'app' ], $site_group[ 'addon' ]))); + $data['initalled_addon'] = array_values(array_unique(array_merge($site->initalled_addon, $site_group['app'], $site_group['addon']))); } - if (isset($data[ 'expire_time' ]) && !empty($data[ 'expire_time' ])) { - $data[ 'status' ] = strtotime($data[ 'expire_time' ]) > time() ? SiteDict::ON : SiteDict::EXPIRE; + if (isset($data['expire_time']) && !empty($data['expire_time'])) { + $data['status'] = strtotime($data['expire_time']) > time() ? SiteDict::ON : SiteDict::EXPIRE; } - if (isset($data[ 'uid' ])) { - if ($data[ 'uid' ] > 0) { - ( new UserRoleService() )->editAdmin($site_id, $data[ 'uid' ]); + if (isset($data['uid'])) { + if ($data['uid'] > 0) { + (new UserRoleService())->editAdmin($site_id, $data['uid']); } else { //添加用户 $data_user = [ - 'username' => $data[ 'username' ], - 'head_img' => $data[ 'head_img' ] ?? '', - 'status' => $data[ 'status' ] ?? 1, - 'real_name' => $data[ 'real_name' ] ?? '', - 'password' => $data[ 'password' ], + 'username' => $data['username'], + 'head_img' => $data['head_img'] ?? '', + 'status' => $data['status'] ?? 1, + 'real_name' => $data['real_name'] ?? '', + 'password' => $data['password'], 'role_ids' => '', 'is_admin' => 1 ]; - $data[ 'uid' ] = ( new UserService() )->add($data_user); - ( new UserRoleService() )->editAdmin($site_id, $data[ 'uid' ]); + $data['uid'] = (new UserService())->add($data_user); + (new UserRoleService())->editAdmin($site_id, $data['uid']); } } @@ -225,19 +227,22 @@ class SiteService extends BaseAdminService /** * 删除站点 * @param int $site_id + * @return true */ public function del(int $site_id) { + ( new CaptchaService() )->check(); + Db::startTrans(); try { - $site = $this->model->where([ [ 'site_id', '=', $site_id ] ])->findOrEmpty()->toArray(); + $site = $this->model->where([['site_id', '=', $site_id]])->findOrEmpty()->toArray(); // 删除站点相关数据 - $sys_models = ( new GenerateService() )->getModels([ 'addon' => 'system' ]); + $sys_models = (new GenerateService())->getModels(['addon' => 'system']); $addon_models = []; - $addons = ( new CoreSiteService() )->getAddonKeysBySiteId($site_id); + $addons = (new CoreSiteService())->getAddonKeysBySiteId($site_id); foreach ($addons as $addon) { - $addon_models[] = ( new GenerateService() )->getModels([ 'addon' => $addon ]); + $addon_models[] = (new GenerateService())->getModels(['addon' => $addon]); } $models = array_merge($sys_models, ...$addon_models); @@ -247,8 +252,8 @@ class SiteService extends BaseAdminService $name = "\\$model"; $class = new $name(); if (in_array('site_id', $class->getTableFields())) { - $class::destroy(function($query) use ($site){ - $query->where([ [ 'site_id', '=', $site[ 'site_id' ] ] ]); + $class::destroy(function ($query) use ($site) { + $query->where([['site_id', '=', $site['site_id']]]); }); // $class->where([ [ 'site_id', '=', $site[ 'site_id' ] ] ])->delete(); } @@ -260,11 +265,11 @@ class SiteService extends BaseAdminService $sys_userrole_model = new SysUserRole(); $site_uids = $sys_userrole_model->where('site_id', $site_id)->field('site_id,uid')->select()->toArray(); $del_res = $sys_userrole_model->where('site_id', $site_id)->field('site_id,uid')->delete(); - if ($del_res){ + if ($del_res) { //删除成功是清除对应的缓存 - foreach ($site_uids as $item){ - Cache::delete('user_role_'.$item['uid'].'_'.$site_id); - Cache::delete('user_role_list_' .$item['uid']); + foreach ($site_uids as $item) { + Cache::delete('user_role_' . $item['uid'] . '_' . $site_id); + Cache::delete('user_role_list_' . $item['uid']); } } Cache::tag(self::$cache_tag_name . $site_id)->clear(); @@ -283,7 +288,7 @@ class SiteService extends BaseAdminService */ public function getCount(array $where = []) { - return $this->model->where($where)->withSearch([ 'create_time', 'group_id' ], $where)->count(); + return $this->model->where($where)->withSearch(['create_time', 'group_id'], $where)->count(); } @@ -293,7 +298,7 @@ class SiteService extends BaseAdminService */ public function getSiteCache(int $site_id) { - return ( new CoreSiteService() )->getSiteCache($site_id); + return (new CoreSiteService())->getSiteCache($site_id); } @@ -302,7 +307,8 @@ class SiteService extends BaseAdminService * @param int $site_id * @param $is_tree * @param $status - * @param $addon 所以应用名一般不建议叫all + * @param string $addon 所以应用名一般不建议叫all + * @param int $is_button * @return mixed * @throws DataNotFoundException * @throws DbException @@ -313,30 +319,30 @@ class SiteService extends BaseAdminService $site_info = $this->getSiteCache($site_id); if (empty($site_info)) return []; - $app_type = $site_info[ 'app_type' ]; + $app_type = $site_info['app_type']; if (AuthService::isSuperAdmin()) { $is_admin = 1; } else { - $user_role_info = ( new AuthService() )->getAuthRole($this->site_id); + $user_role_info = (new AuthService())->getAuthRole($this->site_id); if (empty($user_role_info)) return []; - $is_admin = $user_role_info[ 'is_admin' ];//是否是超级管理员组 + $is_admin = $user_role_info['is_admin'];//是否是超级管理员组 } if ($is_admin) { //获取全部菜单列表 - $all_menu_list = ( new MenuService() )->getAllMenuList($app_type, $status, $is_tree, $is_button); + $all_menu_list = (new MenuService())->getAllMenuList($app_type, $status, $is_tree, $is_button); //根据parent_select_key字段重新整理上下级关系 并返回 - return ( new MenuService() )->moveChildrenToParent($all_menu_list); + return (new MenuService())->moveChildrenToParent($all_menu_list); } else { - $user_role_ids = $user_role_info[ 'role_ids' ]; + $user_role_ids = $user_role_info['role_ids']; $role_service = new RoleService(); $menu_keys = $role_service->getMenuIdsByRoleIds($this->site_id, $user_role_ids); //获取全部菜单列表 - $all_menu_list = ( new MenuService() )->getMenuListByMenuKeys($this->site_id, $menu_keys, $this->app_type, 1, is_button:$is_button); + $all_menu_list = (new MenuService())->getMenuListByMenuKeys($this->site_id, $menu_keys, $this->app_type, 1, is_button: $is_button); //根据parent_select_key字段重新整理上下级关系 并返回 - return ( new MenuService() )->moveChildrenToParent($all_menu_list); + return (new MenuService())->moveChildrenToParent($all_menu_list); } } @@ -351,13 +357,13 @@ class SiteService extends BaseAdminService $site_info = $this->getSiteCache($site_id); if (empty($site_info)) return []; - $app_type = $site_info[ 'app_type' ]; + $app_type = $site_info['app_type']; if ($app_type == AppTypeDict::ADMIN) { - return ( new MenuService() )->getAllMenuIdsByAppType($app_type, $status); + return (new MenuService())->getAllMenuIdsByAppType($app_type, $status); } else { - $addons = ( new AddonService() )->getAddonKeysBySiteId($site_id); - return ( new MenuService() )->getMenuKeysBySystem($app_type, $addons); + $addons = (new AddonService())->getAddonKeysBySiteId($site_id); + return (new MenuService())->getMenuKeysBySystem($app_type, $addons); } } @@ -373,12 +379,12 @@ class SiteService extends BaseAdminService $site_info = $this->getSiteCache($site_id); if (empty($site_info)) return []; - $app_type = $site_info[ 'app_type' ]; + $app_type = $site_info['app_type']; if ($app_type == AppTypeDict::ADMIN) { - return ( new MenuService() )->getAllApiList($app_type, $status); + return (new MenuService())->getAllApiList($app_type, $status); } else { - $addons = ( new AddonService() )->getAddonKeysBySiteId($site_id); - return ( new MenuService() )->getApiListBySystem($app_type, $addons); + $addons = (new AddonService())->getAddonKeysBySiteId($site_id); + return (new MenuService())->getApiListBySystem($app_type, $addons); } } @@ -390,7 +396,7 @@ class SiteService extends BaseAdminService public function getExpireTime(int $site_id) { $field = 'expire_time'; - return $this->model->where([ [ 'site_id', '=', $site_id ] ])->field($field)->findOrEmpty()->toArray(); + return $this->model->where([['site_id', '=', $site_id]])->field($field)->findOrEmpty()->toArray(); } @@ -400,8 +406,8 @@ class SiteService extends BaseAdminService */ public function getSiteAddons(array $where) { - $site_addon = ( new CoreSiteService() )->getAddonKeysBySiteId($this->site_id); - return ( new Addon() )->where([ [ 'type', '=', AddonDict::ADDON ], [ 'status', '=', AddonDict::ON ], [ 'key', 'in', $site_addon ] ])->withSearch([ 'title' ], $where)->append([ 'status_name' ])->field('title, icon, key, desc, status, type, support_app')->select()->toArray(); + $site_addon = (new CoreSiteService())->getAddonKeysBySiteId($this->site_id); + return (new Addon())->where([['type', '=', AddonDict::ADDON], ['status', '=', AddonDict::ON], ['key', 'in', $site_addon]])->withSearch(['title'], $where)->append(['status_name'])->field('title, icon, key, desc, status, type, support_app')->select()->toArray(); } /** @@ -410,7 +416,7 @@ class SiteService extends BaseAdminService */ public function getAddonKeysBySiteId() { - $site_addon = ( new CoreSiteService() )->getAddonKeysBySiteId($this->site_id); + $site_addon = (new CoreSiteService())->getAddonKeysBySiteId($this->site_id); return $site_addon; } @@ -442,11 +448,11 @@ class SiteService extends BaseAdminService foreach ($v as $ck => $cv) { if (!empty($cv)) { foreach ($cv as $addon_k => $addon_v) { - if (in_array($addon_v[ 'key' ], $keys)) { + if (in_array($addon_v['key'], $keys)) { continue; } - $list[ $ck ][ 'list' ][] = $addon_v; - $keys[] = $addon_v[ 'key' ]; + $list[$ck]['list'][] = $addon_v; + $keys[] = $addon_v['key']; } } @@ -457,12 +463,12 @@ class SiteService extends BaseAdminService $site_addons = $this->getSiteAddons([]); if (!empty($site_addons)) { foreach ($site_addons as $k => $v) { - if (!in_array($v[ 'key' ], $keys)) { - $list[ 'addon' ][ 'list' ][] = [ - 'title' => $v[ 'title' ], - 'desc' => $v[ 'desc' ], - 'icon' => $v[ 'icon' ], - 'key' => $v[ 'key' ] + if (!in_array($v['key'], $keys)) { + $list['addon']['list'][] = [ + 'title' => $v['title'], + 'desc' => $v['desc'], + 'icon' => $v['icon'], + 'key' => $v['key'] ]; } } @@ -492,11 +498,11 @@ class SiteService extends BaseAdminService foreach ($v as $ck => $cv) { if (!empty($cv)) { foreach ($cv as $addon_k => $addon_v) { - if (in_array($addon_v[ 'key' ], $keys)) { + if (in_array($addon_v['key'], $keys)) { continue; } - $list[ $ck ][ 'list' ][] = $addon_v; - $keys[] = $addon_v[ 'key' ]; + $list[$ck]['list'][] = $addon_v; + $keys[] = $addon_v['key']; } } @@ -512,16 +518,37 @@ class SiteService extends BaseAdminService */ public function siteInit($data) { - $site_id = $data[ 'site_id' ]; + ( new CaptchaService() )->check(); + + $site_id = $data['site_id']; if (empty($site_id)) throw new AdminException('SITE_NOT_EXIST'); - $site = $this->model->where([ [ 'site_id', '=', $site_id ] ])->with([ 'site_group' ])->findOrEmpty()->toArray(); + $site = $this->model->where([['site_id', '=', $site_id]])->with(['site_group'])->findOrEmpty()->toArray(); if (empty($site)) throw new AdminException('SITE_NOT_EXIST'); - event('SiteInit', [ 'site_id' => $site_id, 'main_app' => $site[ 'site_group' ][ 'app' ], 'site_addons' => $site[ 'site_group' ][ 'addon' ] ]); + event('SiteInit', ['site_id' => $site_id, 'main_app' => $site['site_group']['app'], 'site_addons' => $site['site_group']['addon']]); + + // 更新微页面数据 + $diy_service = new DiyService(); + $diy_service->loadDiyData(['site_id' => $site_id, 'main_app' => $site['site_group']['app'], 'tag' => 'add']); + Cache::clear(); return true; } + public function setIsAllowChangeSite($is_allow) + { + (new CoreConfigService())->setConfig(0, 'IS_ALLOW_CHANGE_SITE', ['is_allow' => $is_allow]); + } + + public function getIsAllowChangeSite() + { + $config = (new CoreConfigService())->getConfigValue(0, 'IS_ALLOW_CHANGE_SITE'); + if (empty($config)) { + $config = ['is_allow' => 1]; + } + return $config; + } + } diff --git a/niucloud/app/service/admin/stat/StatService.php b/niucloud/app/service/admin/stat/StatService.php index dc2ff9355..9ce2e7dcf 100644 --- a/niucloud/app/service/admin/stat/StatService.php +++ b/niucloud/app/service/admin/stat/StatService.php @@ -120,7 +120,7 @@ class StatService extends BaseAdminService $woman_count = ( new CoreMemberService() )->getCount([ 'sex' => '2' ]); $data[ 'member_stat' ][ 'value' ] = [ $man_count, $woman_count, (int) ( $data[ 'today_data' ][ 'total_member_count' ] - $man_count - $woman_count ) ]; - $site_group_list = ( new SiteGroupService() )->getAll([]); + $site_group_list = ( new SiteGroupService() )->getAll(); if (!empty($site_group_list)) { foreach ($site_group_list as $v) { diff --git a/niucloud/app/service/admin/sys/AttachmentService.php b/niucloud/app/service/admin/sys/AttachmentService.php index 6fb96826b..8adac3787 100644 --- a/niucloud/app/service/admin/sys/AttachmentService.php +++ b/niucloud/app/service/admin/sys/AttachmentService.php @@ -41,6 +41,7 @@ class AttachmentService extends BaseAdminService /** * 新增素材 * @param array $data + * @return mixed */ public function add(array $data) { diff --git a/niucloud/app/service/admin/sys/ExportService.php b/niucloud/app/service/admin/sys/ExportService.php index 4aaed35e0..62044d97d 100644 --- a/niucloud/app/service/admin/sys/ExportService.php +++ b/niucloud/app/service/admin/sys/ExportService.php @@ -15,7 +15,6 @@ use app\job\sys\ExportJob; use app\model\sys\SysExport; use app\service\core\sys\CoreExportService; use core\base\BaseAdminService; -use think\facade\Log; /** * 导出服务层 @@ -45,7 +44,7 @@ class ExportService extends BaseAdminService /** * 获取导出数据类型列表 - * @param string $type + * @return array */ public function getExportDataType() { diff --git a/niucloud/app/service/admin/sys/MenuService.php b/niucloud/app/service/admin/sys/MenuService.php index f4fea6eaf..5ec276212 100644 --- a/niucloud/app/service/admin/sys/MenuService.php +++ b/niucloud/app/service/admin/sys/MenuService.php @@ -62,6 +62,7 @@ class MenuService extends BaseAdminService /** * 更新菜单 + * @param string $app_type * @param string $menu_key * @param array $data * @return SysMenu @@ -79,6 +80,7 @@ class MenuService extends BaseAdminService /** * 获取信息 + * @param string $app_type * @param string $menu_key * @return array */ @@ -106,6 +108,7 @@ class MenuService extends BaseAdminService /** * 菜单删除 + * @param string $app_type * @param string $menu_key * @return bool * @throws DbException @@ -128,7 +131,8 @@ class MenuService extends BaseAdminService * @param array $menu_keys * @param string $app_type * @param int $is_tree - * @param $addon 用于检测插件筛选 + * @param string $addon 用于检测插件筛选 + * @param int $is_button * @return mixed * @throws DataNotFoundException * @throws DbException @@ -241,7 +245,7 @@ class MenuService extends BaseAdminService /** * 根据parent_select_key字段重新整理上下级关系 * @param array $menus - * @return mixed + * @return array * @throws DataNotFoundException * @throws DbException * @throws ModelNotFoundException @@ -530,7 +534,7 @@ class MenuService extends BaseAdminService /** * 获取系统菜单(站点权限api极限) * @param string $app_type - * @param string $addons + * @param array $addons * @return mixed|string */ public function getApiListBySystem(string $app_type = '', array $addons = []) @@ -562,6 +566,8 @@ class MenuService extends BaseAdminService * @param string $app_type * @param array $addons * @param int $is_tree + * @param int $is_button + * @param string $status * @return array|mixed|string * @throws DataNotFoundException * @throws DbException @@ -683,6 +689,10 @@ class MenuService extends BaseAdminService /** * 查询菜单类型为目录的菜单 * @param string $addon + * @return array + * @throws DataNotFoundException + * @throws DbException + * @throws ModelNotFoundException */ public function getMenuByTypeDir(string $addon = 'system') { diff --git a/niucloud/app/service/admin/sys/PosterService.php b/niucloud/app/service/admin/sys/PosterService.php index 0de40981d..e6a16b3e2 100644 --- a/niucloud/app/service/admin/sys/PosterService.php +++ b/niucloud/app/service/admin/sys/PosterService.php @@ -54,7 +54,7 @@ class PosterService extends BaseAdminService * 获取自定义海报列表 * @param array $where * @param string $field - * @return mixed + * @return array */ public function getList(array $where = [], $field = 'id, site_id, name, type, channel, value, status,is_default, create_time, update_time, addon') { @@ -66,7 +66,7 @@ class PosterService extends BaseAdminService * 获取自定义海报信息 * @param int $id * @param string $field - * @return mixed + * @return array */ public function getInfo(int $id, $field = 'id, site_id, name, type, channel, value, status,is_default, create_time, update_time, addon') { @@ -110,7 +110,7 @@ class PosterService extends BaseAdminService /** * 修改自定义海报启用状态 * @param $data - * @return mixed + * @return Poster */ public function modifyStatus($data) { @@ -129,7 +129,7 @@ class PosterService extends BaseAdminService /** * 将自定义海报修改为默认海报 * @param $data - * @return mixed + * @return bool */ public function modifyDefault($data) { diff --git a/niucloud/app/service/admin/sys/PrinterService.php b/niucloud/app/service/admin/sys/PrinterService.php index aa3d30d8d..e2965efb5 100644 --- a/niucloud/app/service/admin/sys/PrinterService.php +++ b/niucloud/app/service/admin/sys/PrinterService.php @@ -135,7 +135,7 @@ class PrinterService extends BaseAdminService /** * 修改小票打印机状态 * @param $data - * @return mixed + * @return SysPrinter */ public function modifyStatus($data) { @@ -241,6 +241,7 @@ class PrinterService extends BaseAdminService /** * 打印小票内容 * @param $params + * @return array */ public function printTicket($params) { diff --git a/niucloud/app/service/admin/sys/PrinterTemplateService.php b/niucloud/app/service/admin/sys/PrinterTemplateService.php index 9770b9c95..6f10456f3 100644 --- a/niucloud/app/service/admin/sys/PrinterTemplateService.php +++ b/niucloud/app/service/admin/sys/PrinterTemplateService.php @@ -121,7 +121,6 @@ class PrinterTemplateService extends BaseAdminService foreach ($value_v as $trigger_k => $trigger_v) { if ($trigger_v[ 'template_id' ] == $id) { throw new CommonException("该模板已被打印机 [{$v['printer_name']}] 使用,无法删除"); - break; } } } diff --git a/niucloud/app/service/admin/sys/RoleService.php b/niucloud/app/service/admin/sys/RoleService.php index 364359b93..5535a2961 100644 --- a/niucloud/app/service/admin/sys/RoleService.php +++ b/niucloud/app/service/admin/sys/RoleService.php @@ -138,7 +138,7 @@ class RoleService extends BaseAdminService /** * 修改状态 * @param $data - * @return Label + * @return SysRole */ public function modifyStatus($data) { diff --git a/niucloud/app/service/admin/upgrade/BackupRecordsService.php b/niucloud/app/service/admin/upgrade/BackupRecordsService.php index 70584bf4d..77b0b3002 100644 --- a/niucloud/app/service/admin/upgrade/BackupRecordsService.php +++ b/niucloud/app/service/admin/upgrade/BackupRecordsService.php @@ -212,15 +212,15 @@ class BackupRecordsService extends BaseAdminService // 检测全部目录及文件是否可读可写,忽略指定目录 // 忽略指定目录,admin - $exclude_admin_dir = [ 'dist', 'node_modules' ]; + $exclude_admin_dir = [ 'dist', 'node_modules', '.git' ]; $check_res = checkDirPermissions(project_path() . 'admin', [], $exclude_admin_dir); // 忽略指定目录,uni-app - $exclude_uniapp_dir = [ 'dist', 'node_modules' ]; + $exclude_uniapp_dir = [ 'dist', 'node_modules', '.git' ]; $check_res = array_merge2($check_res, checkDirPermissions(project_path() . 'uni-app', [], $exclude_uniapp_dir)); // 忽略指定目录,web - $exclude_web_dir = [ '.nuxt', '.output', 'dist', 'node_modules' ]; + $exclude_web_dir = [ '.nuxt', '.output', 'dist', 'node_modules', '.git' ]; $check_res = array_merge2($check_res, checkDirPermissions(project_path() . 'web', [], $exclude_web_dir)); // 忽略指定目录,niucloud @@ -231,7 +231,8 @@ class BackupRecordsService extends BaseAdminService 'public' . DIRECTORY_SEPARATOR . 'upload', 'public' . DIRECTORY_SEPARATOR . 'file', 'runtime', - 'vendor' + 'vendor', + '.git' ]; $check_res = array_merge2($check_res, checkDirPermissions(project_path() . 'niucloud', [], $exclude_niucloud_dir)); @@ -639,7 +640,7 @@ class BackupRecordsService extends BaseAdminService // 备份niucloud全部代码 $niucloud_dir = $backup_dir . 'niucloud' . DIRECTORY_SEPARATOR; - dir_copy($this->root_path . 'niucloud', $niucloud_dir, exclude_dirs: [ 'runtime', 'upload' ]); + dir_copy($this->root_path . 'niucloud', $niucloud_dir, exclude_dirs: [ 'runtime', 'upload' ], exclude_files: ['.user.ini']); return true; } diff --git a/niucloud/app/service/admin/upgrade/BackupService.php b/niucloud/app/service/admin/upgrade/BackupService.php index 152a2aaef..5e11d5d1f 100644 --- a/niucloud/app/service/admin/upgrade/BackupService.php +++ b/niucloud/app/service/admin/upgrade/BackupService.php @@ -20,7 +20,7 @@ class BackupService extends UpgradeService { /** * 备份代码 - * @return void + * @return true */ public function backupCode() { @@ -41,7 +41,7 @@ class BackupService extends UpgradeService // 备份niucloud全部代码 $niucloud_dir = $backup_dir . 'niucloud' . DIRECTORY_SEPARATOR; - dir_copy($this->root_path . 'niucloud', $niucloud_dir, exclude_dirs: [ 'runtime', 'upload' ]); + dir_copy($this->root_path . 'niucloud', $niucloud_dir, exclude_dirs: [ 'runtime', 'upload' ], exclude_files: ['.user.ini']); return true; } diff --git a/niucloud/app/service/admin/upgrade/ExecuteSqlTrait.php b/niucloud/app/service/admin/upgrade/ExecuteSqlTrait.php index d39c1795a..b0762d02e 100644 --- a/niucloud/app/service/admin/upgrade/ExecuteSqlTrait.php +++ b/niucloud/app/service/admin/upgrade/ExecuteSqlTrait.php @@ -42,6 +42,7 @@ trait ExecuteSqlTrait /** * 处理sql增加表前缀 * @param $sql + * @param $prefix * @return void */ public function handleSqlPrefix($sql, $prefix) { diff --git a/niucloud/app/service/admin/upgrade/UpgradeRecordsService.php b/niucloud/app/service/admin/upgrade/UpgradeRecordsService.php index cd309d260..6cd3fefe4 100644 --- a/niucloud/app/service/admin/upgrade/UpgradeRecordsService.php +++ b/niucloud/app/service/admin/upgrade/UpgradeRecordsService.php @@ -14,7 +14,6 @@ namespace app\service\admin\upgrade; use app\dict\sys\UpgradeDict; use app\model\sys\SysUpgradeRecords; use core\base\BaseAdminService; -use think\facade\Log; /** * 升级记录表服务层 @@ -81,7 +80,8 @@ class UpgradeRecordsService extends BaseAdminService /** * 执行失败,更新升级记录状态,备份记录状态 - * @param $fail_reason + * @param $upgrade_key + * @param array $fail_reason * @return void */ public function failed($upgrade_key, $fail_reason = []) diff --git a/niucloud/app/service/admin/upgrade/UpgradeService.php b/niucloud/app/service/admin/upgrade/UpgradeService.php index 999874f3c..24ecb2d3c 100644 --- a/niucloud/app/service/admin/upgrade/UpgradeService.php +++ b/niucloud/app/service/admin/upgrade/UpgradeService.php @@ -88,7 +88,7 @@ class UpgradeService extends BaseAdminService /** * 升级前环境检测 * @param string $addon - * @return void + * @return array|array[] */ public function upgradePreCheck(string $addon = '') { @@ -128,15 +128,15 @@ class UpgradeService extends BaseAdminService // 检测全部目录及文件是否可读可写,忽略指定目录 // 忽略指定目录,admin - $exclude_admin_dir = [ 'dist', 'node_modules' ]; + $exclude_admin_dir = [ 'dist', 'node_modules', '.git' ]; $check_res = checkDirPermissions(project_path() . 'admin', [], $exclude_admin_dir); // 忽略指定目录,uni-app - $exclude_uniapp_dir = [ 'dist', 'node_modules' ]; + $exclude_uniapp_dir = [ 'dist', 'node_modules', '.git' ]; $check_res = array_merge2($check_res, checkDirPermissions(project_path() . 'uni-app', [], $exclude_uniapp_dir)); // 忽略指定目录,web - $exclude_web_dir = [ '.nuxt', '.output', 'dist', 'node_modules' ]; + $exclude_web_dir = [ '.nuxt', '.output', 'dist', 'node_modules', '.git' ]; $check_res = array_merge2($check_res, checkDirPermissions(project_path() . 'web', [], $exclude_web_dir)); // 忽略指定目录,niucloud @@ -148,7 +148,8 @@ class UpgradeService extends BaseAdminService 'public' . DIRECTORY_SEPARATOR . 'file', 'runtime', 'vendor', - '.user.ini' + '.user.ini', + '.git' ]; $check_res = array_merge2($check_res, checkDirPermissions(project_path() . 'niucloud', [], $exclude_niucloud_dir)); @@ -433,7 +434,7 @@ class UpgradeService extends BaseAdminService /** * 覆盖更新升级的代码 - * @return void + * @return array|true */ public function coverCode($index = 0, $addon = "") { @@ -565,7 +566,6 @@ class UpgradeService extends BaseAdminService /** * 处理手机端 - * @param string $verson_no * @return true */ public function handleUniapp() @@ -641,7 +641,7 @@ class UpgradeService extends BaseAdminService /** * 刷新菜单 - * @return void + * @return array|true */ public function refreshMenu($addon = "") { @@ -694,7 +694,7 @@ class UpgradeService extends BaseAdminService /** * 获取云编译日志 - * @return void + * @return array|true */ public function gteCloudBuildLog() { @@ -732,7 +732,7 @@ class UpgradeService extends BaseAdminService /** * 更新完成 - * @return void + * @return true */ public function upgradeComplete() { @@ -752,7 +752,7 @@ class UpgradeService extends BaseAdminService /** * 升级出错之后的处理 - * @return true|void + * @return void */ public function upgradeErrorHandle($fail_reason = []) { @@ -773,7 +773,7 @@ class UpgradeService extends BaseAdminService /** * 恢复源码 - * @return void + * @return true */ public function restoreCode() { @@ -796,7 +796,7 @@ class UpgradeService extends BaseAdminService /** * 恢复数据库 - * @return void + * @return array|true */ public function restoreSql($index = 0) { @@ -842,7 +842,7 @@ class UpgradeService extends BaseAdminService /** * 获取升级内容 * @param string $addon - * @return array|\core\util\niucloud\Response|object|\Psr\Http\Message\ResponseInterface + * @return array * @throws \GuzzleHttp\Exception\GuzzleException */ public function getUpgradeContent(string $addon = '') diff --git a/niucloud/app/service/admin/upload/StorageConfigService.php b/niucloud/app/service/admin/upload/StorageConfigService.php index 6fecb6110..2be8fa8f0 100644 --- a/niucloud/app/service/admin/upload/StorageConfigService.php +++ b/niucloud/app/service/admin/upload/StorageConfigService.php @@ -18,7 +18,6 @@ use app\service\core\upload\CoreStorageService; use app\service\core\sys\CoreConfigService; use core\base\BaseAdminService; use core\exception\AdminException; -use think\Response; /** * 用户服务层 diff --git a/niucloud/app/service/admin/upload/UploadService.php b/niucloud/app/service/admin/upload/UploadService.php index daa36537d..a82ffa30c 100644 --- a/niucloud/app/service/admin/upload/UploadService.php +++ b/niucloud/app/service/admin/upload/UploadService.php @@ -32,7 +32,9 @@ class UploadService extends BaseAdminService * 附件库上传图片 * @param $file * @param int $cate_id + * @param bool $is_attachment * @return array + * @throws Exception */ public function image($file, int $cate_id = 0, $is_attachment = true){ $dir = $this->root_path.'/'.'image'.'/'.$this->site_id.'/'.date('Ym').'/'.date('d'); diff --git a/niucloud/app/service/admin/user/UserRoleService.php b/niucloud/app/service/admin/user/UserRoleService.php index 082b5a208..56e3b6191 100644 --- a/niucloud/app/service/admin/user/UserRoleService.php +++ b/niucloud/app/service/admin/user/UserRoleService.php @@ -72,6 +72,7 @@ class UserRoleService extends BaseAdminService * @param int $site_id * @param int $uid * @param array $role_ids + * @param int $status * @return bool */ public function edit(int $site_id, int $uid, array $role_ids, $status = UserDict::ON){ diff --git a/niucloud/app/service/admin/user/UserService.php b/niucloud/app/service/admin/user/UserService.php index be875f4b7..25873e75e 100644 --- a/niucloud/app/service/admin/user/UserService.php +++ b/niucloud/app/service/admin/user/UserService.php @@ -236,7 +236,7 @@ class UserService extends BaseAdminService * 改变用户状态 * @param $uid * @param $status - * @return true + * @return void */ public function statusChange($uid, $status) { @@ -309,7 +309,7 @@ class UserService extends BaseAdminService /** * 获取用户站点创建限制 * @param int $uid - * @return void + * @return array */ public function getUserCreateSiteLimit(int $uid) { return (new UserCreateSiteLimit())->where([ ['uid', '=', $uid] ])->select()->toArray(); @@ -317,8 +317,8 @@ class UserService extends BaseAdminService /** * 获取用户站点创建限制 - * @param int $uid - * @return void + * @param int $id + * @return array */ public function getUserCreateSiteLimitInfo(int $id) { return (new UserCreateSiteLimit())->where([ ['id', '=', $id] ])->findOrEmpty()->toArray(); @@ -327,7 +327,7 @@ class UserService extends BaseAdminService /** * 添加用户站点创建限制 * @param array $data - * @return void + * @return true */ public function addUserCreateSiteLimit(array $data) { (new UserCreateSiteLimit())->where(['uid' => $data['uid'], 'group_id' => $data['group_id']])->delete(); diff --git a/niucloud/app/service/admin/verify/VerifierService.php b/niucloud/app/service/admin/verify/VerifierService.php index acf4594c3..bf1c4e0db 100644 --- a/niucloud/app/service/admin/verify/VerifierService.php +++ b/niucloud/app/service/admin/verify/VerifierService.php @@ -60,6 +60,7 @@ class VerifierService extends BaseAdminService /** * 组合整理数据 * @param $data + * @return mixed */ public function makeUp($data){ //核销类型 @@ -106,7 +107,7 @@ class VerifierService extends BaseAdminService /** * 编辑核销员 * @param array $data - * @return mixed + * @return void */ public function edit($id, $data) { diff --git a/niucloud/app/service/admin/weapp/WeappConfigService.php b/niucloud/app/service/admin/weapp/WeappConfigService.php index 759688f83..52ff009dc 100644 --- a/niucloud/app/service/admin/weapp/WeappConfigService.php +++ b/niucloud/app/service/admin/weapp/WeappConfigService.php @@ -117,7 +117,7 @@ class WeappConfigService extends BaseAdminService /** * 设置隐私协议 - * @return array + * @return void */ public function setPrivacySetting($data){ $data['privacy_ver'] = 1; diff --git a/niucloud/app/service/admin/weapp/WeappDeliveryService.php b/niucloud/app/service/admin/weapp/WeappDeliveryService.php index 29b9725c8..14669bcda 100644 --- a/niucloud/app/service/admin/weapp/WeappDeliveryService.php +++ b/niucloud/app/service/admin/weapp/WeappDeliveryService.php @@ -25,7 +25,7 @@ class WeappDeliveryService extends BaseAdminService /** * 查询小程序是否已开通发货信息管理服务 - * @return mixed + * @return bool * @throws InvalidArgumentException */ public function getIsTradeManaged() diff --git a/niucloud/app/service/admin/weapp/WeappTemplateService.php b/niucloud/app/service/admin/weapp/WeappTemplateService.php index e88846c6d..6f74d83f5 100644 --- a/niucloud/app/service/admin/weapp/WeappTemplateService.php +++ b/niucloud/app/service/admin/weapp/WeappTemplateService.php @@ -17,7 +17,6 @@ use app\service\core\notice\CoreNoticeService; use core\base\BaseAdminService; use core\exception\NoticeException; use core\template\TemplateLoader; -use EasyWeChat\Kernel\Exceptions\InvalidArgumentException; use think\db\exception\DataNotFoundException; use think\db\exception\DbException; use think\db\exception\ModelNotFoundException; diff --git a/niucloud/app/service/admin/wechat/WechatMediaService.php b/niucloud/app/service/admin/wechat/WechatMediaService.php index c988d5f39..6c525ab92 100644 --- a/niucloud/app/service/admin/wechat/WechatMediaService.php +++ b/niucloud/app/service/admin/wechat/WechatMediaService.php @@ -84,7 +84,7 @@ class WechatMediaService extends BaseAdminService /** * 同步草稿箱 * @param int $pages - * @return void + * @return true * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException * @throws \Symfony\Contracts\HttpClient\Exception\TransportExceptionInterface */ diff --git a/niucloud/app/service/admin/wechat/WechatReplyService.php b/niucloud/app/service/admin/wechat/WechatReplyService.php index 7945de3bc..78f1852b3 100644 --- a/niucloud/app/service/admin/wechat/WechatReplyService.php +++ b/niucloud/app/service/admin/wechat/WechatReplyService.php @@ -77,7 +77,7 @@ class WechatReplyService extends BaseAdminService /** * 获取默认回复 - * @return void|null + * @return array */ public function getDefault(){ return $this->core_wechat_reply_service->getDefault($this->site_id); diff --git a/niucloud/app/service/admin/wxoplatform/OplatformService.php b/niucloud/app/service/admin/wxoplatform/OplatformService.php index 2476f4b16..8b64359c0 100644 --- a/niucloud/app/service/admin/wxoplatform/OplatformService.php +++ b/niucloud/app/service/admin/wxoplatform/OplatformService.php @@ -28,7 +28,7 @@ use core\exception\CommonException; class OplatformService extends BaseAdminService { /** - * @return array|null + * @return string */ public function createPreAuthorizationUrl() { @@ -39,7 +39,7 @@ class OplatformService extends BaseAdminService /** * * @param array $data - * @return void + * @return true * @throws \EasyWeChat\Kernel\Exceptions\BadResponseException * @throws \EasyWeChat\Kernel\Exceptions\HttpException * @throws \Symfony\Contracts\HttpClient\Exception\ClientExceptionInterface @@ -102,7 +102,7 @@ class OplatformService extends BaseAdminService /** * 清除授权 * @param $app_id - * @return void + * @return true */ public function clearAuthorization($app_id) { (new SysConfig())->where([ ['value', 'like', "%{$app_id}%"], ['config_key', 'in', [ diff --git a/niucloud/app/service/admin/wxoplatform/WeappVersionService.php b/niucloud/app/service/admin/wxoplatform/WeappVersionService.php index 98a68994d..705024dc1 100644 --- a/niucloud/app/service/admin/wxoplatform/WeappVersionService.php +++ b/niucloud/app/service/admin/wxoplatform/WeappVersionService.php @@ -233,7 +233,7 @@ class WeappVersionService extends BaseAdminService * 小程序提交版本 * @param $site_id * @param $site_group_id - * @return void + * @return true */ public static function weappCommit($site_id, $site_group_id) { $version = (new WxOplatfromWeappVersion())->where([ ['site_group_id', '=', $site_group_id], ['template_id', '<>', '' ] ])->order('id desc')->findOrEmpty(); @@ -320,7 +320,7 @@ class WeappVersionService extends BaseAdminService /** * 设置小程序隐私协议 - * @return void + * @return true * @throws \EasyWeChat\Kernel\Exceptions\BadResponseException * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException * @throws \Symfony\Contracts\HttpClient\Exception\ClientExceptionInterface @@ -365,7 +365,7 @@ class WeappVersionService extends BaseAdminService /** * 撤销审核 - * @return void + * @return true */ public function undoAudit($id) { $model = new WeappVersion(); diff --git a/niucloud/app/service/api/diy/DiyConfigService.php b/niucloud/app/service/api/diy/DiyConfigService.php index e20640e98..9f2479d82 100644 --- a/niucloud/app/service/api/diy/DiyConfigService.php +++ b/niucloud/app/service/api/diy/DiyConfigService.php @@ -26,7 +26,7 @@ class DiyConfigService extends BaseApiService /** * 获取底部导航列表 * @param array $params - * @return array|mixed + * @return array */ public function getBottomList($params = []) { diff --git a/niucloud/app/service/api/diy_form/DiyFormService.php b/niucloud/app/service/api/diy_form/DiyFormService.php index 0c772210d..a088778e7 100644 --- a/niucloud/app/service/api/diy_form/DiyFormService.php +++ b/niucloud/app/service/api/diy_form/DiyFormService.php @@ -40,7 +40,7 @@ class DiyFormService extends BaseApiService * 获取万能表单信息 * @param int $form_id * @param string $field - * @return mixed + * @return array */ public function getInfo(int $form_id, $field = 'form_id, page_title, title, type, status, value, share, remark') { @@ -329,7 +329,7 @@ class DiyFormService extends BaseApiService /** * 获取表单填写结果信息 * @param array $params - * @return mixed + * @return array */ public function getResult($params = []) { @@ -341,7 +341,7 @@ class DiyFormService extends BaseApiService /** * 获取表单填写记录,循环diy-group,每个表单组件实现各自的渲染处理 * @param array $params - * @return mixed + * @return array */ public function getFormRecordInfo($params = []) { @@ -360,8 +360,7 @@ class DiyFormService extends BaseApiService /** * 获取个人资料表单填写记录 - * @param array $params - * @return mixed + * @return array */ public function getMemberInfoFormRecordInfo() { diff --git a/niucloud/app/service/api/login/AuthService.php b/niucloud/app/service/api/login/AuthService.php index ddf93cd65..83e72d228 100644 --- a/niucloud/app/service/api/login/AuthService.php +++ b/niucloud/app/service/api/login/AuthService.php @@ -145,10 +145,10 @@ class AuthService extends BaseApiService $mobile = $phone_info[ 'purePhoneNumber' ]; if (empty($mobile)) throw new ApiException('WECHAT_EMPOWER_NOT_EXIST'); - $member_service = new MemberService(); +// $member_service = new MemberService(); - $mobile_member = $member_service->findMemberInfo([ 'mobile' => $mobile, 'site_id' => $this->site_id ]); - if (!$mobile_member->isEmpty()) throw new AuthException('MOBILE_IS_EXIST'); +// $mobile_member = $member_service->findMemberInfo([ 'mobile' => $mobile, 'site_id' => $this->site_id ]); +// if (!$mobile_member->isEmpty()) throw new AuthException('MOBILE_IS_EXIST'); return [ 'mobile' => $mobile diff --git a/niucloud/app/service/api/login/LoginService.php b/niucloud/app/service/api/login/LoginService.php index 1c2e446cd..005480fc3 100644 --- a/niucloud/app/service/api/login/LoginService.php +++ b/niucloud/app/service/api/login/LoginService.php @@ -111,6 +111,54 @@ class LoginService extends BaseApiService $is_bind_mobile = $config[ 'is_bind_mobile' ]; if ($is_mobile != 1 && $is_bind_mobile != 1) throw new AuthException('MOBILE_LOGIN_UNOPENED'); $member_service = new MemberService(); + + if (!empty($params['openid'])) { + $mobile = $params[ 'mobile' ]; + $openid = $params[ 'openid' ]; + + $openid_field = match ( $this->channel ) { + 'wechat' => 'wx_openid', + 'weapp' => 'weapp_openid', + default => '' + }; + + $openid_member_info = $member_service->findMemberInfo([ $openid_field => $openid ]); + $mobile_member_info = $member_service->findMemberInfo([ 'mobile' => $mobile ]); + + //openid 账号已存在 + if (!$openid_member_info->isEmpty()) { + // 手机号也存在 + if (!$mobile_member_info->isEmpty()) { + // 如果不是同一个人 抛异常 + if ($openid_member_info['member_id'] != $mobile_member_info['member_id']) { + throw new AuthException('MOBILE_IS_EXIST'); // 手机号已被其他账号绑定 + } + // 是同一个用户,直接登录 + return $this->login($mobile_member_info, MemberLoginTypeDict::MOBILE); + } + + // 手机号不存在,给 openid 账号绑定手机号 + $openid_member_info->mobile = $mobile; + $openid_member_info->save(); + return $this->login($openid_member_info, MemberLoginTypeDict::MOBILE); + } + + //openid 账号不存在 + if (!$mobile_member_info->isEmpty()) { + // 手机号已存在,不能注册,避免重复 + throw new AuthException('MOBILE_IS_EXIST'); + } + + //都不存在,执行注册 + $data = [ + 'mobile' => $mobile, + 'nickname' => $params['nickname'] ?? '', + 'headimg' => $params['headimg'] ?? '', + $openid_field => $openid + ]; + return (new RegisterService())->register($mobile, $data, MemberRegisterTypeDict::MOBILE, false); + } + $member_info = $member_service->findMemberInfo([ 'mobile' => $params[ 'mobile' ], 'site_id' => $this->site_id ]); if ($member_info->isEmpty()) { //开启强制绑定手机号,登录会自动注册并绑定手机号 @@ -287,6 +335,7 @@ class LoginService extends BaseApiService * 重置密码 * @param string $mobile * @param string $password + * @return true */ public function resetPassword(string $mobile, string $password) { diff --git a/niucloud/app/service/api/login/RegisterService.php b/niucloud/app/service/api/login/RegisterService.php index 8df6f9304..3cc87085e 100644 --- a/niucloud/app/service/api/login/RegisterService.php +++ b/niucloud/app/service/api/login/RegisterService.php @@ -108,7 +108,11 @@ class RegisterService extends BaseApiService * @param string $username * @param string $password * @param $mobile + * @param $wx_openid * @return array + * @throws DataNotFoundException + * @throws DbException + * @throws ModelNotFoundException */ public function account(string $username, string $password, $mobile, $wx_openid) { diff --git a/niucloud/app/service/api/member/MemberAccountService.php b/niucloud/app/service/api/member/MemberAccountService.php index caa034f38..c1347e89a 100644 --- a/niucloud/app/service/api/member/MemberAccountService.php +++ b/niucloud/app/service/api/member/MemberAccountService.php @@ -76,8 +76,9 @@ class MemberAccountService extends BaseApiService /** * 会员余额流水列表 - * @param array $where + * @param array $data * @return array + * @throws DbException */ public function getBalancePage(array $data = []) { @@ -142,9 +143,7 @@ class MemberAccountService extends BaseApiService /** * 会员积分统计数量 - * @param array $where - * @return int - * @throws DbException + * @return int[] */ public function getPointCount() { diff --git a/niucloud/app/service/api/member/MemberCashOutService.php b/niucloud/app/service/api/member/MemberCashOutService.php index ccc533a54..be00c1bde 100644 --- a/niucloud/app/service/api/member/MemberCashOutService.php +++ b/niucloud/app/service/api/member/MemberCashOutService.php @@ -11,13 +11,11 @@ namespace app\service\api\member; -use app\dict\member\MemberCashOutDict; use app\model\member\MemberCashOut; use app\service\core\member\CoreMemberCashOutService; use app\service\core\member\CoreMemberConfigService; use core\base\BaseApiService; use core\exception\ApiException; -use core\exception\CommonException; /** * 会员提现服务层 @@ -105,7 +103,8 @@ class MemberCashOutService extends BaseApiService /** * 提现转账(主要用于微信商家转账) * @param int $id - * @return void + * @param array $data + * @return true */ public function transfer(int $id, array $data){ $data['channel'] = $this->channel; diff --git a/niucloud/app/service/api/member/MemberLevelService.php b/niucloud/app/service/api/member/MemberLevelService.php index 98a2df733..616002c96 100644 --- a/niucloud/app/service/api/member/MemberLevelService.php +++ b/niucloud/app/service/api/member/MemberLevelService.php @@ -15,6 +15,9 @@ use app\dict\member\MemberLevelDict; use app\model\member\MemberLevel; use app\service\core\member\CoreMemberService; use core\base\BaseApiService; +use think\db\exception\DataNotFoundException; +use think\db\exception\DbException; +use think\db\exception\ModelNotFoundException; /** * 会员等级服务层 @@ -29,8 +32,10 @@ class MemberLevelService extends BaseApiService /** * 会员等级 - * @param array $data - * @return true + * @return array + * @throws DataNotFoundException + * @throws DbException + * @throws ModelNotFoundException */ public function getList(){ $list = (new MemberLevel())->where([ ['site_id', '=', $this->site_id] ])->field('level_id,site_id,level_name,growth,remark,level_benefits,level_gifts')->order('growth asc')->select()->toArray(); diff --git a/niucloud/app/service/api/pay/PayService.php b/niucloud/app/service/api/pay/PayService.php index 14661c828..93f5df447 100644 --- a/niucloud/app/service/api/pay/PayService.php +++ b/niucloud/app/service/api/pay/PayService.php @@ -12,7 +12,6 @@ namespace app\service\api\pay; use app\dict\common\ChannelDict; -use app\dict\pay\PayDict; use app\dict\pay\PaySceneDict; use app\model\member\Member; use app\model\pay\Pay; @@ -46,6 +45,8 @@ class PayService extends BaseApiService * @param string $return_url * @param string $quit_url * @param string $buyer_id + * @param string $voucher + * @param string $openid * @return mixed * @throws DataNotFoundException * @throws DbException diff --git a/niucloud/app/service/api/pay/TransferService.php b/niucloud/app/service/api/pay/TransferService.php index 1502420b6..00475ad15 100644 --- a/niucloud/app/service/api/pay/TransferService.php +++ b/niucloud/app/service/api/pay/TransferService.php @@ -12,17 +12,9 @@ namespace app\service\api\pay; use app\dict\common\ChannelDict; -use app\dict\pay\PaySceneDict; -use app\model\member\Member; -use app\model\pay\Pay; -use app\model\sys\Poster; use app\service\core\member\CoreMemberService; use app\service\core\pay\CorePayService; use core\base\BaseApiService; -use core\exception\ApiException; -use think\db\exception\DataNotFoundException; -use think\db\exception\DbException; -use think\db\exception\ModelNotFoundException; /** * 支付业务 @@ -39,16 +31,9 @@ class TransferService extends BaseApiService /** * 去支付 - * @param string $type - * @param string $trade_type - * @param int $trade_id - * @param string $return_url - * @param string $quit_url - * @param string $buyer_id - * @return mixed - * @throws DataNotFoundException - * @throws DbException - * @throws ModelNotFoundException + * @param string $transfer_no + * @param array $data + * @return void */ public function confirm(string $transfer_no, array $data = []){ diff --git a/niucloud/app/service/api/sys/AreaService.php b/niucloud/app/service/api/sys/AreaService.php index c559760fb..b51819524 100644 --- a/niucloud/app/service/api/sys/AreaService.php +++ b/niucloud/app/service/api/sys/AreaService.php @@ -103,7 +103,7 @@ class AreaService extends BaseApiService /** * 通过经纬度查询地址 * @param $params - * @return array|int + * @return array */ public function getAddressByLatlng($params) { diff --git a/niucloud/app/service/api/sys/TaskService.php b/niucloud/app/service/api/sys/TaskService.php index 2c624bff1..87502b865 100644 --- a/niucloud/app/service/api/sys/TaskService.php +++ b/niucloud/app/service/api/sys/TaskService.php @@ -28,8 +28,7 @@ class TaskService extends BaseApiService /** * 获取成长值任务 - * @param string $key - * @return mixed + * @return array */ public function getGrowthTask() { @@ -45,7 +44,6 @@ class TaskService extends BaseApiService /** * 获取积分任务 - * @param string $key * @return mixed */ public function getPointTask() diff --git a/niucloud/app/service/api/verify/VerifyService.php b/niucloud/app/service/api/verify/VerifyService.php index 5bb70473f..f41fa3222 100644 --- a/niucloud/app/service/api/verify/VerifyService.php +++ b/niucloud/app/service/api/verify/VerifyService.php @@ -15,6 +15,7 @@ use app\model\verify\Verifier; use app\model\verify\Verify; use app\service\core\verify\CoreVerifyService; use core\base\BaseApiService; +use think\db\exception\DbException; /** * 核销服务层 @@ -26,7 +27,7 @@ class VerifyService extends BaseApiService * 获取核销码(对应业务调用) * @param $type * @param $data = ['order_id' => , 'goods_id' => ] - * @return string + * @return array */ public function getVerifyCode($type, array $data) { @@ -44,7 +45,7 @@ class VerifyService extends BaseApiService /** * 获取核销信息 * @param $code - * @return bool + * @return array */ public function getInfoByCode($code) { @@ -74,9 +75,9 @@ class VerifyService extends BaseApiService /** * 获取核销员核销记录 - * @param $data + * @param array $data * @return array - * @throws \think\db\exception\DbException + * @throws DbException */ public function getRecordsPageByVerifier(array $data) { @@ -98,7 +99,7 @@ class VerifyService extends BaseApiService /** * 获取记录详情 - * @param int $id + * @param $code * @return array */ public function getRecordsDetailByVerifier($code) diff --git a/niucloud/app/service/api/weapp/WeappDeliveryService.php b/niucloud/app/service/api/weapp/WeappDeliveryService.php index e66b628b0..2c16e9440 100644 --- a/niucloud/app/service/api/weapp/WeappDeliveryService.php +++ b/niucloud/app/service/api/weapp/WeappDeliveryService.php @@ -34,7 +34,7 @@ class WeappDeliveryService extends BaseApiService /** * 查询小程序是否已开通发货信息管理服务 - * @return mixed + * @return bool * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException */ public function getIsTradeManaged() diff --git a/niucloud/app/service/api/wechat/WechatAuthService.php b/niucloud/app/service/api/wechat/WechatAuthService.php index b3599fd95..71e1a4fdd 100644 --- a/niucloud/app/service/api/wechat/WechatAuthService.php +++ b/niucloud/app/service/api/wechat/WechatAuthService.php @@ -105,6 +105,7 @@ class WechatAuthService extends BaseApiService * @param string $openid * @param string $nickname * @param string $avatar + * @param string $unionid * @return array|null * @throws DataNotFoundException * @throws DbException @@ -268,4 +269,21 @@ class WechatAuthService extends BaseApiService $member_service->editByFind($member_info, [ 'wx_openid' => $openid ]); return true; } + + /** + * 更新openid(用于H5注册账号后,在公众号进行登录时绑定wx_openid) + * @param string $wx_openid + * @return true + */ + public function updateOpenidByH5($wx_openid) + { + $member_service = new MemberService(); + $member = $member_service->findMemberInfo([ 'wx_openid' => $wx_openid, 'site_id' => $this->site_id ]); + if (!$member->isEmpty()) throw new AuthException('MEMBER_OPENID_EXIST');//openid已存在 + + $member_info = $member_service->findMemberInfo([ 'member_id' => $this->member_id, 'site_id' => $this->site_id ]); + if ($member_info->isEmpty()) throw new AuthException('MEMBER_NOT_EXIST');//账号不存在 + $member_service->editByFind($member_info, [ 'wx_openid' => $wx_openid ]); + return true; + } } diff --git a/niucloud/app/service/core/addon/CoreAddonCloudService.php b/niucloud/app/service/core/addon/CoreAddonCloudService.php index 216961681..f4686eb37 100644 --- a/niucloud/app/service/core/addon/CoreAddonCloudService.php +++ b/niucloud/app/service/core/addon/CoreAddonCloudService.php @@ -24,7 +24,7 @@ class CoreAddonCloudService extends CoreCloudBaseService { /** * 云编译 - * @param $addon + * @param string $addon * @return void */ public function cloudBuild(string $addon) { @@ -148,6 +148,8 @@ class CoreAddonCloudService extends CoreCloudBaseService /** * 云编译成功 * @param string $addon + * @param array $log + * @param $timestamp * @return void */ public function buildSuccess(string $addon, array $log, $timestamp) { @@ -290,8 +292,12 @@ class CoreAddonCloudService extends CoreCloudBaseService /** * 下载升级文件 - * @param string $dir + * @param string $app_key * @param string $token + * @param string $dir + * @param int $index + * @param int $step + * @param int $length * @return void */ public function downloadUpgradeFile(string $app_key, string $token, string $dir = '', int $index = -1, $step = 0, $length = 0) { diff --git a/niucloud/app/service/core/addon/CoreAddonDevelopBuildService.php b/niucloud/app/service/core/addon/CoreAddonDevelopBuildService.php index 57b140d10..b8d01533c 100644 --- a/niucloud/app/service/core/addon/CoreAddonDevelopBuildService.php +++ b/niucloud/app/service/core/addon/CoreAddonDevelopBuildService.php @@ -37,7 +37,7 @@ class CoreAddonDevelopBuildService extends BaseCoreService /** * 插件打包 * @param string $addon - * @return void + * @return true */ public function build(string $addon) { @@ -71,7 +71,7 @@ class CoreAddonDevelopBuildService extends BaseCoreService /** * 下载 * @param string $addon - * @return \think\response\File + * @return array|string|string[] */ public function download(string $addon) { $zip_file = runtime_path() . $addon . '.zip'; @@ -181,7 +181,7 @@ class CoreAddonDevelopBuildService extends BaseCoreService /** * admin打包 - * @return void + * @return true */ public function admin() { @@ -201,7 +201,7 @@ class CoreAddonDevelopBuildService extends BaseCoreService /** * wap打包 - * @return void + * @return true */ public function uniapp() { @@ -268,7 +268,7 @@ class CoreAddonDevelopBuildService extends BaseCoreService /** * web打包 - * @return void + * @return true */ public function web() { diff --git a/niucloud/app/service/core/addon/CoreAddonDevelopDownloadService.php b/niucloud/app/service/core/addon/CoreAddonDevelopDownloadService.php index 98ec2f37e..59a7a9a5a 100644 --- a/niucloud/app/service/core/addon/CoreAddonDevelopDownloadService.php +++ b/niucloud/app/service/core/addon/CoreAddonDevelopDownloadService.php @@ -41,7 +41,7 @@ class CoreAddonDevelopDownloadService extends CoreAddonBaseService /** * 下载插件 - * @return true + * @return \think\response\File */ public function download() { diff --git a/niucloud/app/service/core/addon/CoreAddonDevelopService.php b/niucloud/app/service/core/addon/CoreAddonDevelopService.php index 90a9fe9e7..53bd445a9 100644 --- a/niucloud/app/service/core/addon/CoreAddonDevelopService.php +++ b/niucloud/app/service/core/addon/CoreAddonDevelopService.php @@ -287,13 +287,7 @@ class CoreAddonDevelopService extends CoreAddonBaseService /** * 生成新建插件 - * @param array $title - * @param $desc - * @param $key - * @param $version - * @param $author - * @param $type - * @param $support_app + * @param array $data * @return true */ public function add(array $data) diff --git a/niucloud/app/service/core/addon/CoreAddonDownloadService.php b/niucloud/app/service/core/addon/CoreAddonDownloadService.php index 2387ef6b1..ce7b9ae85 100644 --- a/niucloud/app/service/core/addon/CoreAddonDownloadService.php +++ b/niucloud/app/service/core/addon/CoreAddonDownloadService.php @@ -12,9 +12,7 @@ namespace app\service\core\addon; use app\model\addon\Addon; -use app\service\core\niucloud\CoreModuleService; use core\exception\AddonException; -use GuzzleHttp\Exception\GuzzleException; use ZipArchive; /** @@ -37,9 +35,8 @@ class CoreAddonDownloadService extends CoreAddonBaseService /** * 下载文件 * @param $app_key + * @param $version * @return true - * @throws GuzzleException - * @throws GuzzleException */ public function download($app_key, $version) { diff --git a/niucloud/app/service/core/addon/CoreAddonInstallService.php b/niucloud/app/service/core/addon/CoreAddonInstallService.php index c4477b142..170f1edd5 100644 --- a/niucloud/app/service/core/addon/CoreAddonInstallService.php +++ b/niucloud/app/service/core/addon/CoreAddonInstallService.php @@ -507,8 +507,7 @@ class CoreAddonInstallService extends CoreAddonBaseService /** * 插件卸载环境检测 - * @param string $addon - * @return void + * @return array|array[] */ public function uninstallCheck() { $data = [ @@ -785,7 +784,7 @@ class CoreAddonInstallService extends CoreAddonBaseService /** * 处理编译之后的文件 - * @return void + * @return true */ public function handleBuildFile() { return true; diff --git a/niucloud/app/service/core/addon/WapTrait.php b/niucloud/app/service/core/addon/WapTrait.php index fbe03180d..6e2a8d16e 100644 --- a/niucloud/app/service/core/addon/WapTrait.php +++ b/niucloud/app/service/core/addon/WapTrait.php @@ -34,12 +34,13 @@ trait WapTrait $content .= " \n"; $content .= " \n"; $content .= " \n"; - $content .= " \n"; - $content .= " \n"; - $content .= " \n"; - $content .= " \n"; + $content .= "