Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
M
my-yaf-project
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
chenchuanwen
my-yaf-project
Commits
86acc8bf
Commit
86acc8bf
authored
Jan 02, 2019
by
wwccw0591
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更新
parent
0d7c0348
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
67 additions
and
77 deletions
+67
-77
OrderConfirmUtil.php
application/library/Order/OrderConfirmUtil.php
+31
-0
WechatCommon.php
application/library/Our/WechatCommon.php
+16
-1
OrderService.php
application/models/Business/Order/OrderService.php
+20
-76
No files found.
application/library/Order/OrderConfirmUtil.php
View file @
86acc8bf
...
@@ -3,6 +3,7 @@
...
@@ -3,6 +3,7 @@
namespace
Order
;
namespace
Order
;
use
Our\ApiConst
;
use
Our\ApiConst
;
use
Our\RedisHelper
;
use
Our\RedisHelper
;
use
Our\WechatCommon
;
/**
/**
...
@@ -710,6 +711,36 @@ class OrderConfirmUtil {
...
@@ -710,6 +711,36 @@ class OrderConfirmUtil {
}
}
$orderModel
->
db
->
doCommit
();
$orderModel
->
db
->
doCommit
();
$wechatCommon
=
WechatCommon
::
getInstance
();
$access_token
=
$wechatCommon
->
getAccessToken
();
//订单通过小程序表单提交过来
if
(
$formId
&&
$access_token
)
{
$settingDAO
=
\DAO\SettingModel
::
getInstance
();
$msg_tpl
=
$settingDAO
->
getListCache
(
array
(
'wxapp_order_create_tpl'
))[
'wxapp_order_create_tpl'
];
$goods_str
=
''
;
if
(
count
(
$goods_datas
)
>
1
)
{
$goods_str
.=
$goods_datas
[
0
]
.
'等'
.
count
(
$goods_datas
)
.
'件商品'
;
}
else
{
$goods_str
.=
$goods_datas
[
0
];
}
$sess
=
\Yaf\Session
::
getInstance
();
$authInfo
=
$sess
->
get
(
'wxAuthInfo'
);
$openid
=
$authInfo
[
'openid'
];
$req_data
=
array
(
'touser'
=>
$openid
,
'template_id'
=>
$msg_tpl
,
'form_id'
=>
$formId
,
'page'
=>
'pages/orders/detail/index?id='
.
$orderId
,
'data'
=>
array
(
'keyword1'
=>
array
(
'value'
=>
'下单成功'
),
'keyword2'
=>
array
(
'value'
=>
$order
[
'order_sn'
]),
'keyword3'
=>
array
(
'value'
=>
number_format
(
$order
[
'order_amount'
]
/
100
,
2
)
.
'元'
),
'keyword4'
=>
array
(
'value'
=>
$order
[
'store_name'
]),
'keyword5'
=>
array
(
'value'
=>
$goods_str
),
));
// \Our\Log::getInstance()->write(json_encode($req_data), '/data/log/apptest');
$json
=
$wechatCommon
->
sendTemplateMessage
(
$access_token
,
$req_data
);
// \Our\Log::getInstance()->write($json, '/data/log/apptest');
}
$this
->
opCacheInfo
();
$this
->
opCacheInfo
();
$this
->
pushMessage
();
$this
->
pushMessage
();
return
array
(
'needPayFlag'
=>
$needPayFlag
,
'paySn'
=>
$paySn
);
return
array
(
'needPayFlag'
=>
$needPayFlag
,
'paySn'
=>
$paySn
);
...
...
application/library/Our/WechatCommon.php
100755 → 100644
View file @
86acc8bf
...
@@ -72,6 +72,21 @@ class WechatCommon
...
@@ -72,6 +72,21 @@ class WechatCommon
return
$jsonstr
;
return
$jsonstr
;
}
}
/**
* 发送模板消息
*
* @param $access_token token
* @param $req_data 请求数据数组
* User: King <358887571@qq.com>
* Date: 2019/1/2 0002
* Time: 下午 4:41
*/
public
function
sendTemplateMessage
(
$access_token
,
$req_data
)
{
$url
=
'https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token='
.
$access_token
;
$result
=
$this
->
httpsPostJson
(
$url
,
$req_data
,
true
);
return
$result
;
}
public
function
httpsPostJson
(
$url
,
$data
=
''
,
$array
=
false
)
public
function
httpsPostJson
(
$url
,
$data
=
''
,
$array
=
false
)
{
{
...
@@ -127,4 +142,4 @@ class WechatCommon
...
@@ -127,4 +142,4 @@ class WechatCommon
return
self
::
$_instance
;
return
self
::
$_instance
;
}
}
}
}
\ No newline at end of file
application/models/Business/Order/OrderService.php
View file @
86acc8bf
...
@@ -18,6 +18,7 @@ use Our\NameConst;
...
@@ -18,6 +18,7 @@ use Our\NameConst;
use
Our\PageConst
;
use
Our\PageConst
;
use
Our\Push
;
use
Our\Push
;
use
Our\RedisHelper
;
use
Our\RedisHelper
;
use
Our\WechatCommon
;
/**
/**
* 店铺service
* 店铺service
...
@@ -87,52 +88,6 @@ class OrderServiceModel extends \Business\AbstractModel
...
@@ -87,52 +88,6 @@ class OrderServiceModel extends \Business\AbstractModel
return
$access_token
;
return
$access_token
;
}
}
/**
* curl请求
* @param $url
* @param $access_token
* @param $data
* @param $method
*/
private
function
sendurl
(
$url
,
$access_token
=
''
,
$data
=
''
,
$method
=
'get'
,
$header
=
''
)
{
//
if
(
strtolower
(
$method
)
==
'post'
)
{
$curl
=
curl_init
();
curl_setopt
(
$curl
,
CURLOPT_URL
,
$url
.
$access_token
);
curl_setopt
(
$curl
,
CURLOPT_SSL_VERIFYPEER
,
FALSE
);
curl_setopt
(
$curl
,
CURLOPT_SSL_VERIFYHOST
,
FALSE
);
}
else
{
$curl
=
curl_init
(
$url
.
$access_token
);
}
if
(
$header
){
//设置头部信息
curl_setopt
(
$curl
,
CURLOPT_HTTPHEADER
,
$header
);
}
//$curl = curl_init($url.$access_token);
curl_setopt
(
$curl
,
CURLOPT_FAILONERROR
,
1
);
//设置允许页面重定向
curl_setopt
(
$curl
,
CURLOPT_FOLLOWLOCATION
,
1
);
//设置返回值赋给变量
curl_setopt
(
$curl
,
CURLOPT_RETURNTRANSFER
,
1
);
//设置操作时间
curl_setopt
(
$curl
,
CURLOPT_TIMEOUT
,
5
);
if
(
$method
==
'post'
){
if
(
!
$data
)
$data
=
''
;
// 使用post 请求
curl_setopt
(
$curl
,
CURLOPT_POST
,
1
);
// 设置请求参数
curl_setopt
(
$curl
,
CURLOPT_POSTFIELDS
,
$data
);
}
//开始事务
$r
=
curl_exec
(
$curl
);
curl_close
(
$curl
);
return
$r
;
}
/**
/**
* 发送模板消息
* 发送模板消息
*
*
...
@@ -146,7 +101,8 @@ class OrderServiceModel extends \Business\AbstractModel
...
@@ -146,7 +101,8 @@ class OrderServiceModel extends \Business\AbstractModel
$model_member
=
\DAO\MemberModel
::
getInstance
(
DbNameConst
::
salveDBConnectName
);
$model_member
=
\DAO\MemberModel
::
getInstance
(
DbNameConst
::
salveDBConnectName
);
$model_order_goods
=
\DAO\Order\OrderGoodsModel
::
getInstance
(
DbNameConst
::
salveDBConnectName
);
$model_order_goods
=
\DAO\Order\OrderGoodsModel
::
getInstance
(
DbNameConst
::
salveDBConnectName
);
$settingDAO
=
\DAO\SettingModel
::
getInstance
();
$settingDAO
=
\DAO\SettingModel
::
getInstance
();
$access_token
=
$this
->
getLitAccesstoken
();
$wechatCommon
=
WechatCommon
::
getInstance
();
$access_token
=
$wechatCommon
->
getAccessToken
();
$wxapp_templates
=
$settingDAO
->
getListCache
(
array
(
'wxapp_order_paysucc_tpl'
,
'wxapp_order_shipping_tpl'
,
'wxapp_order_receive_tpl'
));
$wxapp_templates
=
$settingDAO
->
getListCache
(
array
(
'wxapp_order_paysucc_tpl'
,
'wxapp_order_shipping_tpl'
,
'wxapp_order_receive_tpl'
));
//付款7天内付款消息通知
//付款7天内付款消息通知
...
@@ -180,14 +136,10 @@ class OrderServiceModel extends \Business\AbstractModel
...
@@ -180,14 +136,10 @@ class OrderServiceModel extends \Business\AbstractModel
'keyword6'
=>
array
(
'value'
=>
'已付款'
),
'keyword6'
=>
array
(
'value'
=>
'已付款'
),
));
));
// \Our\Log::getInstance()->write(json_encode($req_data), '/data/log/apptest');
// \Our\Log::getInstance()->write(json_encode($req_data), '/data/log/apptest');
$url
=
'https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token='
;
$json
=
$wechatCommon
->
sendTemplateMessage
(
$access_token
,
$req_data
);
if
(
$json
[
'errmsg'
]
==
'ok'
)
{
if
(
$result
=
$this
->
sendurl
(
$url
,
$access_token
,
json_encode
(
$req_data
),
'post'
))
{
$model
->
updateByOrderId
(
array
(
'msg_status'
=>
2
),
$order
[
'order_id'
]);
$json
=
json_decode
(
$result
,
true
);
echo
'order['
.
$order
[
'order_id'
]
.
'] send payment succ'
.
"
\n
"
;
if
(
$json
[
'errmsg'
]
==
'ok'
)
{
$model
->
updateByOrderId
(
array
(
'msg_status'
=>
2
),
$order
[
'order_id'
]);
echo
'order['
.
$order
[
'order_id'
]
.
'] send payment succ'
.
"
\n
"
;
}
}
}
}
}
...
@@ -235,14 +187,11 @@ class OrderServiceModel extends \Business\AbstractModel
...
@@ -235,14 +187,11 @@ class OrderServiceModel extends \Business\AbstractModel
'keyword7'
=>
array
(
'value'
=>
number_format
(
$order
[
'order_amount'
]
/
100
,
2
)
.
'元'
),
'keyword7'
=>
array
(
'value'
=>
number_format
(
$order
[
'order_amount'
]
/
100
,
2
)
.
'元'
),
));
));
// \Our\Log::getInstance()->write(json_encode($req_data), '/data/log/apptest');
// \Our\Log::getInstance()->write(json_encode($req_data), '/data/log/apptest');
$url
=
'https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token='
;
if
(
$result
=
$this
->
sendurl
(
$url
,
$access_token
,
json_encode
(
$req_data
),
'post'
))
{
$json
=
$wechatCommon
->
sendTemplateMessage
(
$access_token
,
$req_data
);
$json
=
json_decode
(
$result
,
true
);
if
(
$json
[
'errmsg'
]
==
'ok'
)
{
if
(
$json
[
'errmsg'
]
==
'ok'
)
{
$model
->
updateByOrderId
(
array
(
'msg_status'
=>
3
),
$order
[
'order_id'
]);
$model
->
updateByOrderId
(
array
(
'msg_status'
=>
3
),
$order
[
'order_id'
]);
echo
'order['
.
$order
[
'order_id'
]
.
'] send shipping succ'
.
"
\n
"
;
echo
'order['
.
$order
[
'order_id'
]
.
'] send payment succ'
.
"
\n
"
;
}
}
}
}
}
...
@@ -299,14 +248,11 @@ class OrderServiceModel extends \Business\AbstractModel
...
@@ -299,14 +248,11 @@ class OrderServiceModel extends \Business\AbstractModel
'keyword9'
=>
array
(
'value'
=>
'您购买的商品已被签收,如不是您本人签收,请尽快联系商家'
),
'keyword9'
=>
array
(
'value'
=>
'您购买的商品已被签收,如不是您本人签收,请尽快联系商家'
),
));
));
// \Our\Log::getInstance()->write(json_encode($req_data), '/data/log/apptest');
// \Our\Log::getInstance()->write(json_encode($req_data), '/data/log/apptest');
$url
=
'https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token='
;
if
(
$result
=
$this
->
sendurl
(
$url
,
$access_token
,
json_encode
(
$req_data
),
'post'
))
{
$json
=
$wechatCommon
->
sendTemplateMessage
(
$access_token
,
$req_data
);
$json
=
json_decode
(
$result
,
true
);
if
(
$json
[
'errmsg'
]
==
'ok'
)
{
if
(
$json
[
'errmsg'
]
==
'ok'
)
{
$model
->
updateByOrderId
(
array
(
'msg_status'
=>
4
),
$order
[
'order_id'
]);
$model
->
updateByOrderId
(
array
(
'msg_status'
=>
4
),
$order
[
'order_id'
]);
echo
'order['
.
$order
[
'order_id'
]
.
'] send reciver succ'
.
"
\n
"
;
echo
'order['
.
$order
[
'order_id'
]
.
'] send payment succ'
.
"
\n
"
;
}
}
}
}
}
...
@@ -689,7 +635,8 @@ class OrderServiceModel extends \Business\AbstractModel
...
@@ -689,7 +635,8 @@ class OrderServiceModel extends \Business\AbstractModel
$push
->
sendTcpMessage
();
$push
->
sendTcpMessage
();
$model_member
=
\DAO\MemberModel
::
getInstance
(
DbNameConst
::
salveDBConnectName
);
$model_member
=
\DAO\MemberModel
::
getInstance
(
DbNameConst
::
salveDBConnectName
);
$access_token
=
$this
->
getLitAccesstoken
();
$wechatCommon
=
WechatCommon
::
getInstance
();
$access_token
=
$wechatCommon
->
getAccessToken
();
$settingDAO
=
\DAO\SettingModel
::
getInstance
();
$settingDAO
=
\DAO\SettingModel
::
getInstance
();
$wxapp_templates
=
$settingDAO
->
getListCache
(
array
(
'wxapp_order_receive_tpl'
));
$wxapp_templates
=
$settingDAO
->
getListCache
(
array
(
'wxapp_order_receive_tpl'
));
...
@@ -734,13 +681,10 @@ class OrderServiceModel extends \Business\AbstractModel
...
@@ -734,13 +681,10 @@ class OrderServiceModel extends \Business\AbstractModel
'keyword9'
=>
array
(
'value'
=>
'您购买的商品已被签收,如不是您本人签收,请尽快联系商家'
),
'keyword9'
=>
array
(
'value'
=>
'您购买的商品已被签收,如不是您本人签收,请尽快联系商家'
),
));
));
// \Our\Log::getInstance()->write(json_encode($req_data), '/data/log/apptest');
// \Our\Log::getInstance()->write(json_encode($req_data), '/data/log/apptest');
$url
=
'https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token='
;
if
(
$result
=
$this
->
sendurl
(
$url
,
$access_token
,
json_encode
(
$req_data
),
'post'
))
{
$json
=
$wechatCommon
->
sendTemplateMessage
(
$access_token
,
$req_data
);
$json
=
json_decode
(
$result
,
true
);
if
(
$json
[
'errmsg'
]
==
'ok'
)
{
if
(
$json
[
'errmsg'
]
==
'ok'
)
{
$orderDao
->
updateByOrderId
(
array
(
'msg_status'
=>
4
),
$order
[
'order_id'
]);
$orderDao
->
updateByOrderId
(
array
(
'msg_status'
=>
4
),
$order
[
'order_id'
]);
}
}
}
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment