Authored by 郝肖肖

合master

@@ -12,120 +12,100 @@ class ChannelConfig @@ -12,120 +12,100 @@ class ChannelConfig
12 //首页 12 //首页
13 'boys' => array( 13 'boys' => array(
14 array( 14 array(
15 - 'sort' => 147, 15 + 'misort' => 44,
16 'viewNum' => 5 16 'viewNum' => 5
17 ), //休闲/运动鞋 17 ), //休闲/运动鞋
18 array( 18 array(
19 - 'sort' => 129, 19 + 'misort' => 11,
20 'viewNum' => 5 20 'viewNum' => 5
21 - ), //休闲裤 21 + ), //T恤
22 array( 22 array(
23 - 'sort' => 152, 23 + 'misort' => 28,
24 'viewNum' => 5 24 'viewNum' => 5
25 - ), //双肩包 25 + ), //短裤
26 array( 26 array(
27 - 'misort' => 11, 27 + 'misort' => 61,
28 'viewNum' => 5 28 'viewNum' => 5
29 - ), //T恤 29 + ), //太阳镜/眼镜
30 array( 30 array(
31 - 'sort' => 115, 31 + 'misort' => 26,
32 'viewNum' => 5 32 'viewNum' => 5
33 - ), //衬衫 33 + ), //休闲裤
34 array( 34 array(
35 - 'sort' => 130, 35 + 'misort' => 27,
36 'viewNum' => 5 36 'viewNum' => 5
37 ), //牛仔裤 37 ), //牛仔裤
38 array( 38 array(
39 - 'misort' => 60,  
40 - 'viewNum' => 5  
41 - ), //帽子  
42 - array(  
43 - 'sort' => 124, 39 + 'misort' => 49,
44 'viewNum' => 5 40 'viewNum' => 5
45 - ), //夹克 41 + ), //双肩包
46 array( 42 array(
47 - 'sort' => 119, 43 + 'misort' => 12,
48 'viewNum' => 5 44 'viewNum' => 5
49 - ), //卫衣 45 + ), //衬衫
50 array( 46 array(
51 - 'sort' => 162, 47 + 'misort' => 13,
52 'viewNum' => 5 48 'viewNum' => 5
53 - ), //手表 49 + ), //polo
54 array( 50 array(
55 - 'sort' => 148, 51 + 'misort' => 60,
56 'viewNum' => 5 52 'viewNum' => 5
57 - ), // 53 + ), //
58 array( 54 array(
59 - 'misort' => 65, 55 + 'misort' => 46,
60 'viewNum' => 5 56 'viewNum' => 5
61 - ), //首饰 57 + ), //凉鞋/拖鞋
62 array( 58 array(
63 - 'sort' => 151, 59 + 'misort' => 66,
64 'viewNum' => 5 60 'viewNum' => 5
65 - ), //时装鞋 61 + ), //配饰
66 array( 62 array(
67 - 'misort' => 61, 63 + 'misort' => 65,
68 'viewNum' => 5 64 'viewNum' => 5
69 - ), //太阳镜/眼镜 65 + ), //首饰
70 array( 66 array(
71 - 'misort' => 39, 67 + 'misort' => 59,
72 'viewNum' => 5 68 'viewNum' => 5
73 - ), //袜子 69 + ), //手表
74 array( 70 array(
75 - 'sort' => 346, 71 + 'misort' => 48,
76 'viewNum' => 5 72 'viewNum' => 5
77 - ), //运动裤 73 + ), //时装鞋
78 array( 74 array(
79 - 'sort' => 131, 75 + 'misort' => 14,
80 'viewNum' => 5 76 'viewNum' => 5
81 - ), //短裤 77 + ), //背心
82 array( 78 array(
83 - 'misort' => 66, 79 + 'misort' => 19,
84 'viewNum' => 5 80 'viewNum' => 5
85 - ), //配饰 81 + ), //西装
86 array( 82 array(
87 'misort' => 309, 83 'misort' => 309,
88 'viewNum' => 5 84 'viewNum' => 5
89 ), //内裤 85 ), //内裤
90 array( 86 array(
91 - 'misort' => 30, 87 + 'misort' => 259,
92 'viewNum' => 5 88 'viewNum' => 5
93 - ), //打底裤/紧身裤 89 + ), //美妆
94 array( 90 array(
95 - 'sort' => 342, 91 + 'misort' => 237,
96 'viewNum' => 5 92 'viewNum' => 5
97 - ), //邮差 93 + ), //钱包/手包/卡包/钥匙
98 ), 94 ),
99 //女首上架分类 95 //女首上架分类
100 'girls' => array( 96 'girls' => array(
101 array( 97 array(
102 - 'misort' => 16,  
103 - 'viewNum' => 4  
104 - ), // 卫衣  
105 - array(  
106 - 'misort' => 12,  
107 - 'viewNum' => 4  
108 - ), //衬衫  
109 - array(  
110 - 'misort' => 44,  
111 - 'viewNum' => 4  
112 - ), //休闲/运动鞋  
113 - array(  
114 'misort' => 11, 98 'misort' => 11,
115 'viewNum' => 4 99 'viewNum' => 4
116 ), //T恤 100 ), //T恤
117 array( 101 array(
118 - 'misort' => 21,  
119 - 'viewNum' => 4  
120 - ), //夹克  
121 - array(  
122 - 'misort' => 257, 102 + 'misort' => 44,
123 'viewNum' => 4 103 'viewNum' => 4
124 - ), //毛衣/针织 104 + ), //休闲/运动鞋
125 array( 105 array(
126 - 'misort' => 22, 106 + 'misort' => 31,
127 'viewNum' => 4 107 'viewNum' => 4
128 - ), //大衣/风衣 108 + ), //连衣裙
129 array( 109 array(
130 'misort' => 26, 110 'misort' => 26,
131 'viewNum' => 4 111 'viewNum' => 4
@@ -135,45 +115,65 @@ class ChannelConfig @@ -135,45 +115,65 @@ class ChannelConfig
135 'viewNum' => 4 115 'viewNum' => 4
136 ), //牛仔裤 116 ), //牛仔裤
137 array( 117 array(
138 - 'misort' => 31, 118 + 'misort' => 12,
139 'viewNum' => 4 119 'viewNum' => 4
140 - ), //连衣裙 120 + ), //衬衫
141 array( 121 array(
142 'misort' => 32, 122 'misort' => 32,
143 'viewNum' => 4 123 'viewNum' => 4
144 ), //半身裙 124 ), //半身裙
145 array( 125 array(
  126 + 'misort' => 28,
  127 + 'viewNum' => 4
  128 + ), //短裤
  129 + array(
  130 + 'misort' => 14,
  131 + 'viewNum' => 4
  132 + ), //背心
  133 + array(
  134 + 'misort' => 46,
  135 + 'viewNum' => 4
  136 + ), //凉鞋/拖鞋
  137 + array(
146 'misort' => 48, 138 'misort' => 48,
147 'viewNum' => 4 139 'viewNum' => 4
148 ), //时装鞋 140 ), //时装鞋
149 array( 141 array(
  142 + 'misort' => 50,
  143 + 'viewNum' => 4
  144 + ), //单肩/手拎包
  145 + array(
150 'misort' => 49, 146 'misort' => 49,
151 'viewNum' => 4 147 'viewNum' => 4
152 ), //双肩包 148 ), //双肩包
153 array( 149 array(
154 - 'misort' => 50, 150 + 'misort' => 61,
155 'viewNum' => 4 151 'viewNum' => 4
156 - ), //手拎包/单肩包 152 + ), //太阳镜/眼镜
157 array( 153 array(
158 'misort' => 60, 154 'misort' => 60,
159 'viewNum' => 4 155 'viewNum' => 4
160 ), //帽子 156 ), //帽子
161 array( 157 array(
  158 + 'misort' => 59,
  159 + 'viewNum' => 4
  160 + ), //手表
  161 + array(
162 'misort' => 65, 162 'misort' => 65,
163 'viewNum' => 4 163 'viewNum' => 4
164 ), //首饰 164 ), //首饰
165 array( 165 array(
166 - 'misort' => 59, 166 + 'misort' => 363,
167 'viewNum' => 4 167 'viewNum' => 4
168 - ), //手表 168 + ), //文胸
169 array( 169 array(
170 - 'misort' => 61, 170 + 'misort' => 309,
171 'viewNum' => 4 171 'viewNum' => 4
172 - ), //太阳镜 172 + ), //内裤
173 array( 173 array(
174 - 'misort' => 66, 174 + 'misort' => 259,
175 'viewNum' => 4 175 'viewNum' => 4
176 - ), //配饰 176 + ) //美妆
177 ), 177 ),
178 //潮童上架分类 178 //潮童上架分类
179 'kids' => array( 179 'kids' => array(
@@ -186,17 +186,17 @@ class ChannelConfig @@ -186,17 +186,17 @@ class ChannelConfig
186 'viewNum' => 4 186 'viewNum' => 4
187 ), //衬衫 187 ), //衬衫
188 array( 188 array(
189 - 'misort' => 396, 189 + 'misort' => 451,
190 'viewNum' => 4 190 'viewNum' => 4
191 - ), //卫衣 191 + ), //POLO
192 array( 192 array(
193 - 'misort' => 400, 193 + 'misort' => 371,
194 'viewNum' => 4 194 'viewNum' => 4
195 - ), //毛衣/针织 195 + ), //连衣裙
196 array( 196 array(
197 - 'misort' => 404, 197 + 'misort' => 370,
198 'viewNum' => 4 198 'viewNum' => 4
199 - ), //夹克 199 + ), //半身裙
200 array( 200 array(
201 'misort' => 369, 201 'misort' => 369,
202 'viewNum' => 4 202 'viewNum' => 4
@@ -206,80 +206,72 @@ class ChannelConfig @@ -206,80 +206,72 @@ class ChannelConfig
206 'viewNum' => 4 206 'viewNum' => 4
207 ), //牛仔裤 207 ), //牛仔裤
208 array( 208 array(
209 - 'misort' => 371,  
210 - 'viewNum' => 4  
211 - ), //连衣裙  
212 - array(  
213 - 'misort' => 370, 209 + 'misort' => 372,
214 'viewNum' => 4 210 'viewNum' => 4
215 - ), //半身裙 211 + ), //短裤
216 array( 212 array(
217 'misort' => 368, 213 'misort' => 368,
218 'viewNum' => 4 214 'viewNum' => 4
219 ), //休闲/运动鞋 215 ), //休闲/运动鞋
220 array( 216 array(
221 - 'misort' => 392, 217 + 'misort' => 382,
222 'viewNum' => 4 218 'viewNum' => 4
223 - ), //双肩包 219 + ), //凉鞋/拖鞋
224 array( 220 array(
225 - 'misort' => 414, 221 + 'misort' => 392,
226 'viewNum' => 4 222 'viewNum' => 4
227 - ), //帽子 223 + ), //双肩包
228 array( 224 array(
229 - 'misort' => 372, 225 + 'misort' => 429,
230 'viewNum' => 4 226 'viewNum' => 4
231 - ), //短裤 227 + ), //太阳镜/眼镜
232 array( 228 array(
233 - 'misort' => 384, 229 + 'misort' => 464,
234 'viewNum' => 4 230 'viewNum' => 4
235 - ), //打底裤/紧身裤 231 + ), //雨伞/雨衣
236 array( 232 array(
237 - 'misort' => 382, 233 + 'misort' => 386,
238 'viewNum' => 4 234 'viewNum' => 4
239 - ), //凉鞋/拖鞋 235 + ), //背心
240 array( 236 array(
241 - 'misort' => 402, 237 + 'misort' => 384,
242 'viewNum' => 4 238 'viewNum' => 4
243 - ), //马甲 239 + ), //打底裤/紧身裤
244 array( 240 array(
245 - 'misort' => 386, 241 + 'misort' => 448,
246 'viewNum' => 4 242 'viewNum' => 4
247 - ), //背心 243 + ), //玩具娱乐
248 array( 244 array(
249 - 'misort' => 406, 245 + 'misort' => 414,
250 'viewNum' => 4 246 'viewNum' => 4
251 - ), //大衣/风衣 247 + ), //帽子
252 array( 248 array(
253 - 'misort' => 430, 249 + 'misort' => 380,
254 'viewNum' => 4 250 'viewNum' => 4
255 - ), //羽绒服 251 + ), //泳衣
256 array( 252 array(
257 - 'misort' => 423, 253 + 'misort' => 419,
258 'viewNum' => 4 254 'viewNum' => 4
259 - ), //棉衣 255 + ), //配饰
260 array( 256 array(
261 'misort' => 417, 257 'misort' => 417,
262 'viewNum' => 4 258 'viewNum' => 4
263 - ), //套装 259 + )//套装
264 ), 260 ),
265 //创意生活上架分类 261 //创意生活上架分类
266 'lifestyle' => array( 262 'lifestyle' => array(
267 array( 263 array(
268 - 'sort' => 171,  
269 - 'viewNum' => 5  
270 - ), //耳机  
271 - array(  
272 - 'sort' => 398, 264 + 'misort' => 259,
273 'viewNum' => 5 265 'viewNum' => 5
274 - ), //智能装备 266 + ), //美妆
275 array( 267 array(
276 - 'sort' => 185, 268 + 'misort' => 266,
277 'viewNum' => 5 269 'viewNum' => 5
278 - ), //相机 270 + ), //雨伞
279 array( 271 array(
280 - 'misort' => 259, 272 + 'sort' => 171,
281 'viewNum' => 5 273 'viewNum' => 5
282 - ), //美妆 274 + ), //耳机
283 array( 275 array(
284 'sort' => 267, 276 'sort' => 267,
285 'viewNum' => 5 277 'viewNum' => 5
@@ -289,25 +281,21 @@ class ChannelConfig @@ -289,25 +281,21 @@ class ChannelConfig
289 'viewNum' => 5 281 'viewNum' => 5
290 ), //手机/ipad壳套 282 ), //手机/ipad壳套
291 array( 283 array(
292 - 'sort' => 211, 284 + 'misort' => 103,
293 'viewNum' => 5 285 'viewNum' => 5
294 ), //数码配件 286 ), //数码配件
295 array( 287 array(
296 - 'sort' => 292, 288 + 'misort' => 280,
297 'viewNum' => 5 289 'viewNum' => 5
298 - ), //玩 290 + ), //玩具娱乐
299 array( 291 array(
300 - 'sort' => 272,  
301 - 'viewNum' => 5  
302 - ), //储物收纳  
303 - array(  
304 - 'sort' => 183, 292 + 'sort' => 185,
305 'viewNum' => 5 293 'viewNum' => 5
306 - ), //居家用品 294 + ), //相机
307 array( 295 array(
308 - 'sort' => 273, 296 + 'misort' => 101,
309 'viewNum' => 5 297 'viewNum' => 5
310 - ), //厨具/餐 298 + ), //
311 array( 299 array(
312 'sort' => 271, 300 'sort' => 271,
313 'viewNum' => 5 301 'viewNum' => 5
@@ -234,6 +234,8 @@ class PayData @@ -234,6 +234,8 @@ class PayData
234 public static function pcpayNotify($orderCode, $payment, $amount, $bankName = '', $bankCode = '', $tradeNo = '', $bankBillNo = '') 234 public static function pcpayNotify($orderCode, $payment, $amount, $bankName = '', $bankCode = '', $tradeNo = '', $bankBillNo = '')
235 { 235 {
236 $param = Yohobuy::param(); 236 $param = Yohobuy::param();
  237 + $param['client_type'] = 'web';
  238 + $param['private_key'] = Yohobuy::$privateKeyList['web'];
237 $param['method'] = 'web.SpaceOrders.pcpayNotify'; 239 $param['method'] = 'web.SpaceOrders.pcpayNotify';
238 $param['order_code'] = $orderCode; 240 $param['order_code'] = $orderCode;
239 $param['payment'] = $payment; 241 $param['payment'] = $payment;
@@ -258,6 +260,8 @@ class PayData @@ -258,6 +260,8 @@ class PayData
258 { 260 {
259 // 构建必传参数 261 // 构建必传参数
260 $param = Yohobuy::param(); 262 $param = Yohobuy::param();
  263 + $param['client_type'] = 'web';
  264 + $param['private_key'] = Yohobuy::$privateKeyList['web'];
261 $param['method'] = 'app.SpaceOrders.payConfirm'; 265 $param['method'] = 'app.SpaceOrders.payConfirm';
262 $param['order_code'] = $orderCode; 266 $param['order_code'] = $orderCode;
263 $param['payment_id'] = $paymentId; 267 $param['payment_id'] = $paymentId;
@@ -42,8 +42,6 @@ class Service extends PayAbstract @@ -42,8 +42,6 @@ class Service extends PayAbstract
42 public function getPayRequestPars(Reqparams $params) 42 public function getPayRequestPars(Reqparams $params)
43 { 43 {
44 // $baseUrl = $this->getBaseNoticeUrl($params->isTest); 44 // $baseUrl = $this->getBaseNoticeUrl($params->isTest);
45 -// $loseTime = intval(($params->orderTime + 7200 - time()) / 60);  
46 - // $loseTime = intval((strtotime(date("Y-m-d 10:00:00", strtotime("+1 day")))-time())/60);  
47 UdpLog::info("【{$this->logProjectPrefix}-支付宝银行支付】,function:getPayRequestPars,参数", $params); 45 UdpLog::info("【{$this->logProjectPrefix}-支付宝银行支付】,function:getPayRequestPars,参数", $params);
48 $parameter = array( 46 $parameter = array(
49 'service' => $this->config->service, 47 'service' => $this->config->service,
@@ -58,7 +56,7 @@ class Service extends PayAbstract @@ -58,7 +56,7 @@ class Service extends PayAbstract
58 'payment_type' => $this->config->payment_type, 56 'payment_type' => $this->config->payment_type,
59 'defaultbank' => $params->paymentParameter, 57 'defaultbank' => $params->paymentParameter,
60 'seller_email' => $this->config->sellerMail, 58 'seller_email' => $this->config->sellerMail,
61 -// 'it_b_pay' => $loseTime . 'm' 59 + 'it_b_pay' => $params->payExpireMinute . 'm',
62 ); 60 );
63 if ($this->config->anti_fishing['timestamp_enable']) { 61 if ($this->config->anti_fishing['timestamp_enable']) {
64 $anti_phishing_key = $this->getTimestamp(); 62 $anti_phishing_key = $this->getTimestamp();
@@ -47,8 +47,6 @@ class Service extends PayAbstract @@ -47,8 +47,6 @@ class Service extends PayAbstract
47 { 47 {
48 UdpLog::info("【{$this->logProjectPrefix}-支付宝支付】,function:getPayRequestPars,参数", $params); 48 UdpLog::info("【{$this->logProjectPrefix}-支付宝支付】,function:getPayRequestPars,参数", $params);
49 // $baseUrl = $this->getBaseNoticeUrl($params->isTest); 49 // $baseUrl = $this->getBaseNoticeUrl($params->isTest);
50 -// $loseTime = intval(($params->orderTime + 7200 -time())/60);  
51 -// $loseTime = intval((strtotime(date("Y-m-d 10:00:00", strtotime("+1 day")))-time())/60); //第二天十点  
52 $parameter = array( 50 $parameter = array(
53 'service' => $this->config->service, 51 'service' => $this->config->service,
54 'partner' => $this->config->partner, 52 'partner' => $this->config->partner,
@@ -58,13 +56,14 @@ class Service extends PayAbstract @@ -58,13 +56,14 @@ class Service extends PayAbstract
58 /* 业务参数 */ 56 /* 业务参数 */
59 'subject' => $params->goodsName, 57 'subject' => $params->goodsName,
60 'out_trade_no' => $params->orderCode, 58 'out_trade_no' => $params->orderCode,
61 -// 'it_b_pay' => $loseTime . 'm', 59 + 'it_b_pay' => $params->payExpireMinute . 'm',
62 'total_fee' => $params->totalFee / 100, //单位为元 60 'total_fee' => $params->totalFee / 100, //单位为元
63 'payment_type' => $this->config->payment_type, 61 'payment_type' => $this->config->payment_type,
64 'seller_email' => $this->config->sellerMail, 62 'seller_email' => $this->config->sellerMail,
65 'sign_id_ext' => $params->uid, 63 'sign_id_ext' => $params->uid,
66 'sign_name_ext' => $params->userName 64 'sign_name_ext' => $params->userName
67 ); 65 );
  66 +
68 if ($this->config->anti_fishing['timestamp_enable']) { 67 if ($this->config->anti_fishing['timestamp_enable']) {
69 $anti_phishing_key = $this->getTimestamp(); 68 $anti_phishing_key = $this->getTimestamp();
70 if (!empty($anti_phishing_key)) { 69 if (!empty($anti_phishing_key)) {
@@ -11,17 +11,25 @@ namespace WebPlugin\Pay; @@ -11,17 +11,25 @@ namespace WebPlugin\Pay;
11 class Reqparams 11 class Reqparams
12 { 12 {
13 13
14 - public function __construct($_orderCode, $_totalFee, $_goodName, $client_ip, $_orderTime, $_paymentParameter="", $_isTest=false, $uid=0, $userName='') 14 + public function __construct($_orderCode, $_totalFee, $_goodName, $client_ip, $_orderTime, $_paymentParameter="", $_isTest=false, $uid=0, $userName='', $_payExpire = '')
15 { 15 {
16 - $this->orderCode = $_orderCode;  
17 - $this->totalFee = $_totalFee;  
18 - $this->goodsName = $_goodName;  
19 - $this->spbill_create_ip = $client_ip;  
20 - $this->orderTime = $_orderTime;  
21 - $this->paymentParameter = $_paymentParameter;  
22 - $this->isTest = $_isTest;  
23 - $this->uid = $uid;  
24 - $this->userName = $userName; 16 + //到期时间,默认为当前时间加2个小时的时间戳
  17 + $_payExpire = empty($_payExpire) ? strtotime('+2 hours') : strtotime($_payExpire);
  18 + $payExpireMinute = 0;//剩余分钟数
  19 + if ($_payExpire && ($expireTime = $_payExpire - time()) > 0) {
  20 + $payExpireMinute = floor($expireTime / 60);
  21 + }
  22 +
  23 + $this->orderCode = $_orderCode;
  24 + $this->totalFee = $_totalFee;
  25 + $this->goodsName = $_goodName;
  26 + $this->spbill_create_ip = $client_ip;
  27 + $this->orderTime = $_orderTime;
  28 + $this->payExpireMinute = $payExpireMinute;
  29 + $this->paymentParameter = $_paymentParameter;
  30 + $this->isTest = $_isTest;
  31 + $this->uid = $uid;
  32 + $this->userName = $userName;
25 } 33 }
26 34
27 /** 35 /**
@@ -337,7 +337,7 @@ @@ -337,7 +337,7 @@
337 <ul> 337 <ul>
338 <li> 338 <li>
339 <input checked name="juangroup" type="radio" value=""> 339 <input checked name="juangroup" type="radio" value="">
340 - <label>直接输入优惠码: </label> 340 + <label>直接输入优惠码: </label>
341 <input type="text" class="textbox" id="juancode" /> 341 <input type="text" class="textbox" id="juancode" />
342 </li> 342 </li>
343 </ul> 343 </ul>
@@ -269,7 +269,7 @@ @@ -269,7 +269,7 @@
269 <ul> 269 <ul>
270 <li> 270 <li>
271 <input name="juangroup" type="radio" value=""> 271 <input name="juangroup" type="radio" value="">
272 - <label>直接输入优惠码: </label> 272 + <label>直接输入优惠码: </label>
273 <input type="text" class="textbox" id="juancode" /> 273 <input type="text" class="textbox" id="juancode" />
274 </li> 274 </li>
275 {{#each juanlist}} 275 {{#each juanlist}}
@@ -269,7 +269,7 @@ @@ -269,7 +269,7 @@
269 <ul> 269 <ul>
270 <li> 270 <li>
271 <input name="juangroup" type="radio" value=""> 271 <input name="juangroup" type="radio" value="">
272 - <label>直接输入优惠码: </label> 272 + <label>直接输入优惠码: </label>
273 <input type="text" class="textbox" id="juancode" /> 273 <input type="text" class="textbox" id="juancode" />
274 </li> 274 </li>
275 {{#each juanlist}} 275 {{#each juanlist}}
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
@@ -772,7 +772,6 @@ $('.to-play input.submit').click(function() { @@ -772,7 +772,6 @@ $('.to-play input.submit').click(function() {
772 redEnvelopes = $('.use-envelopes input:checked').attr('data-use'), 772 redEnvelopes = $('.use-envelopes input:checked').attr('data-use'),
773 $juangroupInput = $('.play-juan.is-select input[name="juangroup"]:checked'), 773 $juangroupInput = $('.play-juan.is-select input[name="juangroup"]:checked'),
774 codeVal = $juangroupInput.val(), 774 codeVal = $juangroupInput.val(),
775 - promotionVal = $juangroupInput.closest('li').find('#juancode').val();  
776 juanCode = !!codeVal ? codeVal : $juangroupInput.closest('li').find('#juancode').val(); 775 juanCode = !!codeVal ? codeVal : $juangroupInput.closest('li').find('#juancode').val();
777 776
778 $loading.show(); 777 $loading.show();
@@ -798,7 +797,6 @@ $('.to-play input.submit').click(function() { @@ -798,7 +797,6 @@ $('.to-play input.submit').click(function() {
798 paymentType: paymentType, 797 paymentType: paymentType,
799 remark: remark, 798 remark: remark,
800 couponCode: juanCode, 799 couponCode: juanCode,
801 - promotionCode: promotionVal,  
802 yohoCoin: yohoCoin, 800 yohoCoin: yohoCoin,
803 isPreContact: ytoTrue(isPreContact), 801 isPreContact: ytoTrue(isPreContact),
804 isPrintPrice: ytoTrue(isPrintPrice), 802 isPrintPrice: ytoTrue(isPrintPrice),
@@ -370,19 +370,16 @@ var Order = { @@ -370,19 +370,16 @@ var Order = {
370 var expressVal = $('.express-list input[name="carriagegroup"]:checked').val(); 370 var expressVal = $('.express-list input[name="carriagegroup"]:checked').val();
371 var biVal = $('#biprice.is-select').val(); 371 var biVal = $('#biprice.is-select').val();
372 var codeVal = $juangroupInput.val(); 372 var codeVal = $juangroupInput.val();
373 - var promotionVal = $juangroupInput.closest('li').find('#juancode').val();  
374 var cartType = $('.address-manage').attr('cart-type'); 373 var cartType = $('.address-manage').attr('cart-type');
375 var redEnvelopes = $('.use-envelopes input:checked').attr('data-use'); 374 var redEnvelopes = $('.use-envelopes input:checked').attr('data-use');
376 var resultData; 375 var resultData;
377 376
378 codeVal = codeVal ? codeVal : $juangroupInput.closest('li').find('#juancode').val(); 377 codeVal = codeVal ? codeVal : $juangroupInput.closest('li').find('#juancode').val();
379 -  
380 378
381 resultData = { 379 resultData = {
382 cartType: cartType, 380 cartType: cartType,
383 deliveryWay: expressVal, 381 deliveryWay: expressVal,
384 couponCode: codeVal, 382 couponCode: codeVal,
385 - promotionCode: promotionVal,  
386 yohoCoin: biVal 383 yohoCoin: biVal
387 384
388 //redEnvelopes: e.$useEnvelopesInput.length > 0 ? ~~e.$hasEnvelopes.text().substring(1) : '0' 385 //redEnvelopes: e.$useEnvelopesInput.length > 0 ? ~~e.$hasEnvelopes.text().substring(1) : '0'
1 { 1 {
2 "name": "web-yohobuy", 2 "name": "web-yohobuy",
3 - "version": "0.0.27", 3 + "version": "0.0.28",
4 "description": "web yohobuy static", 4 "description": "web yohobuy static",
5 "keywords": [], 5 "keywords": [],
6 "homepage": "", 6 "homepage": "",
@@ -283,7 +283,10 @@ class PayModel @@ -283,7 +283,10 @@ class PayModel
283 $paymentParameter = $alipayToken; 283 $paymentParameter = $alipayToken;
284 } 284 }
285 285
286 - $reqParams = new Reqparams($orderCode, $totalFee, '有货订单号:' . $orderCode, '', $orderDetail['data']['create_time'], $paymentParameter, $isTest, $uid, $userName); 286 + $reqParams = new Reqparams(
  287 + $orderCode, $totalFee, '有货订单号:' . $orderCode, '', $orderDetail['data']['create_time'],
  288 + $paymentParameter, $isTest, $uid, $userName, $orderDetail['data']['pay_expire']
  289 + );
287 $reqPars = $payService->getPayRequestPars($reqParams); 290 $reqPars = $payService->getPayRequestPars($reqParams);
288 if (empty($reqPars)) { 291 if (empty($reqPars)) {
289 $result['error'] = true; 292 $result['error'] = true;
@@ -325,14 +325,28 @@ class PaymentModel @@ -325,14 +325,28 @@ class PaymentModel
325 $input->SetBody('有货订单号:' . $orderCode); 325 $input->SetBody('有货订单号:' . $orderCode);
326 $input->SetOut_trade_no('YOHOBuy_' . $orderCode); // 商户订单号 326 $input->SetOut_trade_no('YOHOBuy_' . $orderCode); // 商户订单号
327 $input->SetTotal_fee($totalFee); 327 $input->SetTotal_fee($totalFee);
328 - $input->SetTime_start(date("YmdHis"));  
329 - $input->SetTime_expire(date("YmdHis", time() + 600)); 328 + //到期时间
  329 + if (!empty($orderDetail['data']['pay_expire']) && ($payExpireTime = strtotime($orderDetail['data']['pay_expire']))) {
  330 + $payExpireTime = $payExpireTime;
  331 + } else {
  332 + $payExpireTime = time();
  333 + }
  334 +
  335 + $input->SetTime_start(date("YmdHis", strtotime('-2 hours', $payExpireTime)));
  336 + //最短失效时间间隔必须大于5分钟 [https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_1]
  337 + $input->SetTime_expire(date("YmdHis", $payExpireTime + 300));
330 $input->SetTrade_type("NATIVE"); 338 $input->SetTrade_type("NATIVE");
331 $input->SetProduct_id($orderCode); 339 $input->SetProduct_id($orderCode);
332 $notify = new WxPayNativePay(); 340 $notify = new WxPayNativePay();
333 $payResult = $notify->GetPayUrl($input); 341 $payResult = $notify->GetPayUrl($input);
  342 + //错误信息,EQ:超时
  343 + if (!empty($payResult['return_code']) && $payResult['return_code'] === 'FAIL') {
  344 + self::$code['message'] = $payResult['return_msg'];
  345 + break;
  346 + }
334 347
335 - if ($payResult['result_code'] === 'FAIL') { 348 + //错误信息,EQ:多次涮新
  349 + if (!empty($payResult['result_code']) && $payResult['result_code'] === 'FAIL') {
336 self::$code['message'] = $payResult['err_code_des']; 350 self::$code['message'] = $payResult['err_code_des'];
337 break; 351 break;
338 } 352 }
@@ -522,7 +536,10 @@ class PaymentModel @@ -522,7 +536,10 @@ class PaymentModel
522 $paymentParameter = $alipayToken; 536 $paymentParameter = $alipayToken;
523 } 537 }
524 538
525 - $reqParams = new Reqparams($orderCode, $totalFee, '有货订单号:' . $orderCode, '', $orderDetail['data']['create_time'], $paymentParameter, $isTest, $uid, $userName); 539 + $reqParams = new Reqparams(
  540 + $orderCode, $totalFee, '有货订单号:' . $orderCode, '', $orderDetail['data']['create_time'],
  541 + $paymentParameter, $isTest, $uid, $userName, $orderDetail['data']['pay_expire']
  542 + );
526 $reqPars = $payService->getPayRequestPars($reqParams); 543 $reqPars = $payService->getPayRequestPars($reqParams);
527 UdpLog::info( 544 UdpLog::info(
528 "【支付-参数】,function:getPayData,orderCode:{$orderCode},接口返回", 545 "【支付-参数】,function:getPayData,orderCode:{$orderCode},接口返回",
@@ -465,31 +465,6 @@ class IndexController extends WebAction @@ -465,31 +465,6 @@ class IndexController extends WebAction
465 } 465 }
466 while (false); 466 while (false);
467 467
468 -// $result = CartModel::orderSub($uid, $addressId, $cartType, $deliveryTime, $deliveryWay, $invoiceTitle, $invoiceId, $paymentId, $paymentType, $remark, $couponCode, $yohoCoin);  
469 -//  
470 - // 记录下单异常的数据  
471 - if (empty($result)) {  
472 - $message = 'uid:' . $uid . ',addressId:' . $addressId . ',cartType:' . $cartType . ',deliveryTime:' . $deliveryTime  
473 - . ',deliveryWay:' . $deliveryWay . 'invoiceTitle:' . $invoiceTitle . ',invoiceId:' . $invoiceId . ',yohoCoin:' . $yohoCoin  
474 - . ',paymentId:' . $paymentId . ',paymentType:' . $paymentType . ',remark:' . $remark . ',couponCode:' . $couponCode . "\n";  
475 - UdpLog::info('【下单】下单异常数据','message:'.$message,'返回:'.json_encode($result));  
476 - }  
477 -// // 返回数据  
478 -// else {  
479 -// // 提交成功清除Cookie  
480 -// $this->setCookie('order-info', null);  
481 -//  
482 -// $this->echoJson($result);  
483 -// }  
484 -//  
485 -// if ($uid && !empty($result['data'])) {  
486 -// try {  
487 -// UnionTrans::set($uid, $result['data']['order_code'], $result['data']['order_amount']);  
488 -// } catch (Exception $e) {  
489 -// // do nothing  
490 -// }  
491 -// }  
492 -  
493 $this->echoJson($result); 468 $this->echoJson($result);
494 } 469 }
495 470
@@ -50,7 +50,7 @@ application.template.ext = ".phtml" @@ -50,7 +50,7 @@ application.template.ext = ".phtml"
50 application.assets.path = ROOT_PATH "/assets/web" 50 application.assets.path = ROOT_PATH "/assets/web"
51 51
52 ; 应用的版本号 52 ; 应用的版本号
53 -application.version = "0.0.27" 53 +application.version = "0.0.28"
54 54
55 ; 网站SEO信息 55 ; 网站SEO信息
56 application.seo.title = "YOHO!有货 | 年轻人潮流购物中心,中国潮流购物风向标,官方授权正品保证" 56 application.seo.title = "YOHO!有货 | 年轻人潮流购物中心,中国潮流购物风向标,官方授权正品保证"
@@ -50,7 +50,7 @@ application.template.ext = ".phtml" @@ -50,7 +50,7 @@ application.template.ext = ".phtml"
50 application.assets.path = ROOT_PATH "/assets/web" 50 application.assets.path = ROOT_PATH "/assets/web"
51 51
52 ; 应用的版本号 52 ; 应用的版本号
53 -application.version = "0.0.27" 53 +application.version = "0.0.28"
54 54
55 ; 网站SEO信息 55 ; 网站SEO信息
56 application.seo.title = "YOHO!有货 | 年轻人潮流购物中心,中国潮流购物风向标,官方授权正品保证" 56 application.seo.title = "YOHO!有货 | 年轻人潮流购物中心,中国潮流购物风向标,官方授权正品保证"
@@ -50,7 +50,7 @@ application.template.ext = ".phtml" @@ -50,7 +50,7 @@ application.template.ext = ".phtml"
50 application.assets.path = ROOT_PATH "/assets/web" 50 application.assets.path = ROOT_PATH "/assets/web"
51 51
52 ; 应用的版本号 52 ; 应用的版本号
53 -application.version = "0.0.27" 53 +application.version = "0.0.28"
54 54
55 ; 网站SEO信息 55 ; 网站SEO信息
56 application.seo.title = "YOHO!有货 | 年轻人潮流购物中心,中国潮流购物风向标,官方授权正品保证" 56 application.seo.title = "YOHO!有货 | 年轻人潮流购物中心,中国潮流购物风向标,官方授权正品保证"
@@ -50,7 +50,7 @@ application.template.ext = ".phtml" @@ -50,7 +50,7 @@ application.template.ext = ".phtml"
50 application.assets.path = ROOT_PATH "/assets/web" 50 application.assets.path = ROOT_PATH "/assets/web"
51 51
52 ; 应用的版本号 52 ; 应用的版本号
53 -application.version = "0.0.27" 53 +application.version = "0.0.28"
54 54
55 ; 网站SEO信息 55 ; 网站SEO信息
56 application.seo.title = "YOHO!有货 | 年轻人潮流购物中心,中国潮流购物风向标,官方授权正品保证" 56 application.seo.title = "YOHO!有货 | 年轻人潮流购物中心,中国潮流购物风向标,官方授权正品保证"