| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531 |
- <?php
- namespace biz\wx\classes;
- use biz\base\classes\BaseClass;
- use biz\ghs\classes\GhsClass;
- use biz\shop\classes\ShopAdminClass;
- use biz\shop\classes\ShopClass;
- use bizGhs\custom\classes\CustomClass;
- use bizGhs\order\classes\PurchaseOrderItemClass;
- use common\components\dict;
- use common\components\noticeUtil;
- use common\components\stringUtil;
- use common\components\util;
- use common\components\wxUtil;
- use Yii;
- class WxMessageClass extends BaseClass
- {
- public static $baseFile = '\biz\wx\models\WxMessage';
- public static function has()
- {
- return [
- //零售
- dict::getDict('ptStyle', 'hd') => [
- 'OPENTM417875155' => '新订单通知',
- 'OPENTM207430125' => '操作成功通知',
- 'OPENTM401915538' => '审核通知',
- 'OPENTM201205968' => '订单送达通知',
- 'OPENTM207777535' => '付款提醒',
- 'OPENTM207422813' => '收入提醒',
- 'OPENTM202297555' => '下单成功通知',
- 'OPENTM207327227' => '宝贝售出提醒',
- 'OPENTM207188526' => '付款成功',
- 'OPENTM411207151' => '提现成功通知',
- 'OPENTM416881153' => '发货通知',
- 'OPENTM407280253' => '退款成功通知',
- 'OPENTM411530050' => '充值成功提醒',
- 'OPENTM408238177' => '反馈进度通知',
- 'OPENTM203447669' => '新客户加入通知',
- 'ZHH202308150025' => '退款申请处理通知',
- 'ZHH202311282308' => '采购申请处理通知',
- 'ZHH202405111701' => '采购单已确认通知',
- 'ZHH202405111702' => '异常订单提醒',
- 'ZHH202405111703' => '账单已结清提醒',
- 'ZHH202405111704' => '充值成功通知',
- 'ZHH202405121036' => '采购商品入库成功通知',
- 'ZHH202407100108' => '取货提醒',
- ],
- //供货商
- dict::getDict('ptStyle', 'ghs') => [
- 'OPENTM417875155' => '新订单通知',
- 'OPENTM207430125' => '操作成功通知',
- 'OPENTM401915538' => '审核通知',
- 'OPENTM201205968' => '订单送达通知',
- 'OPENTM207777535' => '付款提醒',
- 'OPENTM207422813' => '收入提醒',
- 'OPENTM202297555' => '下单成功通知',
- 'OPENTM207327227' => '宝贝售出提醒',
- 'OPENTM207188526' => '付款成功',
- 'OPENTM411207151' => '提现成功通知',
- 'OPENTM416881153' => '发货通知',
- 'OPENTM407280253' => '退款成功通知',
- 'OPENTM206773265' => '库存预警通知',
- 'OPENTM203447669' => '新客户加入通知',
- 'OPENTM411530050' => '充值成功提醒',
- 'OPENTM408238177' => '反馈进度通知',
- 'ZHH202308150025' => '退款申请处理通知',
- 'ZHH202311282308' => '采购申请处理通知',
- 'ZHH202405111701' => '采购单已确认通知',
- 'ZHH202405111702' => '异常订单提醒',
- 'ZHH202405111703' => '账单已结清提醒',
- 'ZHH202405111704' => '充值成功通知',
- 'ZHH202405121036' => '采购商品入库成功通知',
- 'ZHH202407100108' => '取货提醒',
- ],
- //商城
- dict::getDict('ptStyle', 'mall') => [
- ],
- ];
- }
- /**
- * 跑腿配送异常通知 ssh 20250825
- * @param \yii\db\ActiveRecord $shop 对象
- * @param string $customName 客户名称
- * @param int $orderId 订单id
- * @param string $result 异常状态说明内容:配送异常、配送员撤单、配送方取消订单、商家取消订单,这四种情况,其它不是异常的不需要通知
- * @return false|void
- */
- public static function expressErrorInform($shop, $customName, $orderId, $result)
- {
- $ptStyle = $shop->ptStyle ?? 0;
- $wxBase = WxOpenClass::getWxBase();
- $wx = $wxBase[$ptStyle] ?? [];
- $message = self::getAllByCondition(['ptStyle' => $ptStyle], null, '*', 'shortTemplateId');
- $shortTempId = 'OPENTM408238177';
- $tempId = $message[$shortTempId]['templateId'] ?? '';
- if (empty($tempId)) {
- return false;
- }
- $adminList = ShopAdminClass::getRemainAdmin($shop);
- if (empty($adminList)) {
- return false;
- }
- foreach ($adminList as $admin) {
- $openId = $admin['openId'] ?? '';
- if ($ptStyle == dict::getDict('ptStyle', 'ghs')) {
- $openId = $admin['ghsOpenId'] ?? '';
- }
- if (empty($openId)) {
- continue;
- }
- $data = [
- "touser" => $openId,
- "template_id" => $tempId,
- "url" => Yii::$app->params['ghsDomain'],
- "data" => [
- "first" => ["value" => $result, "color" => "#173177"],
- "keyword1" => ["value" => $result, "color" => "#173177"],
- "keyword2" => ["value" => $customName . '的订单', "color" => "#173177"],
- "remark" => ["value" => '点击查看详情', "color" => "#173177"]
- ]
- ];
- $data['miniprogram']['appid'] = $wx['miniAppId'];
- $data['miniprogram']['pagepath'] = 'admin/order/detail?id=' . $orderId;
- wxUtil::sendTaskInform($data, $wx, $ptStyle);
- }
- }
- //客户发留言通知花店 ssh 20250906
- public static function newMessageInform($shop, $result)
- {
- $ptStyle = $shop->ptStyle ?? 0;
- $wxBase = WxOpenClass::getWxBase();
- $wx = $wxBase[$ptStyle] ?? [];
- $message = self::getAllByCondition(['ptStyle' => $ptStyle], null, '*', 'shortTemplateId');
- $shortTempId = 'OPENTM408238177';
- $tempId = $message[$shortTempId]['templateId'] ?? '';
- if (empty($tempId)) {
- return false;
- }
- $adminList = ShopAdminClass::getRemainAdmin($shop);
- if (empty($adminList)) {
- return false;
- }
- foreach ($adminList as $admin) {
- $openId = $admin['openId'] ?? '';
- if ($ptStyle == dict::getDict('ptStyle', 'ghs')) {
- $openId = $admin['ghsOpenId'] ?? '';
- }
- if (empty($openId)) {
- continue;
- }
- $data = [
- "touser" => $openId,
- "template_id" => $tempId,
- "url" => Yii::$app->params['ghsDomain'],
- "data" => [
- "first" => ["value" => $result, "color" => "#173177"],
- "keyword1" => ["value" => $result, "color" => "#173177"],
- "keyword2" => ["value" => '请及时回复', "color" => "#173177"],
- "remark" => ["value" => '点击查看详情', "color" => "#173177"]
- ]
- ];
- $data['miniprogram']['appid'] = $wx['miniAppId'];
- $data['miniprogram']['pagepath'] = 'admin/chat/list';
- wxUtil::sendTaskInform($data, $wx, $ptStyle);
- }
- }
- //初始化消息模板
- // ./yii.bat wx-message/init
- public static function init()
- {
- $wxBase = [
- dict::getDict('ptStyle', 'hd') => \bizHd\wx\classes\WxOpenClass::getWxInfo(),
- dict::getDict('ptStyle', 'ghs') => \bizHd\wx\classes\WxOpenClass::getGhsWxInfo(),
- dict::getDict('ptStyle', 'mall') => \bizHd\wx\classes\WxOpenClass::getMallWxInfo(),
- ];
- $message = self::getAllByCondition([], null, '*', null, true);
- if (!empty($message)) {
- foreach ($message as $item) {
- $ptStyle = $item->ptStyle;
- $wx = $wxBase[$ptStyle] ?? [];
- if (empty($wx)) {
- util::fail('没有找到微信平台信息');
- }
- $templateId = $item->templateId;
- $respond = wxUtil::delTMessage($wx, $templateId, $ptStyle);
- if (isset($respond['errcode']) && $respond['errcode'] == 0) {
- $item->delete();
- }
- }
- }
- $wxMessageList = self::has();
- foreach ($wxMessageList as $k => $message) {
- $ptStyle = $k;
- if (empty($message)) {
- continue;
- }
- $wx = $wxBase[$ptStyle] ?? [];
- foreach ($message as $shortId => $title) {
- $wxReturn = wxUtil::tMessageCreate($wx, $shortId, $ptStyle);
- echo json_encode($wxReturn) . "\n";
- if (isset($wxReturn['errcode']) && $wxReturn['errcode'] == 0) {
- $templateId = $wxReturn['template_id'];
- $data = [
- 'shortTemplateId' => $shortId,
- 'templateId' => $templateId,
- 'templateName' => $title,
- 'ptStyle' => $ptStyle,
- ];
- self::add($data);
- //Yii::warning("add tmessage:" . $title . " success\n");
- } else {
- Yii::warning("add tmessage error:" . json_encode($wxReturn) . " \n");
- noticeUtil::push("add wx message {$shortId} error:" . json_encode($wxReturn), '15280215347');
- }
- }
- }
- }
- //供货商有新的退款申请 ssh 20230815
- public static function ghsHasNewRefundApplyInform($shop, $refund)
- {
- $id = $refund->id;
- $refundSn = $refund->orderSn ?? '';
- $refundType = $refund->refundType ?? 1;
- $refundName = $refundType == 1 ? '退货退款' : '只退款';
- $addTime = $refund->addTime ?? '';
- $refundPrice = $refund->refundPrice ?? '';
- $refundPrice = floatval($refundPrice);
- $customId = $refund->customId ?? 0;
- $custom = CustomClass::getById($customId, true);
- $customName = $custom->name ?? '--';
- $ptStyle = $shop->ptStyle;
- $wxBase = WxOpenClass::getWxBase();
- $wx = $wxBase[$ptStyle] ?? [];
- $message = self::getAllByCondition(['ptStyle' => $ptStyle], null, '*', 'shortTemplateId');
- $shortTempId = 'ZHH202308150025';
- $tempId = isset($message[$shortTempId]['templateId']) ? $message[$shortTempId]['templateId'] : '';
- if (empty($tempId)) {
- return false;
- }
- $adminList = ShopAdminClass::getRemainAdmin($shop);
- if (empty($adminList)) {
- return false;
- }
- foreach ($adminList as $admin) {
- $openId = isset($admin['openId']) ? $admin['openId'] : '';
- if ($ptStyle == dict::getDict('ptStyle', 'ghs')) {
- $openId = isset($admin['ghsOpenId']) ? $admin['ghsOpenId'] : '';
- }
- $data = [
- "touser" => $openId,
- "template_id" => $tempId,
- "url" => Yii::$app->params['ghsDomain'],
- "data" => [
- "amount1" => ["value" => $refundPrice . '元'],
- "thing7" => ["value" => $customName],
- "time10" => ["value" => $addTime],
- "thing2" => ["value" => $refundName],
- "character_string3" => ["value" => $refundSn],
- ]
- ];
- $data['miniprogram']['appid'] = $wx['miniAppId'];
- $data['miniprogram']['pagepath'] = 'pagesOrder/refundDetail?from=1&id=' . $id;
- wxUtil::sendTaskInform($data, $wx, $ptStyle);
- }
- }
- //供货商采购确认通知相关人员 ssh 20240511
- public static function ghsCgInform($shop, $cg)
- {
- $orderSn = $cg->orderSn ?? '';
- $ptStyle = $shop->ptStyle;
- $ghsName = $cg->ghsName ?? '';
- $actPrice = $cg->actPrice ?? 0;
- $entryTime = $cg->entryTime ?? '';
- $staffName = $cg->shopAdminName ?? '';
- $wxBase = WxOpenClass::getWxBase();
- $wx = $wxBase[$ptStyle] ?? [];
- $message = self::getAllByCondition(['ptStyle' => $ptStyle], null, '*', 'shortTemplateId');
- $shortTempId = 'ZHH202405111701';
- $tempId = isset($message[$shortTempId]['templateId']) ? $message[$shortTempId]['templateId'] : '';
- if (empty($tempId)) {
- return false;
- }
- $adminList = ShopAdminClass::getRemainAdmin($shop);
- if (empty($adminList)) {
- return false;
- }
- foreach ($adminList as $admin) {
- $openId = isset($admin['openId']) ? $admin['openId'] : '';
- if ($ptStyle == dict::getDict('ptStyle', 'ghs')) {
- $openId = isset($admin['ghsOpenId']) ? $admin['ghsOpenId'] : '';
- }
- if (!empty($openId)) {
- $data = [
- "touser" => $openId,
- "template_id" => $tempId,
- "url" => Yii::$app->params['ghsDomain'],
- "data" => [
- "thing4" => ["value" => $ghsName],
- "character_string1" => ["value" => $orderSn],
- "amount2" => ["value" => $actPrice],
- "time3" => ["value" => $entryTime],
- "thing5" => ["value" => $staffName],
- ]
- ];
- $data['miniprogram']['appid'] = $wx['miniAppId'];
- $data['miniprogram']['pagepath'] = 'pagesPurchase/info?orderSn=' . $orderSn;
- wxUtil::sendTaskInform($data, $wx, $ptStyle);
- }
- }
- }
- //供货商采购入库成功通知相关人员 ssh 20240511
- public static function ghsCgEntryInform($shop, $cg)
- {
- return true;
- $orderSn = $cg->orderSn ?? '';
- $ptStyle = $shop->ptStyle;
- $ghsName = $cg->ghsName ?? '';
- $actPrice = $cg->actPrice ?? 0;
- $entryTime = $cg->entryTime ?? '';
- $wxBase = WxOpenClass::getWxBase();
- $wx = $wxBase[$ptStyle] ?? [];
- $message = self::getAllByCondition(['ptStyle' => $ptStyle], null, '*', 'shortTemplateId');
- $shortTempId = 'ZHH202405121036';
- $tempId = isset($message[$shortTempId]['templateId']) ? $message[$shortTempId]['templateId'] : '';
- if (empty($tempId)) {
- return false;
- }
- $adminList = ShopAdminClass::getRemainAdmin($shop);
- if (empty($adminList)) {
- return false;
- }
- $title = '花材';
- $totalNum = 0;
- $itemList = PurchaseOrderItemClass::getAllByCondition(['orderSn' => $orderSn], null, '*', null, true);
- if (!empty($itemList)) {
- $title = '';
- foreach ($itemList as $item) {
- $name = $item->name ?? '';
- if (empty($title)) {
- $title = $name;
- } else {
- $title .= ',' . $name;
- }
- $itemNum = $item->itemNum ?? 0;
- $refundNum = $item->refundNum ?? 0;
- $num = bcsub($itemNum, $refundNum, 2);
- $totalNum = bcadd($totalNum, $num, 2);
- }
- $totalNum = floatval($totalNum);
- $title = stringUtil::subStringUtf8($title, 15, '...');
- }
- foreach ($adminList as $admin) {
- $openId = isset($admin['openId']) ? $admin['openId'] : '';
- if ($ptStyle == dict::getDict('ptStyle', 'ghs')) {
- $openId = isset($admin['ghsOpenId']) ? $admin['ghsOpenId'] : '';
- }
- if (!empty($openId)) {
- $data = [
- "touser" => $openId,
- "template_id" => $tempId,
- "url" => Yii::$app->params['ghsDomain'],
- "data" => [
- "thing5" => ["value" => $ghsName],
- "character_string4" => ["value" => $orderSn],
- "time3" => ["value" => $entryTime],
- "character_string2" => ["value" => $totalNum . ' ¥' . $actPrice],
- "thing1" => ["value" => $title],
- ]
- ];
- $data['miniprogram']['appid'] = $wx['miniAppId'];
- $data['miniprogram']['pagepath'] = 'pagesPurchase/info?orderSn=' . $orderSn;
- wxUtil::sendTaskInform($data, $wx, $ptStyle);
- }
- }
- }
- //客户结清账单提醒 ssh 20240512
- public static function customHasClearToGhsInform($shop, $clearInfo, $custom)
- {
- //账单编号 合同金额 客户名称
- $ptStyle = $shop->ptStyle;
- $id = $clearInfo->id ?? 0;
- $actPrice = $clearInfo->actPrice ?? 0;
- $actPrice = bcadd($actPrice, 0, 2);
- $customName = isset($custom->name) && !empty($custom->name) ? $custom->name : '-';
- $customName = stringUtil::subStringUtf8($customName, 6, '...');
- $orderSn = $clearInfo->orderSn ?? '';
- $wxBase = WxOpenClass::getWxBase();
- $wx = $wxBase[$ptStyle] ?? [];
- $message = self::getAllByCondition(['ptStyle' => $ptStyle], null, '*', 'shortTemplateId');
- $shortTempId = 'ZHH202405111703';
- $tempId = isset($message[$shortTempId]['templateId']) ? $message[$shortTempId]['templateId'] : '';
- if (empty($tempId)) {
- return false;
- }
- $adminList = ShopAdminClass::getRemainAdmin($shop);
- if (empty($adminList)) {
- return false;
- }
- foreach ($adminList as $admin) {
- $openId = isset($admin['openId']) ? $admin['openId'] : '';
- if ($ptStyle == dict::getDict('ptStyle', 'ghs')) {
- $openId = isset($admin['ghsOpenId']) ? $admin['ghsOpenId'] : '';
- }
- if (!empty($openId)) {
- $data = [
- "touser" => $openId,
- "template_id" => $tempId,
- "url" => Yii::$app->params['ghsDomain'],
- "data" => [
- "character_string1" => ["value" => $orderSn],
- "amount5" => ["value" => $actPrice],
- "thing3" => ["value" => $customName . ' 线上结账'],
- ]
- ];
- $data['miniprogram']['appid'] = $wx['miniAppId'];
- $data['miniprogram']['pagepath'] = 'admin/clear/customInfo?id=' . $id;
- wxUtil::sendTaskInform($data, $wx, $ptStyle);
- }
- }
- }
- //客户充值清账通知 ssh 20240511
- public static function customRechargeClearInform($shop, $recharge)
- {
- //充值金额 商品名称 姓名 操作人 充值时间
- $ptStyle = $shop->ptStyle;
- $amount = $recharge->amount ?? 0;
- $amount = bcadd($amount, 0, 2);
- $staffName = isset($recharge->staffName) && !empty($recharge->staffName) ? $recharge->staffName : '-';
- $onlinePay = $recharge->onlinePay ?? 1;
- $onlineName = $onlinePay == 1 ? '线下' : '线上';
- $payWay = $recharge->payWay ?? 0;
- $nameMap = dict::getDict('payWayName');
- $payWayName = $nameMap[$payWay] ?? '微信';
- $payName = $onlineName . $payWayName;
- $title = $payName . ' 付款';
- $customName = isset($recharge->customName) && !empty($recharge->customName) ? $recharge->customName : '-';
- $customName = stringUtil::subStringUtf8($customName, 6, '...');
- $customId = $recharge->customId ?? 0;
- $payTime = $recharge->payTime ?? '';
- $wxBase = WxOpenClass::getWxBase();
- $wx = $wxBase[$ptStyle] ?? [];
- $message = self::getAllByCondition(['ptStyle' => $ptStyle], null, '*', 'shortTemplateId');
- $shortTempId = 'ZHH202405111704';
- $tempId = isset($message[$shortTempId]['templateId']) ? $message[$shortTempId]['templateId'] : '';
- if (empty($tempId)) {
- return false;
- }
- $adminList = ShopAdminClass::getRemainAdmin($shop);
- if (empty($adminList)) {
- return false;
- }
- foreach ($adminList as $admin) {
- $openId = isset($admin['openId']) ? $admin['openId'] : '';
- if ($ptStyle == dict::getDict('ptStyle', 'ghs')) {
- $openId = isset($admin['ghsOpenId']) ? $admin['ghsOpenId'] : '';
- }
- if (!empty($openId)) {
- $data = [
- "touser" => $openId,
- "template_id" => $tempId,
- "url" => Yii::$app->params['ghsDomain'],
- "data" => [
- "amount1" => ["value" => $amount],
- "thing9" => ["value" => $title],
- "thing7" => ["value" => $customName . ' 充值销账'],
- "thing11" => ["value" => $staffName],
- "time3" => ["value" => $payTime],
- ]
- ];
- $data['miniprogram']['appid'] = $wx['miniAppId'];
- $data['miniprogram']['pagepath'] = 'admin/custom/balanceChange?customId=' . $customId;
- wxUtil::sendTaskInform($data, $wx, $ptStyle);
- }
- }
- }
- //供货商重复打印通知 ssh 20240511
- public static function ghsCgRepeatPrintInform($cg)
- {
- $shopId = $cg->shopId ?? 0;
- $shop = ShopClass::getById($shopId, true);
- if (empty($shop)) {
- return false;
- }
- $orderSn = $cg->orderSn ?? '';
- $num = $cg->printNum ?? 0;
- $ptStyle = $shop->ptStyle;
- $ghsName = $cg->ghsName ?? '';
- $ghsName = stringUtil::subStringUtf8($ghsName, 6, '...');
- $staffName = $cg->shopAdminName ?? '';
- $wxBase = WxOpenClass::getWxBase();
- $wx = $wxBase[$ptStyle] ?? [];
- $message = self::getAllByCondition(['ptStyle' => $ptStyle], null, '*', 'shortTemplateId');
- $shortTempId = 'ZHH202405111702';
- $tempId = isset($message[$shortTempId]['templateId']) ? $message[$shortTempId]['templateId'] : '';
- if (empty($tempId)) {
- return false;
- }
- $adminList = ShopAdminClass::getRemainAdmin($shop);
- if (empty($adminList)) {
- return false;
- }
- foreach ($adminList as $admin) {
- $openId = isset($admin['openId']) ? $admin['openId'] : '';
- if ($ptStyle == dict::getDict('ptStyle', 'ghs')) {
- $openId = isset($admin['ghsOpenId']) ? $admin['ghsOpenId'] : '';
- }
- if (!empty($openId)) {
- $data = [
- "touser" => $openId,
- "template_id" => $tempId,
- "url" => Yii::$app->params['ghsDomain'],
- "data" => [
- "character_string20" => ["value" => $orderSn],
- "thing13" => ["value" => $ghsName],
- "thing17" => ["value" => "采购单 打印了【{$num}】次"],
- "thing23" => ["value" => $staffName],
- ]
- ];
- $data['miniprogram']['appid'] = $wx['miniAppId'];
- $data['miniprogram']['pagepath'] = 'pagesPurchase/info?orderSn=' . $orderSn;
- wxUtil::sendTaskInform($data, $wx, $ptStyle);
- }
- }
- }
- //供货商新订单通知 ssh 20210529
- public static function ghsHasNewOrderInform($shop, $order)
- {
- if ($order->payStatus != 1) {
- return false;
- }
- $ptStyle = $shop->ptStyle;
- $wxBase = WxOpenClass::getWxBase();
- $wx = $wxBase[$ptStyle] ?? [];
- $message = self::getAllByCondition(['ptStyle' => $ptStyle], null, '*', 'shortTemplateId');
- $shortTempId = 'OPENTM417875155';//新订单通知
- $tempId = isset($message[$shortTempId]['templateId']) ? $message[$shortTempId]['templateId'] : '';
- if (empty($tempId)) {
- return false;
- }
- $title = '';
- if (isset($order->book) && $order->book == 1) {
- $title = '【预订】';
- }
- if (isset($order->presell) && $order->presell == 1) {
- $title = '【预售】';
- }
- $orderId = $order->id;
- $actPrice = $order->actPrice;
- $actPrice = floatval($actPrice);
- $shopName = $shop->shopName ?? '';
- $first = isset($order->shopAdminId) && !empty($order->shopAdminId) ? "【门店开单】" : "";
- $customName = $order->customName ?? '';
- $customName = stringUtil::subStringUtf8($customName, 5, '...');
- $adminList = ShopAdminClass::getRemainAdmin($shop);
- if (empty($adminList)) {
- return false;
- }
- foreach ($adminList as $admin) {
- $openId = isset($admin['openId']) ? $admin['openId'] : '';
- if ($ptStyle == dict::getDict('ptStyle', 'ghs')) {
- $openId = isset($admin['ghsOpenId']) ? $admin['ghsOpenId'] : '';
- }
- $orderSn = $shopName == '首店' ? $order->orderSn : $shopName;
- $data = [
- "touser" => $openId,
- "template_id" => $tempId,
- "url" => Yii::$app->params['ghsDomain'],
- "data" => [
- "first" => ["value" => '', "color" => "#173177"],
- "keyword1" => ["value" => $orderSn . $title, "color" => "#173177"],
- "keyword2" => ["value" => $customName . ' ¥' . $actPrice . $first, "color" => "#173177"],
- "keyword3" => ["value" => date("Y-m-d H:i"), "color" => "#173177"],
- "remark" => ["value" => "点击查看详情", "color" => "#173177"]
- ]
- ];
- $data['miniprogram']['appid'] = $wx['miniAppId'];
- $data['miniprogram']['pagepath'] = 'pagesOrder/detail?id=' . $orderId;
- wxUtil::sendTaskInform($data, $wx, $ptStyle);
- }
- }
- //预订增加减少通知 ssh 20240820
- public static function bookChangeInform($shop, $arr)
- {
- $orderId = $arr['orderId'] ?? 0;
- $ptStyle = $shop->ptStyle;
- $wxBase = WxOpenClass::getWxBase();
- $wx = $wxBase[$ptStyle] ?? [];
- $message = self::getAllByCondition(['ptStyle' => $ptStyle], null, '*', 'shortTemplateId');
- $shortTempId = 'OPENTM417875155';
- $tempId = isset($message[$shortTempId]['templateId']) ? $message[$shortTempId]['templateId'] : '';
- if (empty($tempId)) {
- return false;
- }
- $itemName = $arr['itemName'] ?? '';
- $io = $arr['io'] ?? 0;
- $plus = $io == 1 ? '加' : '减';
- $num = $arr['num'] ?? 0;
- $title = $plus . $num . ' ' . $itemName;
- $customName = $arr['customName'] ?? '';
- $customName = stringUtil::subStringUtf8($customName, 5, '...');
- $adminList = ShopAdminClass::getRemainAdmin($shop);
- if (empty($adminList)) {
- return false;
- }
- foreach ($adminList as $admin) {
- $openId = isset($admin['openId']) ? $admin['openId'] : '';
- if ($ptStyle == dict::getDict('ptStyle', 'ghs')) {
- $openId = isset($admin['ghsOpenId']) ? $admin['ghsOpenId'] : '';
- }
- $data = [
- "touser" => $openId,
- "template_id" => $tempId,
- "url" => Yii::$app->params['ghsDomain'],
- "data" => [
- "first" => ["value" => '', "color" => "#173177"],
- "keyword1" => ["value" => $title, "color" => "#173177"],
- "keyword2" => ["value" => '客户-' . $customName, "color" => "#173177"],
- "keyword3" => ["value" => date("Y-m-d H:i"), "color" => "#173177"],
- "remark" => ["value" => "点击查看详情", "color" => "#173177"]
- ]
- ];
- $data['miniprogram']['appid'] = $wx['miniAppId'];
- $data['miniprogram']['pagepath'] = 'pagesOrder/detail?id=' . $orderId;
- wxUtil::sendTaskInform($data, $wx, $ptStyle);
- }
- }
- //花店新采购单通知 ssh 20231128
- public static function hdNewCgOrderInform($shop, $cg)
- {
- $ptStyle = $shop->ptStyle;
- $wxBase = WxOpenClass::getWxBase();
- $wx = $wxBase[$ptStyle] ?? [];
- $message = self::getAllByCondition(['ptStyle' => $ptStyle], null, '*', 'shortTemplateId');
- //采购申请处理通知
- $shortTempId = 'ZHH202311282308';
- $tempId = isset($message[$shortTempId]['templateId']) ? $message[$shortTempId]['templateId'] : '';
- if (empty($tempId)) {
- return false;
- }
- $id = $cg->id;
- $ghsName = $cg->ghsName;
- $actPrice = $cg->actPrice;
- $book = $cg->book;
- $goods = '花材';
- $status = $cg->status;
- if ($status == 1) {
- $road = '待付款';
- } elseif ($status == 2) {
- $road = '待发货';
- if ($book == 0) {
- $goods = '请查阅';
- } else {
- $goods = '请查阅(预订)';
- }
- } elseif ($status == 3) {
- $road = '已发货';
- if ($book == 0) {
- $goods = '请查阅';
- } else {
- $goods = '请查阅(预订)';
- }
- } elseif ($status == 4) {
- $road = '已完成';
- } else {
- $road = '已取消';
- }
- $adminList = ShopAdminClass::getRemainAdmin($shop);
- if (empty($adminList)) {
- return false;
- }
- foreach ($adminList as $admin) {
- $openId = isset($admin['openId']) ? $admin['openId'] : '';
- if ($ptStyle == dict::getDict('ptStyle', 'ghs')) {
- $openId = isset($admin['ghsOpenId']) ? $admin['ghsOpenId'] : '';
- }
- $data = [
- "touser" => $openId,
- "template_id" => $tempId,
- "url" => Yii::$app->params['ghsDomain'],
- "data" => [
- "thing12" => ["value" => $ghsName],
- "thing7" => ["value" => $goods],
- "amount10" => ["value" => $actPrice],
- "phrase4" => ["value" => $road],
- ]
- ];
- $data['miniprogram']['appid'] = $wx['miniAppId'];
- $data['miniprogram']['pagepath'] = 'pagesPurchase/purDetails?id=' . $id;
- wxUtil::sendTaskInform($data, $wx, $ptStyle);
- }
- }
- //花店新订单通知 ssh 20210529
- public static function hdNewOrderInform($shop, $order)
- {
- $ptStyle = $shop->ptStyle;
- $wxBase = WxOpenClass::getWxBase();
- $wx = $wxBase[$ptStyle] ?? [];
- $message = self::getAllByCondition(['ptStyle' => $ptStyle], null, '*', 'shortTemplateId');
- $shortTempId = 'OPENTM417875155';//新订单通知
- $tempId = isset($message[$shortTempId]['templateId']) ? $message[$shortTempId]['templateId'] : '';
- if (empty($tempId)) {
- return false;
- }
- $orderId = $order->id;
- $actPrice = $order->actPrice;
- $adminList = ShopAdminClass::getRemainAdmin($shop);
- if (empty($adminList)) {
- return false;
- }
- foreach ($adminList as $admin) {
- $openId = isset($admin['openId']) ? $admin['openId'] : '';
- if (empty($openId)) {
- continue;
- }
- $data = [
- "touser" => $openId,
- "template_id" => $tempId,
- "url" => Yii::$app->params['ghsDomain'],
- "data" => [
- "first" => ["value" => "您有新的订单,请注意查收", "color" => "#173177"],
- "keyword1" => ["value" => $order->orderSn, "color" => "#173177"],
- "keyword2" => ["value" => $actPrice, "color" => "#173177"],
- "keyword3" => ["value" => date("Y-m-d H:i"), "color" => "#173177"],
- "remark" => ["value" => "点击查看详情", "color" => "#173177"]
- ]
- ];
- $data['miniprogram']['appid'] = $wx['miniAppId'];
- $data['miniprogram']['pagepath'] = 'admin/order/detail?id=' . $orderId;
- wxUtil::sendTaskInform($data, $wx, $ptStyle);
- }
- }
- //审核通过通知 ssh 20210530
- public static function applyPass($shop)
- {
- $ptStyle = $shop->ptStyle;
- $wxBase = WxOpenClass::getWxBase();
- $wx = $wxBase[$ptStyle] ?? [];
- $message = self::getAllByCondition(['ptStyle' => $ptStyle], null, '*', 'shortTemplateId');
- $shortTempId = 'OPENTM401915538';//审核通过通知
- $tempId = isset($message[$shortTempId]['templateId']) ? $message[$shortTempId]['templateId'] : '';
- if (empty($tempId)) {
- return false;
- }
- $adminList = ShopAdminClass::getRemainAdmin($shop);
- if (empty($adminList)) {
- return false;
- }
- foreach ($adminList as $admin) {
- $openId = isset($admin['openId']) ? $admin['openId'] : '';
- if ($ptStyle == dict::getDict('ptStyle', 'ghs')) {
- $openId = isset($admin['ghsOpenId']) ? $admin['ghsOpenId'] : '';
- }
- if (empty($openId)) {
- continue;
- }
- $data = array(
- "touser" => $openId,
- "template_id" => $tempId,
- "url" => Yii::$app->params['ghsDomain'],
- "data" => array(
- "first" => array(
- "value" => "恭喜,您的开店申请审核通过。",
- "color" => "#173177"
- ),
- "keyword1" => array(
- "value" => '审核通过',
- "color" => "#173177"
- ),
- "keyword2" => array(
- "value" => date("Y-m-d H:i:s"),
- "color" => "#173177"
- ),
- "remark" => array(
- "value" => '点击登陆后台',
- "color" => "#173177"
- )
- ),
- );
- $data['miniprogram']['appid'] = $wx['miniAppId'];
- $data['miniprogram']['pagepath'] = 'admin/home/workbench';
- wxUtil::sendTaskInform($data, $wx, $ptStyle);
- }
- }
- //采购单下单成功 ssh 20210531
- public static function generateCgOrder($shop, $order)
- {
- $ptStyle = $shop->ptStyle;
- $wxBase = WxOpenClass::getWxBase();
- $wx = $wxBase[$ptStyle] ?? [];
- $message = self::getAllByCondition(['ptStyle' => $ptStyle], null, '*', 'shortTemplateId');
- $shortTempId = 'OPENTM202297555';//下单成功通知
- $tempId = isset($message[$shortTempId]['templateId']) ? $message[$shortTempId]['templateId'] : '';
- if (empty($tempId)) {
- return false;
- }
- $orderId = $order->id;
- $orderSn = (string)$order->orderSn;
- $totalFee = $order->actPrice;
- $adminList = ShopAdminClass::getRemainAdmin($shop);
- if (empty($adminList)) {
- return false;
- }
- foreach ($adminList as $admin) {
- $openId = isset($admin['openId']) ? $admin['openId'] : '';
- if ($ptStyle == dict::getDict('ptStyle', 'ghs')) {
- $openId = isset($admin['ghsOpenId']) ? $admin['ghsOpenId'] : '';
- }
- if (empty($openId)) {
- continue;
- }
- $data = [
- "touser" => $openId,
- "template_id" => $tempId,
- "url" => Yii::$app->params['ghsDomain'],
- "data" => [
- "first" => ["value" => '亲,您的采购单已生成', "color" => "#173177"],
- "keyword1" => ["value" => $orderSn, "color" => "#173177"],
- "keyword2" => ["value" => '花材', "color" => "#173177"],
- "keyword3" => ["value" => $order->bigNum . '/' . $order->smallNum, "color" => "#173177"],
- "keyword4" => ["value" => number_format($totalFee, 2) . '元', "color" => "#173177"],
- "keyword5" => ["value" => '-', "color" => "#173177"],
- "remark" => ["value" => "", "color" => "#173177"]
- ]
- ];
- $data['miniprogram']['appid'] = $wx['miniAppId'];
- $data['miniprogram']['pagepath'] = 'pagesPurchase/purDetails?id=' . $orderId;
- wxUtil::sendTaskInform($data, $wx, $ptStyle);
- }
- }
- //采购单已发货 ssh 20210531
- public static function cgOrderHasSend($shop, $order)
- {
- $ptStyle = $shop->ptStyle;
- $wxBase = WxOpenClass::getWxBase();
- $wx = $wxBase[$ptStyle] ?? [];
- $message = self::getAllByCondition(['ptStyle' => $ptStyle], null, '*', 'shortTemplateId');
- $shortTempId = 'OPENTM416881153';//下单成功通知
- $tempId = isset($message[$shortTempId]['templateId']) ? $message[$shortTempId]['templateId'] : '';
- if (empty($tempId)) {
- return false;
- }
- $orderId = $order->id;
- $orderSn = (string)$order->orderSn;
- $adminList = ShopAdminClass::getRemainAdmin($shop);
- if (empty($adminList)) {
- return false;
- }
- $ghsShopAdminName = $order->ghsShopAdminName ?? '';
- foreach ($adminList as $admin) {
- $openId = isset($admin['openId']) ? $admin['openId'] : '';
- if ($ptStyle == dict::getDict('ptStyle', 'ghs')) {
- $openId = isset($admin['ghsOpenId']) ? $admin['ghsOpenId'] : '';
- }
- if (empty($openId)) {
- continue;
- }
- $data = [
- "touser" => $openId,
- "template_id" => $tempId,
- "url" => Yii::$app->params['ghsDomain'],
- "data" => [
- "first" => ["value" => '亲,您的采购单已发货,请注意签收', "color" => "#173177"],
- "keyword1" => ["value" => $orderSn, "color" => "#173177"],
- "keyword2" => ["value" => date("Y-m-d H:i:s"), "color" => "#173177"],
- "keyword3" => ["value" => $ghsShopAdminName, "color" => "#173177"],
- "remark" => ["value" => "点击查看详情", "color" => "#173177"]
- ]
- ];
- $data['miniprogram']['appid'] = $wx['miniAppId'];
- $data['miniprogram']['pagepath'] = 'pagesPurchase/purDetails?id=' . $orderId;
- wxUtil::sendTaskInform($data, $wx, $ptStyle);
- }
- }
- //零售清算欠款通知供货商 ssh 20210531
- public static function clearInform($shop, $order, $custom)
- {
- $ptStyle = $shop->ptStyle;
- $wxBase = WxOpenClass::getWxBase();
- $wx = $wxBase[$ptStyle] ?? [];
- $message = self::getAllByCondition(['ptStyle' => $ptStyle], null, '*', 'shortTemplateId');
- $shortTempId = 'OPENTM207422813';//收入提醒
- $tempId = isset($message[$shortTempId]['templateId']) ? $message[$shortTempId]['templateId'] : '';
- if (empty($tempId)) {
- return false;
- }
- $id = $order->id ?? 0;
- $actPrice = $order->actPrice;
- $actPrice = floatval($actPrice);
- $name = $custom->name ?? '';
- $adminList = ShopAdminClass::getRemainAdmin($shop);
- if (empty($adminList)) {
- return false;
- }
- foreach ($adminList as $admin) {
- $openId = isset($admin['openId']) ? $admin['openId'] : '';
- if ($ptStyle == dict::getDict('ptStyle', 'ghs')) {
- $openId = isset($admin['ghsOpenId']) ? $admin['ghsOpenId'] : '';
- }
- if (empty($openId)) {
- continue;
- }
- $data = [
- "touser" => $openId,
- "template_id" => $tempId,
- "url" => Yii::$app->params['ghsDomain'],
- "data" => [
- "first" => ["value" => "", "color" => "#173177"],
- "keyword1" => ["value" => '¥' . $actPrice, "color" => "#173177"],
- "keyword2" => ["value" => "{$name} 线上结账", "color" => "#173177"],
- "keyword3" => ["value" => date("Y-m-d H:i"), "color" => "#173177"],
- "remark" => ["value" => "点击查看详情", "color" => "#173177"]
- ]
- ];
- $data['miniprogram']['appid'] = $wx['miniAppId'];
- $data['miniprogram']['pagepath'] = 'admin/clear/customInfo?id=' . $id;
- wxUtil::sendTaskInform($data, $wx, $ptStyle);
- }
- }
- //收款码收入通知 ssh 20210531
- public static function gatheringIncomeInform($shop, $order)
- {
- if ($order->payStatus != 1) {
- return false;
- }
- $ptStyle = $shop->ptStyle;
- $wxBase = WxOpenClass::getWxBase();
- $wx = $wxBase[$ptStyle] ?? [];
- $message = self::getAllByCondition(['ptStyle' => $ptStyle], null, '*', 'shortTemplateId');
- $shortTempId = 'OPENTM207422813';//收入提醒
- $tempId = isset($message[$shortTempId]['templateId']) ? $message[$shortTempId]['templateId'] : '';
- if (empty($tempId)) {
- return false;
- }
- $actPrice = $order->actPrice;
- $orderId = $order->id;
- $adminList = ShopAdminClass::getRemainAdmin($shop);
- if (empty($adminList)) {
- return false;
- }
- foreach ($adminList as $admin) {
- $openId = isset($admin['openId']) ? $admin['openId'] : '';
- if ($ptStyle == dict::getDict('ptStyle', 'ghs')) {
- $openId = isset($admin['ghsOpenId']) ? $admin['ghsOpenId'] : '';
- }
- if (empty($openId)) {
- continue;
- }
- $data = [
- "touser" => $openId,
- "template_id" => $tempId,
- "url" => Yii::$app->params['ghsDomain'],
- "data" => [
- "first" => ["value" => "您有新的收入。", "color" => "#173177"],
- "keyword1" => ["value" => $actPrice, "color" => "#173177"],
- "keyword2" => ["value" => '门店收入', "color" => "#173177"],
- "keyword3" => ["value" => date("Y-m-d H:i"), "color" => "#173177"],
- "remark" => ["value" => "点击查看详情", "color" => "#173177"]
- ]
- ];
- $data['miniprogram']['appid'] = $wx['miniAppId'];
- $data['miniprogram']['pagepath'] = 'admin/order/detail?id=' . $orderId;
- wxUtil::sendTaskInform($data, $wx, $ptStyle);
- }
- }
- //提现成功通知 ssh 20210531
- public static function cashInform($shop, $cash)
- {
- $ptStyle = $shop->ptStyle;
- $wxBase = WxOpenClass::getWxBase();
- $wx = $wxBase[$ptStyle] ?? [];
- $message = self::getAllByCondition(['ptStyle' => $ptStyle], null, '*', 'shortTemplateId');
- $shortTempId = 'OPENTM411207151';
- $tempId = isset($message[$shortTempId]['templateId']) ? $message[$shortTempId]['templateId'] : '';
- if (empty($tempId)) {
- return false;
- }
- $amount = floatval($cash->amount);
- $beAmount = floatval($cash->beAmount);
- $adminList = ShopAdminClass::getRemainAdmin($shop);
- if (empty($adminList)) {
- return false;
- }
- $mainId = $shop->mainId ?? 0;
- $staffList = ShopAdminClass::getAllByCondition(['mainId' => $mainId], null, '*', 'adminId');
- foreach ($adminList as $admin) {
- $openId = isset($admin['openId']) ? $admin['openId'] : '';
- if ($ptStyle == dict::getDict('ptStyle', 'ghs')) {
- $openId = isset($admin['ghsOpenId']) ? $admin['ghsOpenId'] : '';
- }
- if (empty($openId)) {
- continue;
- }
- $adminId = $admin['id'] ?? 0;
- $super = $staffList[$adminId]['super'] ?? 0;
- //提现管理员才通知
- if ($super == 0) {
- continue;
- }
- $data = [
- "touser" => $openId,
- "template_id" => $tempId,
- "url" => Yii::$app->params['ghsDomain'],
- "data" => [
- "first" => ["value" => "", "color" => "#173177"],
- "keyword1" => ["value" => "¥{$beAmount}", "color" => "#173177"],
- "keyword2" => ["value" => date("Y-m-d H:i"), "color" => "#173177"],
- "remark" => ["value" => '', "color" => "#173177"]
- ]
- ];
- $data['miniprogram']['appid'] = $wx['miniAppId'];
- $data['miniprogram']['pagepath'] = 'pagesStore/me/cashInfo?id=' . $cash->id;
- wxUtil::sendTaskInform($data, $wx, $ptStyle);
- }
- }
- //订单送达通知 ssh 20210607
- public static function reachInform($shop, $order)
- {
- $ptStyle = $shop->ptStyle;
- $wxBase = WxOpenClass::getWxBase();
- $wx = $wxBase[$ptStyle] ?? [];
- $message = self::getAllByCondition(['ptStyle' => $ptStyle], null, '*', 'shortTemplateId');
- $shortTempId = 'OPENTM201205968';
- $tempId = isset($message[$shortTempId]['templateId']) ? $message[$shortTempId]['templateId'] : '';
- if (empty($tempId)) {
- return false;
- }
- $orderId = $order->id ?? '';
- $orderSn = (string)$order->orderSn ?? '';
- $customName = $order->customName ?? '';
- $adminList = ShopAdminClass::getRemainAdmin($shop);
- if (empty($adminList)) {
- return false;
- }
- foreach ($adminList as $admin) {
- $openId = isset($admin['openId']) ? $admin['openId'] : '';
- if ($ptStyle == dict::getDict('ptStyle', 'ghs')) {
- $openId = isset($admin['ghsOpenId']) ? $admin['ghsOpenId'] : '';
- }
- if (empty($openId)) {
- continue;
- }
- $data = [
- "touser" => $openId,
- "template_id" => $tempId,
- "url" => Yii::$app->params['ghsDomain'],
- "data" => [
- "first" => ["value" => '客户订单已送达', "color" => "#173177"],
- "keyword1" => ["value" => $orderSn, "color" => "#173177"],
- "keyword2" => ["value" => $customName, "color" => "#173177"],
- "keyword3" => ["value" => '已送达', "color" => "#173177"],
- "remark" => ["value" => '点击查看详情', "color" => "#173177"]
- ]
- ];
- $data['miniprogram']['appid'] = $wx['miniAppId'];
- $data['miniprogram']['pagepath'] = 'pagesOrder/detail?id=' . $orderId;
- wxUtil::sendTaskInform($data, $wx, $ptStyle);
- }
- }
- //采购退款成功通知 ssh 20210730
- public static function cgRefundInform($shop, $cg, $amount)
- {
- $ptStyle = $shop->ptStyle;
- $wxBase = WxOpenClass::getWxBase();
- $wx = $wxBase[$ptStyle] ?? [];
- $message = self::getAllByCondition(['ptStyle' => $ptStyle], null, '*', 'shortTemplateId');
- $shortTempId = 'OPENTM407280253';
- $tempId = isset($message[$shortTempId]['templateId']) ? $message[$shortTempId]['templateId'] : '';
- if (empty($tempId)) {
- return false;
- }
- $orderId = $cg->id ?? '';
- $orderSn = (string)$cg->orderSn ?? '';
- $adminList = ShopAdminClass::getRemainAdmin($shop);
- if (empty($adminList)) {
- return false;
- }
- foreach ($adminList as $admin) {
- $openId = isset($admin['openId']) ? $admin['openId'] : '';
- if ($ptStyle == dict::getDict('ptStyle', 'ghs')) {
- $openId = isset($admin['ghsOpenId']) ? $admin['ghsOpenId'] : '';
- }
- if (empty($openId)) {
- continue;
- }
- $data = [
- "touser" => $openId,
- "template_id" => $tempId,
- "url" => Yii::$app->params['ghsDomain'],
- "data" => [
- "first" => ["value" => '采购单:' . $orderSn, "color" => "#173177"],
- "keyword1" => ["value" => "订单退款", "color" => "#173177"],
- "keyword2" => ["value" => $amount . "元", "color" => "#173177"],
- "keyword3" => ["value" => '已送达', "color" => "#173177"],
- "remark" => ["value" => '点击查看详情', "color" => "#173177"]
- ]
- ];
- $data['miniprogram']['appid'] = $wx['miniAppId'];
- $data['miniprogram']['pagepath'] = 'pagesPurchase/purDetails?id=' . $orderId;
- wxUtil::sendTaskInform($data, $wx, $ptStyle);
- }
- }
- //库存预警通知 ssh 20210909
- public static function stockWarningInform($shop, $productList)
- {
- if (empty($productList)) {
- return false;
- }
- $remark = '';
- foreach ($productList as $key => $product) {
- $stock = $product->stock ?? 0;
- $currentStock = floatval($stock);
- $name = $product->name ?? '';
- $remark .= $name . "({$currentStock}) ";
- }
- $ptStyle = $shop->ptStyle;
- $wxBase = WxOpenClass::getWxBase();
- $wx = $wxBase[$ptStyle] ?? [];
- $message = self::getAllByCondition(['ptStyle' => $ptStyle], null, '*', 'shortTemplateId');
- $shortTempId = 'OPENTM206773265';
- $tempId = isset($message[$shortTempId]['templateId']) ? $message[$shortTempId]['templateId'] : '';
- if (empty($tempId)) {
- return false;
- }
- $shopName = $shop->shopName ?? '';
- $date = date("Y-m-d H:i:s");
- $adminList = ShopAdminClass::getRemainAdmin($shop);
- if (empty($adminList)) {
- return false;
- }
- foreach ($adminList as $admin) {
- $openId = isset($admin['openId']) ? $admin['openId'] : '';
- if ($ptStyle == dict::getDict('ptStyle', 'ghs')) {
- $openId = isset($admin['ghsOpenId']) ? $admin['ghsOpenId'] : '';
- }
- if (empty($openId)) {
- continue;
- }
- $data = [
- "touser" => $openId,
- "template_id" => $tempId,
- "url" => Yii::$app->params['ghsDomain'],
- "data" => [
- "first" => ["value" => "", "color" => "#173177"],
- "keyword1" => ["value" => $shopName, "color" => "#173177"],
- "keyword2" => ["value" => "点击查看花材", "color" => "#173177"],
- "keyword3" => ["value" => "库存不足", "color" => "#D52B4D"],
- "keyword4" => ["value" => $date, "color" => "#173177"],
- "remark" => ["value" => $remark, "color" => "#D52B4D"]
- ]
- ];
- $data['miniprogram']['appid'] = $wx['miniAppId'];
- $data['miniprogram']['pagepath'] = 'admin/item/list?warning=1';
- wxUtil::sendTaskInform($data, $wx, $ptStyle);
- }
- }
- //供货商客户领取了新人红包 ssh 20211027
- public static function ghsCustomGetNewGiftInform($shop, $custom)
- {
- $ptStyle = $shop->ptStyle ?? 0;
- $wxBase = WxOpenClass::getWxBase();
- $wx = $wxBase[$ptStyle] ?? [];
- $message = self::getAllByCondition(['ptStyle' => $ptStyle], null, '*', 'shortTemplateId');
- $shortTempId = 'OPENTM408238177';
- $tempId = isset($message[$shortTempId]['templateId']) ? $message[$shortTempId]['templateId'] : '';
- if (empty($tempId)) {
- return false;
- }
- $customId = $custom['id'] ?? 0;
- $customName = $custom['name'] ?? '';
- $adminList = ShopAdminClass::getRemainAdmin($shop);
- if (empty($adminList)) {
- return false;
- }
- foreach ($adminList as $admin) {
- $openId = isset($admin['openId']) ? $admin['openId'] : '';
- if ($ptStyle == dict::getDict('ptStyle', 'ghs')) {
- $openId = isset($admin['ghsOpenId']) ? $admin['ghsOpenId'] : '';
- }
- if (empty($openId)) {
- continue;
- }
- $data = [
- "touser" => $openId,
- "template_id" => $tempId,
- "url" => Yii::$app->params['ghsDomain'],
- "data" => [
- "first" => ["value" => $customName . " 领取了新客红包", "color" => "#173177"],
- "keyword1" => ["value" => "新客红包", "color" => "#173177"],
- "keyword2" => ["value" => "已领取", "color" => "#173177"],
- "remark" => ["value" => '点击查看客户', "color" => "#173177"]
- ]
- ];
- $data['miniprogram']['appid'] = $wx['miniAppId'];
- $data['miniprogram']['pagepath'] = 'pagesClient/member/detail?id=' . $customId;
- wxUtil::sendTaskInform($data, $wx, $ptStyle);
- }
- }
- //供货商的客户介绍新客并且下单,获得红包通知商家 ssh 20211027
- public static function ghsCustomTjGetGiftInform($shop, $custom, $beTjCustom)
- {
- $ptStyle = $shop->ptStyle ?? 0;
- $wxBase = WxOpenClass::getWxBase();
- $wx = $wxBase[$ptStyle] ?? [];
- $message = self::getAllByCondition(['ptStyle' => $ptStyle], null, '*', 'shortTemplateId');
- $shortTempId = 'OPENTM408238177';
- $tempId = isset($message[$shortTempId]['templateId']) ? $message[$shortTempId]['templateId'] : '';
- if (empty($tempId)) {
- return false;
- }
- $customId = $custom->id ?? 0;
- $customName = $custom->name ?? '';
- $beTjCustomName = $beTjCustom->name ?? '';
- $adminList = ShopAdminClass::getRemainAdmin($shop);
- if (empty($adminList)) {
- return false;
- }
- foreach ($adminList as $admin) {
- $openId = isset($admin['openId']) ? $admin['openId'] : '';
- if ($ptStyle == dict::getDict('ptStyle', 'ghs')) {
- $openId = isset($admin['ghsOpenId']) ? $admin['ghsOpenId'] : '';
- }
- if (empty($openId)) {
- continue;
- }
- $data = [
- "touser" => $openId,
- "template_id" => $tempId,
- "url" => Yii::$app->params['ghsDomain'],
- "data" => [
- "first" => ["value" => "【{$beTjCustomName}】推荐的客户【{$customName}】已下单", "color" => "#173177"],
- "keyword1" => ["value" => "推荐新客红包", "color" => "#173177"],
- "keyword2" => ["value" => "已发放给【{$beTjCustomName}】", "color" => "#173177"],
- "remark" => ["value" => '点击查看客户', "color" => "#173177"]
- ]
- ];
- $data['miniprogram']['appid'] = $wx['miniAppId'];
- $data['miniprogram']['pagepath'] = 'pagesClient/member/detail?id=' . $customId;
- wxUtil::sendTaskInform($data, $wx, $ptStyle);
- }
- }
- //花店推荐供货商客户获得红包 ssh 20211027
- public static function hdTjGhsCustomGetGiftInform($shop, $ghs, $beTjCustom)
- {
- $ptStyle = $shop->ptStyle ?? 0;
- $wxBase = WxOpenClass::getWxBase();
- $wx = $wxBase[$ptStyle] ?? [];
- $message = self::getAllByCondition(['ptStyle' => $ptStyle], null, '*', 'shortTemplateId');
- $shortTempId = 'OPENTM408238177';
- $tempId = $message[$shortTempId]['templateId'] ?? '';
- if (empty($tempId)) {
- return false;
- }
- $beTjCustomName = $beTjCustom->name ?? '';
- $ghsName = $ghs->name ?? '';
- $adminList = ShopAdminClass::getRemainAdmin($shop);
- if (empty($adminList)) {
- return false;
- }
- foreach ($adminList as $admin) {
- $openId = $admin['openId'] ?? '';
- if ($ptStyle == dict::getDict('ptStyle', 'ghs')) {
- $openId = $admin['ghsOpenId'] ?? '';
- }
- if (empty($openId)) {
- continue;
- }
- $data = [
- "touser" => $openId,
- "template_id" => $tempId,
- "url" => Yii::$app->params['ghsDomain'],
- "data" => [
- "first" => ["value" => "您推荐的客户【{$beTjCustomName}】已在【{$ghsName}】下单", "color" => "#173177"],
- "keyword1" => ["value" => "推荐新客红包", "color" => "#173177"],
- "keyword2" => ["value" => "已获得", "color" => "#173177"],
- "remark" => ["value" => '点击查看红包', "color" => "#173177"]
- ]
- ];
- $data['miniprogram']['appid'] = $wx['miniAppId'];
- $data['miniprogram']['pagepath'] = 'admin/coupon/couponList';
- wxUtil::sendTaskInform($data, $wx, $ptStyle);
- }
- }
- //供货商新客户通知 ssh 20210909
- public static function newGhsCustomInform($shop, $custom, $introduce = [])
- {
- $ptStyle = $shop->ptStyle ?? 0;
- $wxBase = WxOpenClass::getWxBase();
- $wx = $wxBase[$ptStyle] ?? [];
- $message = self::getAllByCondition(['ptStyle' => $ptStyle], null, '*', 'shortTemplateId');
- $shortTempId = 'OPENTM203447669';
- $tempId = $message[$shortTempId]['templateId'] ?? '';
- if (empty($tempId)) {
- return false;
- }
- $customId = $custom->id ?? 0;
- $customName = $custom->name ?? '';
- $date = date("Y-m-d H:i:s");
- $adminList = ShopAdminClass::getRemainAdmin($shop);
- if (empty($adminList)) {
- return false;
- }
- $first = '';
- if (!empty($introduce)) {
- $introName = $introduce->name ?? '';
- $first = "此客户由【{$introName}】介绍";
- }
- foreach ($adminList as $admin) {
- $openId = $admin['openId'] ?? '';
- if ($ptStyle == dict::getDict('ptStyle', 'ghs')) {
- $openId = $admin['ghsOpenId'] ?? '';
- }
- if (empty($openId)) {
- continue;
- }
- $data = [
- "touser" => $openId,
- "template_id" => $tempId,
- "url" => Yii::$app->params['ghsDomain'],
- "data" => [
- "first" => ["value" => $first, "color" => "#173177"],
- "keyword1" => ["value" => $customId, "color" => "#173177"],
- "keyword2" => ["value" => $customName, "color" => "#D52B4D"],
- "keyword3" => ["value" => $date, "color" => "#173177"],
- "remark" => ["value" => '点击查看详情', "color" => "#173177"]
- ]
- ];
- $data['miniprogram']['appid'] = $wx['miniAppId'];
- $data['miniprogram']['pagepath'] = 'pagesClient/member/detail?id=' . $customId;
- wxUtil::sendTaskInform($data, $wx, $ptStyle);
- }
- }
- //客户充值通知供货商 ssh 20211005
- public static function customRechargeInformGhs($recharge)
- {
- $amount = $recharge->amount ?? 0;
- $hbId = $recharge->hbId ?? 0;
- $ghsId = $recharge->ghsId ?? 0;
- if (empty($ghsId)) {
- return false;
- }
- if (empty($hbId)) {
- return false;
- }
- $ghsInfo = GhsClass::getById($ghsId, true);
- $shopId = $ghsInfo->shopId ?? 0;
- $customId = $ghsInfo->customId ?? 0;
- $customInfo = CustomClass::getById($customId, true);
- $customName = $customInfo->name ?? '';
- $shopInfo = ShopClass::getById($shopId, true);
- $ptStyle = $shopInfo->ptStyle ?? 0;
- $wxBase = WxOpenClass::getWxBase();
- $wx = $wxBase[$ptStyle] ?? [];
- $message = self::getAllByCondition(['ptStyle' => $ptStyle], null, '*', 'shortTemplateId');
- $shortTempId = 'OPENTM411530050';
- $tempId = isset($message[$shortTempId]['templateId']) ? $message[$shortTempId]['templateId'] : '';
- if (empty($tempId)) {
- return false;
- }
- $adminList = ShopAdminClass::getRemainAdmin($shopInfo);
- if (empty($adminList)) {
- return false;
- }
- foreach ($adminList as $admin) {
- $openId = isset($admin['openId']) ? $admin['openId'] : '';
- if ($ptStyle == dict::getDict('ptStyle', 'ghs')) {
- $openId = isset($admin['ghsOpenId']) ? $admin['ghsOpenId'] : '';
- }
- if (empty($openId)) {
- continue;
- }
- $data = [
- "touser" => $openId,
- "template_id" => $tempId,
- "url" => Yii::$app->params['ghsDomain'],
- "data" => [
- "first" => ["value" => "有新客户充值", "color" => "#173177"],
- "keyword1" => ["value" => $customName, "color" => "#173177"],
- "keyword2" => ["value" => $customId, "color" => "#D52B4D"],
- "keyword3" => ["value" => $amount, "color" => "#173177"],
- "remark" => ["value" => '点击查看详情', "color" => "#173177"]
- ]
- ];
- $data['miniprogram']['appid'] = $wx['miniAppId'];
- $data['miniprogram']['pagepath'] = 'admin/hb/rechargeList';
- wxUtil::sendTaskInform($data, $wx, $ptStyle);
- }
- }
- //花店新客户通知 ssh 20220919
- public static function newHdCustomInform($shop, $custom, $introduce = [])
- {
- $ptStyle = $shop->ptStyle ?? 0;
- $wxBase = WxOpenClass::getWxBase();
- $wx = $wxBase[$ptStyle] ?? [];
- $message = self::getAllByCondition(['ptStyle' => $ptStyle], null, '*', 'shortTemplateId');
- $shortTempId = 'OPENTM203447669';
- $tempId = isset($message[$shortTempId]['templateId']) ? $message[$shortTempId]['templateId'] : '';
- if (empty($tempId)) {
- return false;
- }
- $customId = $custom->id ?? 0;
- $customName = $custom->name ?? '';
- $date = date("Y-m-d H:i:s");
- $adminList = ShopAdminClass::getRemainAdmin($shop);
- if (empty($adminList)) {
- return false;
- }
- $first = '';
- foreach ($adminList as $admin) {
- $openId = isset($admin['openId']) ? $admin['openId'] : '';
- if ($ptStyle == dict::getDict('ptStyle', 'ghs')) {
- $openId = isset($admin['ghsOpenId']) ? $admin['ghsOpenId'] : '';
- }
- if (empty($openId)) {
- continue;
- }
- $data = [
- "touser" => $openId,
- "template_id" => $tempId,
- "url" => Yii::$app->params['ghsDomain'],
- "data" => [
- "first" => ["value" => $first, "color" => "#173177"],
- "keyword1" => ["value" => $customId, "color" => "#173177"],
- "keyword2" => ["value" => $customName, "color" => "#D52B4D"],
- "keyword3" => ["value" => $date, "color" => "#173177"],
- "remark" => ["value" => '点击查看详情', "color" => "#173177"]
- ]
- ];
- $data['miniprogram']['appid'] = $wx['miniAppId'];
- $data['miniprogram']['pagepath'] = 'admin/member/detail?id=' . $customId;
- wxUtil::sendTaskInform($data, $wx, $ptStyle);
- }
- }
- //预订变化通知供货商员工下架花材 ssh 20240729
- public static function bookChangeOutStockInform($shop, $bookItemCustomRes, $num)
- {
- $ptStyle = $shop->ptStyle;
- $wxBase = WxOpenClass::getWxBase();
- $wx = $wxBase[$ptStyle] ?? [];
- $message = self::getAllByCondition(['ptStyle' => $ptStyle], null, '*', 'shortTemplateId');
- //取货提醒
- $shortTempId = 'ZHH202407100108';
- $tempId = isset($message[$shortTempId]['templateId']) ? $message[$shortTempId]['templateId'] : '';
- if (empty($tempId)) {
- return false;
- }
- $adminList = ShopAdminClass::getRemainAdmin($shop);
- if (empty($adminList)) {
- return false;
- }
- $itemId = $bookItemCustomRes->itemId ?? 0;
- $itemName = $bookItemCustomRes->name ?? '';
- $customName = $bookItemCustomRes->customName ?? '';
- $seatSn = $bookItemCustomRes->seatSn ?? 0;
- $seatName = empty($seatSn) ? '' : $seatSn;
- foreach ($adminList as $admin) {
- $openId = isset($admin['openId']) ? $admin['openId'] : '';
- if ($ptStyle == dict::getDict('ptStyle', 'ghs')) {
- $openId = isset($admin['ghsOpenId']) ? $admin['ghsOpenId'] : '';
- }
- $data = [
- "touser" => $openId,
- "template_id" => $tempId,
- "url" => Yii::$app->params['ghsDomain'],
- "data" => [
- "thing8" => ["value" => $customName . ' ' . $seatName],
- "thing10" => ["value" => '请下架' . $num . '份'],
- "thing7" => ["value" => $itemName],
- ]
- ];
- $data['miniprogram']['appid'] = $wx['miniAppId'];
- $data['miniprogram']['pagepath'] = 'admin/notice/index';
- //$data['miniprogram']['pagepath'] = 'admin/book/itemCustom?itemId=' . $itemId . '&itemName=' . $itemName;
- wxUtil::sendTaskInform($data, $wx, $ptStyle);
- }
- }
- }
|