1.修改门店名称后同步修改库存商品的门店信息;

2.修改扫码付查询订单的商户信息,改为迪为商户;
This commit is contained in:
chenlin 2024-07-08 10:47:28 +08:00
parent bc5a7065b3
commit b750b19199
3 changed files with 60 additions and 37 deletions

View File

@ -699,7 +699,7 @@ type HmPayUnifiedOrderRsp struct {
} }
func ParsePrivateKeyDeovo() (*rsa.PrivateKey, error) { func ParsePrivateKeyDeovo() (*rsa.PrivateKey, error) {
//fp := "/Users/max/Documents/code/deovo/mh_goadmin_server/config/hm_pay/private_key.pem" //fp := "/Users/max/Documents/code/deovo/mh_goadmin_server/config/hm_pay/deovo_private_key.pem"
fp := "./config/hm_pay/deovo_private_key.pem" fp := "./config/hm_pay/deovo_private_key.pem"
privateKey, err := os.ReadFile(fp) privateKey, err := os.ReadFile(fp)
if err != nil { if err != nil {
@ -1063,7 +1063,7 @@ func HmJsPayBToCOrder(storeId uint32, orderId string, totalFee float64, authCode
if config.ApplicationConfig.Mode == "dev" { if config.ApplicationConfig.Mode == "dev" {
biz.CreateIp = clientIpDev biz.CreateIp = clientIpDev
publicPara.AppId = HmPayMerchantId biz.TerminalId = "test999" // 测试终端
} }
unifiedOrderReq.HmPayPublicPara = publicPara unifiedOrderReq.HmPayPublicPara = publicPara
@ -1080,21 +1080,12 @@ func HmJsPayBToCOrder(storeId uint32, orderId string, totalFee float64, authCode
return nil, err return nil, err
} }
if config.ApplicationConfig.Mode == "dev" { sign, err := GenHmPaySignDeovo(m)
sign, err := GenHmPaySign(m) if err != nil {
if err != nil { logger.Error("HmJsPayUnifiedOrder GenHmPaySign err:", logger.Field("err", err))
logger.Error("HmJsPayUnifiedOrder GenHmPaySign err:", logger.Field("err", err)) return nil, err
return nil, err
}
unifiedOrderReq.Sign = sign
} else {
sign, err := GenHmPaySignDeovo(m)
if err != nil {
logger.Error("HmJsPayUnifiedOrder GenHmPaySign err:", logger.Field("err", err))
return nil, err
}
unifiedOrderReq.Sign = sign
} }
unifiedOrderReq.Sign = sign
unifiedOrderResp, err := HmPayUnifiedOrder(unifiedOrderReq) unifiedOrderResp, err := HmPayUnifiedOrder(unifiedOrderReq)
if err != nil { if err != nil {
@ -1108,18 +1099,10 @@ func HmJsPayBToCOrder(storeId uint32, orderId string, totalFee float64, authCode
return nil, err return nil, err
} }
if config.ApplicationConfig.Mode == "dev" { err = HmVerifySha1RsaDeovo(signContent, unifiedOrderResp.Sign)
err = HmVerifySha1Rsa(signContent, unifiedOrderResp.Sign) if err != nil {
if err != nil { logger.Errorf("HmVerifySha1Rsa err:", err)
logger.Errorf("HmVerifySha1Rsa err:", err) return nil, err
return nil, err
}
} else {
err = HmVerifySha1RsaDeovo(signContent, unifiedOrderResp.Sign)
if err != nil {
logger.Errorf("HmVerifySha1Rsa err:", err)
return nil, err
}
} }
//fmt.Println("unifiedOrderResp:", unifiedOrderResp.Data) //fmt.Println("unifiedOrderResp:", unifiedOrderResp.Data)
@ -1141,7 +1124,7 @@ func HmQueryOrder(orderId string) (*HmPayTradeQueryResp, error) {
unifiedOrderReq := HmJsPayUnifiedOrderReq{} unifiedOrderReq := HmJsPayUnifiedOrderReq{}
publicPara := HmPayPublicPara{ publicPara := HmPayPublicPara{
AppId: HmPayMerchantId, AppId: HmPayMerchantIdDeovo,
Method: "trade.query", Method: "trade.query",
SignType: "RSA", SignType: "RSA",
Sign: "", Sign: "",
@ -1166,7 +1149,7 @@ func HmQueryOrder(orderId string) (*HmPayTradeQueryResp, error) {
return nil, err return nil, err
} }
sign, err := GenHmPaySign(m) sign, err := GenHmPaySignDeovo(m)
if err != nil { if err != nil {
logger.Error("HmJsPayUnifiedOrder GenHmPaySign err:", logger.Field("err", err)) logger.Error("HmJsPayUnifiedOrder GenHmPaySign err:", logger.Field("err", err))
return nil, err return nil, err
@ -1184,7 +1167,7 @@ func HmQueryOrder(orderId string) (*HmPayTradeQueryResp, error) {
logger.Errorf("ToSignContent err:", err) logger.Errorf("ToSignContent err:", err)
return nil, err return nil, err
} }
err = HmVerifySha1Rsa(signContent, unifiedOrderResp.Sign) err = HmVerifySha1RsaDeovo(signContent, unifiedOrderResp.Sign)
if err != nil { if err != nil {
logger.Errorf("HmVerifySha1Rsa err:", err) logger.Errorf("HmVerifySha1Rsa err:", err)
return nil, err return nil, err
@ -1210,7 +1193,7 @@ func HmCancelOrder(orderId string) (*HmPayTradeCancelResp, error) {
unifiedOrderReq := HmJsPayUnifiedOrderReq{} unifiedOrderReq := HmJsPayUnifiedOrderReq{}
publicPara := HmPayPublicPara{ publicPara := HmPayPublicPara{
AppId: HmPayMerchantId, AppId: HmPayMerchantIdDeovo,
Method: "trade.cancel", Method: "trade.cancel",
SignType: "RSA", SignType: "RSA",
Sign: "", Sign: "",
@ -1235,7 +1218,7 @@ func HmCancelOrder(orderId string) (*HmPayTradeCancelResp, error) {
return nil, err return nil, err
} }
sign, err := GenHmPaySign(m) sign, err := GenHmPaySignDeovo(m)
if err != nil { if err != nil {
logger.Error("HmJsPayUnifiedOrder GenHmPaySign err:", logger.Field("err", err)) logger.Error("HmJsPayUnifiedOrder GenHmPaySign err:", logger.Field("err", err))
return nil, err return nil, err
@ -1253,7 +1236,7 @@ func HmCancelOrder(orderId string) (*HmPayTradeCancelResp, error) {
logger.Errorf("ToSignContent err:", err) logger.Errorf("ToSignContent err:", err)
return nil, err return nil, err
} }
err = HmVerifySha1Rsa(signContent, unifiedOrderResp.Sign) err = HmVerifySha1RsaDeovo(signContent, unifiedOrderResp.Sign)
if err != nil { if err != nil {
logger.Errorf("HmVerifySha1Rsa err:", err) logger.Errorf("HmVerifySha1Rsa err:", err)
return nil, err return nil, err

View File

@ -31,7 +31,7 @@ func TestHmJsPayBToCOrder(t *testing.T) {
authCode := "6264900646139788518" authCode := "6264900646139788518"
notifyUrl := "https://dev.switch.deovo.com:8004/api/v1/wxpay/notice" notifyUrl := "https://dev.switch.deovo.com:8004/api/v1/wxpay/notice"
order, err := HmJsPayBToCOrder(orderId, totalFee, authCode, notifyUrl) order, err := HmJsPayBToCOrder(13, orderId, totalFee, authCode, notifyUrl)
if err != nil { if err != nil {
fmt.Println("err:", err) fmt.Println("err:", err)
} }
@ -41,7 +41,7 @@ func TestHmJsPayBToCOrder(t *testing.T) {
// 查询 // 查询
func TestHmQueryOrder(t *testing.T) { func TestHmQueryOrder(t *testing.T) {
orderId := "sale2023122225067733" orderId := "sale2024070651813719"
order, err := HmQueryOrder(orderId) order, err := HmQueryOrder(orderId)
if err != nil { if err != nil {

View File

@ -183,11 +183,51 @@ func (m *Store) Add() error {
func (m *Store) Modify() error { func (m *Store) Modify() error {
para := m.getModifyPara() para := m.getModifyPara()
if len(para) > 0 { if len(para) > 0 {
err := orm.Eloquent.Table(m.TableName()).Unscoped().Where("id", m.ID).Updates(para).Error // 查询门店信息
oldStoreInfo, err := GetStore(m.ID)
if err != nil { if err != nil {
logger.Errorf("GetStore err:", logger.Field("err", err))
return err
}
begin := orm.Eloquent.Begin()
err = begin.Table(m.TableName()).Unscoped().Where("id", m.ID).Updates(para).Error
if err != nil {
begin.Rollback()
logger.Errorf("err:", logger.Field("err", err)) logger.Errorf("err:", logger.Field("err", err))
return err return err
} }
if oldStoreInfo.Name != m.Name {
// 更新库存表
err = begin.Table("erp_stock").Where("store_id=?", m.ID).
Updates(map[string]interface{}{
"store_name": m.Name,
}).Error
if err != nil {
begin.Rollback()
logger.Error("Update erp_stock err:", logger.Field("err", err))
return err
}
// 更新库存详情表
err = begin.Table("erp_stock_commodity").Where("store_id=?", m.ID).
Updates(map[string]interface{}{
"store_name": m.Name,
}).Error
if err != nil {
begin.Rollback()
logger.Error("Update erp_stock_commodity err:", logger.Field("err", err))
return err
}
}
err = begin.Commit().Error
if err != nil {
begin.Rollback()
logger.Error("commit err:", logger.Field("err", err))
return err
}
} }
return nil return nil
} }