|
|
@@ -2,10 +2,10 @@ package pay_controller
|
|
|
|
|
|
import (
|
|
|
"fmt"
|
|
|
+ "fohow.com/apps/helper"
|
|
|
"fohow.com/apps/models/cent_model"
|
|
|
"fohow.com/apps/models/sys_config"
|
|
|
"fohow.com/libs/lib_redis"
|
|
|
-
|
|
|
// "net/url"
|
|
|
// "strings"
|
|
|
"time"
|
|
|
@@ -35,7 +35,7 @@ var payOrder sync.Mutex
|
|
|
func (self *PayController) payExchange(oId, payWay, returnUrl, source, remark string, useCoupon bool) {
|
|
|
payOrder.Lock()
|
|
|
defer payOrder.Unlock()
|
|
|
- var payUrl, tel, addr, concat string
|
|
|
+ var payUrl, tel, addr, concat, allowAddr string
|
|
|
var payData map[string]string
|
|
|
var specialPromotion bool
|
|
|
wxUId := self.GetCurrentWxUserId()
|
|
|
@@ -55,7 +55,7 @@ func (self *PayController) payExchange(oId, payWay, returnUrl, source, remark st
|
|
|
concat = address.Contact
|
|
|
tel = address.Tel
|
|
|
addr = fmt.Sprintf("%s%s%s%s", address.Province, address.City, address.District, address.Address)
|
|
|
-
|
|
|
+ allowAddr = fmt.Sprintf("%s%s", address.Province, address.City)
|
|
|
} else {
|
|
|
//物流方式
|
|
|
pick_addr_id, _ := self.GetInt64("pick_addr_id")
|
|
|
@@ -67,6 +67,8 @@ func (self *PayController) payExchange(oId, payWay, returnUrl, source, remark st
|
|
|
concat = pick_address.Contact
|
|
|
tel = pick_address.Tel
|
|
|
addr = pick_dept.PickAddress
|
|
|
+ allow_arr := strings.Split(addr, "市")
|
|
|
+ allowAddr = fmt.Sprintf("%s市", allow_arr[0])
|
|
|
}
|
|
|
if source != order_model.SOURCE_XCX && source != order_model.SOURCE_APP {
|
|
|
self.ReturnError(403, apps.ParamsError, "", nil)
|
|
|
@@ -86,7 +88,7 @@ func (self *PayController) payExchange(oId, payWay, returnUrl, source, remark st
|
|
|
}
|
|
|
SaleNumsMap := make(map[int64]int64)
|
|
|
storeMap := make(map[int64]int64)
|
|
|
- specialPromotion=order.SpecialPro
|
|
|
+ specialPromotion = order.SpecialPro
|
|
|
//支付方式判断
|
|
|
if order.OrderType == order_model.ORDER_TYPE_SHOP && payWay == pay_model.PAYWAY_BALANCE {
|
|
|
self.ReturnError(403, apps.NotRightPayWay, "", nil)
|
|
|
@@ -133,6 +135,13 @@ func (self *PayController) payExchange(oId, payWay, returnUrl, source, remark st
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ //仅发货地区判断
|
|
|
+ if len(product.OnlyDeliveryArea) > 0 {
|
|
|
+ if helper.NewStr(product.OnlyDeliveryArea).Strpos(allowAddr, 0) < 0 {
|
|
|
+ self.ReturnError(403, []string{apps.OnlyDeliveryArea[0], fmt.Sprintf("%s产品不在限售区域内", product.Name)}, "", nil)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
//微信支付金额统计
|
|
|
if product.Pv >= product.Price || specialPromotion {
|
|
|
total_quan += product.Price * item.Count
|