q-koa 9.3.3 → 9.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -15,7 +15,7 @@ exports.h5_pay = async (ctx) => {
15
15
  } = ctx.request.body
16
16
 
17
17
  const appConfig = getConfig(app)
18
- const { alipay_key, partner } = await appConfig.getObject('alipay')
18
+ const { alipay_key, key, partner } = await appConfig.getObject('alipay')
19
19
  const { is_dev } = await appConfig.getObject('base')
20
20
 
21
21
  const alipay = new Alipay({
@@ -25,8 +25,8 @@ exports.h5_pay = async (ctx) => {
25
25
  out_trade_no: out_trade_no
26
26
  ? out_trade_no
27
27
  : prefix
28
- ? `${appName}_${prefix}-${order_id}_${type}`
29
- : `${appName}_${order_id}_${type}`,
28
+ ? `${key}_${prefix}-${order_id}_${type}`
29
+ : `${key}_${order_id}_${type}`,
30
30
  total_fee: is_dev ? 0.01 : price,
31
31
  notify_url: `https://api.kuashou.com/${appName}/alipay/notify`,
32
32
  return_url,
@@ -14,7 +14,9 @@ exports.copyOther = async (ctx) => {
14
14
  const { app, appName } = getAppByCtx(ctx)
15
15
 
16
16
  const { type, source } = ctx.request.body
17
- const url = `http://localhost:3001/${source}/setting/findAll`
17
+ const url = source.startsWith('http')
18
+ ? source
19
+ : `http://localhost:3001/${source}/setting/findAll`
18
20
  const result = await axios.post(url).then((res) => res.data)
19
21
  if (result.code !== 200) {
20
22
  throw new Error(result.message + url)
@@ -24,11 +26,21 @@ exports.copyOther = async (ctx) => {
24
26
 
25
27
  if (!copyType) throw new Error('克隆方找不到')
26
28
 
27
- const copyList = data.filter((item) => item.parent_id === copyType.id)
28
-
29
29
  const list = await app.model.setting.findAll()
30
30
 
31
31
  const findType = list.find((item) => item.code === type)
32
+ if (findType && findType.parent_id) {
33
+ if (!findType) {
34
+ throw new Error(`当前找不到${type}`)
35
+ }
36
+ await app.model.setting.upsert({
37
+ id: findType.id,
38
+ value: copyType.value,
39
+ })
40
+ return ctx.SUCCESS('ok')
41
+ }
42
+ const copyList = data.filter((item) => item.parent_id === copyType.id)
43
+
32
44
  if (!findType) {
33
45
  const { id, ...rest } = copyType
34
46
  const newParent = await app.model.setting.create({
@@ -765,7 +765,7 @@ exports.h5_pay = async (ctx) => {
765
765
  }/${appName}/weixin/notify`
766
766
  const result = await payObj.run({
767
767
  body: name,
768
- out_trade_no: `${appName}_${order_id}_${type}`,
768
+ out_trade_no: `${key}_${order_id}_${type}`,
769
769
  total_fee: is_admin || is_dev ? 1 : Math.round(price * 100),
770
770
  notify_url,
771
771
  scene_info: `{"h5_info": {"type":"Wap","wap_url": ${
@@ -814,6 +814,7 @@ exports.mp_pay = async (ctx) => {
814
814
  const appConfig = getConfig(app)
815
815
 
816
816
  const { mchId, key, partner_key } = await appConfig.getObject(pay_config)
817
+
817
818
  const { is_dev, site_host } = await appConfig.getObject('base')
818
819
  // 公众号支付用 服务号 appid,其他用小程序 appid
819
820
  const app_id =
@@ -843,8 +844,8 @@ exports.mp_pay = async (ctx) => {
843
844
  const out_trade_no = _out_trade_no
844
845
  ? _out_trade_no
845
846
  : prefix
846
- ? `${appName}_${prefix}-${order_id}_${type}`
847
- : `${appName}_${order_id}_${type}`
847
+ ? `${key}_${prefix}-${order_id}_${type}`
848
+ : `${key}_${order_id}_${type}`
848
849
 
849
850
  const notify_url = `https://${
850
851
  site_host || 'api.kuashou.com'
@@ -944,7 +945,7 @@ exports.mp_pay_new = async (ctx) => {
944
945
  const appConfig = getConfig(app)
945
946
 
946
947
  const { app_id, app_secrect } = await appConfig.getObject(config)
947
- const { mchId } = await appConfig.getObject(pay_config)
948
+ const { mchId, key } = await appConfig.getObject(pay_config)
948
949
  const { is_dev, site_host } = await appConfig.getObject('base')
949
950
 
950
951
  const weixinMp = new WeixinMp({
@@ -958,8 +959,8 @@ exports.mp_pay_new = async (ctx) => {
958
959
  const out_trade_no = _out_trade_no
959
960
  ? _out_trade_no
960
961
  : prefix
961
- ? `${appName}_${prefix}-${order_id}`
962
- : `${appName}_${order_id}`
962
+ ? `${key}_${prefix}-${order_id}`
963
+ : `${key}_${order_id}`
963
964
 
964
965
  const prePayResult = await weixinMp.createOrder({
965
966
  openid: userDetail.openid,
@@ -1227,6 +1228,7 @@ exports.checkPay = async (ctx) => {
1227
1228
  prefix,
1228
1229
  config = 'weixin_mp',
1229
1230
  pay_config = 'weixin_pay',
1231
+ out_trade_no: _out_trade_no,
1230
1232
  } = ctx.request.body
1231
1233
 
1232
1234
  const orderModel = prefix ? `${prefix}_order` : 'order'
@@ -1256,7 +1258,9 @@ exports.checkPay = async (ctx) => {
1256
1258
  })
1257
1259
  }
1258
1260
  const orderPrefix = prefix ? `${prefix}-` : ''
1259
- const out_trade_no = `${appName}_${orderPrefix}${id}_MP-WEIXIN`
1261
+ const out_trade_no = _out_trade_no
1262
+ ? _out_trade_no
1263
+ : `${key}_${orderPrefix}${id}_MP-WEIXIN`
1260
1264
  const payResult = await checkOrder({
1261
1265
  out_trade_no,
1262
1266
  })
@@ -1282,6 +1286,7 @@ exports.checkPayNew = async (ctx) => {
1282
1286
  prefix,
1283
1287
  config = 'weixin_mp',
1284
1288
  pay_config = 'weixin_pay',
1289
+ out_trade_no: _out_trade_no,
1285
1290
  } = ctx.request.body
1286
1291
 
1287
1292
  const orderModel = prefix ? `${prefix}_order` : 'order'
@@ -1294,7 +1299,7 @@ exports.checkPayNew = async (ctx) => {
1294
1299
 
1295
1300
  const appConfig = getConfig(app)
1296
1301
  const { app_id, app_secrect } = await appConfig.getObject(config)
1297
- const { mchId } = await appConfig.getObject(pay_config)
1302
+ const { mchId, key } = await appConfig.getObject(pay_config)
1298
1303
 
1299
1304
  const weixinMp = new WeixinMp({
1300
1305
  appid: app_id,
@@ -1303,7 +1308,9 @@ exports.checkPayNew = async (ctx) => {
1303
1308
  weixinMp.init()
1304
1309
 
1305
1310
  const orderPrefix = prefix ? `${prefix}-` : ''
1306
- const out_trade_no = `${appName}_${orderPrefix}${id}`
1311
+ const out_trade_no = _out_trade_no
1312
+ ? _out_trade_no
1313
+ : `${key}_${orderPrefix}${id}`
1307
1314
 
1308
1315
  const payResult = await weixinMp.getOrder({
1309
1316
  trade_no: out_trade_no,
@@ -15,6 +15,7 @@ exports.refund = async ({
15
15
  type = '',
16
16
  config = 'weixin_mp',
17
17
  pay_config = 'weixin_pay',
18
+ out_trade_no: _out_trade_no,
18
19
  ...rest
19
20
  }) => {
20
21
  const { app, appName } = getAppByCtx(ctx)
@@ -36,9 +37,11 @@ exports.refund = async ({
36
37
  ), // 微信商户平台证书
37
38
  })
38
39
  const orderModel = prefix ? `${prefix}_order` : 'order'
39
- const out_trade_no = prefix
40
- ? `${appName}_${prefix}-${id}_MP-WEIXIN`
41
- : `${appName}_${id}_MP-WEIXIN`
40
+ const out_trade_no = _out_trade_no
41
+ ? _out_trade_no
42
+ : prefix
43
+ ? `${key}_${prefix}-${id}_MP-WEIXIN`
44
+ : `${key}_${id}_MP-WEIXIN`
42
45
  const orderDetail = await app.model[orderModel].findOne({
43
46
  where: {
44
47
  id,
@@ -77,13 +80,14 @@ exports.refund_new = async ({
77
80
  type = '',
78
81
  config = 'weixin_mp',
79
82
  pay_config = 'weixin_pay',
83
+ out_trade_no: _out_trade_no,
80
84
  ...rest
81
85
  }) => {
82
86
  const { app, appName } = getAppByCtx(ctx)
83
87
  const appConfig = getConfig(app)
84
88
 
85
89
  const { app_id, app_secrect } = await appConfig.getObject(config)
86
- const { mchId } = await appConfig.getObject(pay_config)
90
+ const { mchId, key } = await appConfig.getObject(pay_config)
87
91
 
88
92
  const weixinMp = new WeixinMp({
89
93
  appid: app_id,
@@ -92,9 +96,11 @@ exports.refund_new = async ({
92
96
  weixinMp.init()
93
97
 
94
98
  const orderModel = prefix ? `${prefix}_order` : 'order'
95
- const out_trade_no = prefix
96
- ? `${appName}_${prefix}-${id}`
97
- : `${appName}_${id}`
99
+ const out_trade_no = _out_trade_no
100
+ ? _out_trade_no
101
+ : prefix
102
+ ? `${key}_${prefix}-${id}`
103
+ : `${key}_${id}`
98
104
 
99
105
  const orderDetail = await app.model[orderModel].findOne({
100
106
  where: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "q-koa",
3
- "version": "9.3.3",
3
+ "version": "9.4.0",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {