新增接口

This commit is contained in:
yan.y 2024-12-01 16:37:46 +08:00
parent 7973cd9ca8
commit 6da775c9bd
7 changed files with 148 additions and 57 deletions

View File

@ -34,6 +34,7 @@ func (p DefParty) RegisterList() []web_iris.Party {
p.orderCancel(),
p.orderCreatePreCheck(),
p.orderMarkRecord(),
p.orderMarkRecordInfo(),
//宠物
p.petList(),
p.petInfo(),

View File

@ -4,6 +4,7 @@ import (
"github.com/kataras/iris/v12"
"github.com/kataras/iris/v12/context"
"go.uber.org/zap"
"pet-house.com/business/models"
"pet-house.com/business/utils"
"pet-house.com/core/server/database"
"pet-house.com/core/server/web/web_iris"
@ -50,6 +51,7 @@ func ModuleInit() {
//&models.UserCoupons{},
//&models.RechargeInfo{},
//&models.PayOrder{},
&models.ServiceUserMarkRecord{},
//&models.ServiceCarLocation{},
)
zap_server.ZAPLOG.Info("data init ", zap.Any("err", _err))

View File

@ -177,12 +177,12 @@ func (p DefParty) orderCreate() web_iris.Party {
}
}
var payOrder *models.PayOrder
/*var payOrder *models.PayOrder
database.Instance().Model(&models.PayOrder{}).Where("order_id = ? and order_status = 0", orderCreateRequest.PayOrderId).Find(&payOrder)
if payOrder.Id > 0 {
OrderNotPayError.DefFail(ctx, orderCreateRequest, nil)
return
}
}*/
//订单总金额
var orderTotalAmount = 0
@ -511,6 +511,13 @@ func GetOrderDetail(orderId string) OrderDetail {
if orderSub.PayType == 1 && orderSubR1.Coupons == nil {
orderSubR1.PayAmount = strconv.Itoa(orderSubR1.TotalAmount)
}
if len(orderSubR1.PayAmount) == 0 {
orderSubR1.PayAmount = "0"
}
if len(orderSubR1.PayAmount) == 0 {
orderSubR1.PayAmount = "0"
}
subOrderList = append(subOrderList, orderSubR1)
}
if discountTotalAmount > 0 {
@ -610,9 +617,9 @@ func (p DefParty) orderList() web_iris.Party {
}
var orderList []models.OrderMain
if orderListRequest.Status == 0 {
database.Instance().Model(&models.OrderMain{}).Where("uid = ? and status = 1", headerBaseInfo.Uid).Offset((orderListRequest.PageNo - 1) * orderListRequest.PageSize).Limit(orderListRequest.PageSize).Order(clause.OrderByColumn{Column: clause.Column{Name: "create_time"}, Desc: true}).Find(&orderList)
database.Instance().Model(&models.OrderMain{}).Where("uid = ? and status = 1", headerBaseInfo.Uid).Order(clause.OrderByColumn{Column: clause.Column{Name: "create_time"}, Desc: true}).Offset((orderListRequest.PageNo - 1) * orderListRequest.PageSize).Limit(orderListRequest.PageSize).Find(&orderList)
} else {
database.Instance().Model(&models.OrderMain{}).Where("uid = ? and order_status = ? and status = 1", headerBaseInfo.Uid, orderListRequest.Status).Offset((orderListRequest.PageNo - 1) * orderListRequest.PageSize).Limit(orderListRequest.PageSize).Order(clause.OrderByColumn{Column: clause.Column{Name: "create_time"}, Desc: true}).Find(&orderList)
database.Instance().Model(&models.OrderMain{}).Where("uid = ? and order_status = ? and status = 1", headerBaseInfo.Uid, orderListRequest.Status).Order(clause.OrderByColumn{Column: clause.Column{Name: "create_time"}, Desc: true}).Offset((orderListRequest.PageNo - 1) * orderListRequest.PageSize).Limit(orderListRequest.PageSize).Find(&orderList)
}
var orderDetails []OrderDetail
for _, value := range orderList {
@ -1135,7 +1142,8 @@ func (p DefParty) orderMarkRecord() web_iris.Party {
serviceUserMarkRecord4 := models.ServiceUserMarkRecord{
Uid: headerBaseInfo.Uid,
OrderId: orderMarkRecordRequest.OrderId,
ServiceStar: orderMarkRecordRequest.Lab2,
ServiceStar: 0,
MarkContext: orderMarkRecordRequest.Message,
ServiceLabels: "4",
Status: 1,
}
@ -1153,3 +1161,55 @@ func (p DefParty) orderMarkRecord() web_iris.Party {
})
}}
}
type OrderMarkRecordInfoRequest struct {
OrderId string
}
type OrderMarkRecordInfoResponse struct {
Lab1 int `json:"lab1"`
Lab2 int `json:"lab2"`
Lab3 int `json:"lab3"`
Message string `json:"message"`
}
// 查看评价
func (p DefParty) orderMarkRecordInfo() web_iris.Party {
return web_iris.Party{Prefix: p.Prefix, PartyFunc: func(index iris.Party) {
index.Post(OrderBase+"/orderMarkRecordInfo", func(ctx *context.Context) {
body, _ := io.ReadAll(ctx.Request().Body)
var orderMarkRecordRequest OrderMarkRecordInfoRequest
json.Unmarshal(body, &orderMarkRecordRequest)
if len(orderMarkRecordRequest.OrderId) == 0 {
OrderExistError.Fail(ctx, orderMarkRecordRequest)
return
}
var serviceUserMarkRecord []models.ServiceUserMarkRecord
database.Instance().Model(&models.ServiceUserMarkRecord{}).Where("order_id = ?", orderMarkRecordRequest.OrderId).Find(&serviceUserMarkRecord)
var lab1, lab2, lab3 int
var lab4 string
for _, markRecord := range serviceUserMarkRecord {
if markRecord.ServiceLabels == "1" {
lab1 = markRecord.ServiceStar
}
if markRecord.ServiceLabels == "2" {
lab2 = markRecord.ServiceStar
}
if markRecord.ServiceLabels == "3" {
lab3 = markRecord.ServiceStar
}
if markRecord.ServiceLabels == "4" {
lab4 = markRecord.MarkContext
}
}
Success(ctx, orderMarkRecordRequest, OrderMarkRecordInfoResponse{
Lab1: lab1,
Lab2: lab2,
Lab3: lab3,
Message: lab4,
})
})
}}
}

View File

@ -83,7 +83,9 @@ func (p DefParty) toPay() web_iris.Party {
OrderId: orderId,
OrderName: rechargeInfo.Name,
OrderPrice: rechargeInfo.Price,
RechargeId: rechargeInfo.Id,
PayId: "",
Uid: headerBaseInfo.Uid,
}
database.Instance().Model(&models.PayOrder{}).Create(&payOrder)
Success(ctx, toPayRequest, ToPayResponse{Content: resp, PayOrderId: orderId, PayType: 0})
@ -96,29 +98,28 @@ func (p DefParty) payNotify() web_iris.Party {
return web_iris.Party{Prefix: p.Prefix, PartyFunc: func(index iris.Party) {
index.Post(PayBase+"/payNotify", func(ctx *context.Context) {
var cert = `-----BEGIN CERTIFICATE-----
MIIEKzCCAxOgAwIBAgIUfaIQgSDkxBhTe888BhqrEJzPiKkwDQYJKoZIhvcNAQEL
MIIEFDCCAvygAwIBAgIUXfrnoWdj8YwsOsPDsHsB8Exd/nQwDQYJKoZIhvcNAQEL
BQAwXjELMAkGA1UEBhMCQ04xEzARBgNVBAoTClRlbnBheS5jb20xHTAbBgNVBAsT
FFRlbnBheS5jb20gQ0EgQ2VudGVyMRswGQYDVQQDExJUZW5wYXkuY29tIFJvb3Qg
Q0EwHhcNMjQwOTEwMDc0NDUzWhcNMjkwOTA5MDc0NDUzWjCBhDETMBEGA1UEAwwK
MTY4MjYzNzYxMjEbMBkGA1UECgwS5b6u5L+h5ZWG5oi357O757ufMTAwLgYDVQQL
DCflroHms6LlrqDmiqTlrrblrqDnianmnI3liqHmnInpmZDlhazlj7gxCzAJBgNV
BAYTAkNOMREwDwYDVQQHDAhTaGVuWmhlbjCCASIwDQYJKoZIhvcNAQEBBQADggEP
ADCCAQoCggEBALoZ/ZK7BdW1DKCzsqQnS9ElkWhv8Df4JidAupVoaaGa0Iz8cukj
8JgqzzmOA0fSief3z0OvOvmXQujNLXka38Y+8KB/K/BnqRYVGSvLWKwfdalSS+ca
JZUNLVQVv1zDrPVPb3JmoJMADPIq2sOfLqjmWPIxRcpa7sPeall5fMx07aVrpi2O
v1ueRUphIYNT6aV6KnPrRf/lcRwZxE0+l30l45sDNrd7l5tUsnJq/1OLP+kgidkp
ic6W1f3jrHZTwYakgShEUgkRsHeUjIQ0ZRYSsD4Mxn/bqdAxDSDWB6aWGwMrY1ku
bsPkE/AcXTpgpaC+2kQVhaYrWuly0w0T1jMCAwEAAaOBuTCBtjAJBgNVHRMEAjAA
MAsGA1UdDwQEAwID+DCBmwYDVR0fBIGTMIGQMIGNoIGKoIGHhoGEaHR0cDovL2V2
Y2EuaXRydXMuY29tLmNuL3B1YmxpYy9pdHJ1c2NybD9DQT0xQkQ0MjIwRTUwREJD
MDRCMDZBRDM5NzU0OTg0NkMwMUMzRThFQkQyJnNnPUhBQ0M0NzFCNjU0MjJFMTJC
MjdBOUQzM0E4N0FEMUNERjU5MjZFMTQwMzcxMA0GCSqGSIb3DQEBCwUAA4IBAQC7
Zgux40pvNohZx721rygjo0yUbx54docNS79Eh5J9ukSKMf0cTsORlAnrsCbSYnIo
MiqdPqccRYJUefUUuhOrKtuzaka4T+VSiaDTnZ07kB3I8xlvZtW32jHOstVPrJsB
fEg53sl5sfWHY+OfuEhwOkoH3v/Fs4nH4hQxjO8RW9tNXqLvTrl1JeEwV4bMZxCA
wCvoMPqn19WBFsaFb0kXF46oGeH5kId6oon0RCi+vXb8nSZ4oPXIJwxi9u/uy+wD
rVlHohjCK+bRbxGgaIcX5uMPK/M73mzuuLFCbIWN4CLz9yyZGKxNJBq4YuGe+jWa
gh1GheVuvTdcJ4ZGDhQT
Q0EwHhcNMjQwOTEwMDc0NDUyWhcNMjkwOTA5MDc0NDUyWjBuMRgwFgYDVQQDDA9U
ZW5wYXkuY29tIHNpZ24xEzARBgNVBAoMClRlbnBheS5jb20xHTAbBgNVBAsMFFRl
bnBheS5jb20gQ0EgQ2VudGVyMQswCQYDVQQGEwJDTjERMA8GA1UEBwwIU2hlblpo
ZW4wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCnZzIY5opDpRJQU6KX
xtwVtyvq3u20pQgjUSYy4HxbEWbyTujrgEm+d6CrJrey0wLa9RBOwQMOuyYKbx3Y
t+WNxYnrkBDv5bbJtSTv6wA2/sINbFFSIP9GAiIAdGP/ii0BXjxG1pxGhrPDHW1Q
vSzJphyHO9s3gBDBNUW8BT/XxoLhxlOrbYNV+kv4Mr/oh9U+/KsNT1Ba1Pt8s4As
AQOJ7oE7xHzzUOgoFSyU+RvuYhIx6ZV0gTkZDmzu5cwj+FlCaxYFYnKPtxm5m9hj
eM39rTUl5jmsZXRQUyI9Ez1AkwVOjolbrJ3f5kpkpXoJvesfowOL53DfS/th+x3I
12QzAgMBAAGjgbkwgbYwCQYDVR0TBAIwADALBgNVHQ8EBAMCA/gwgZsGA1UdHwSB
kzCBkDCBjaCBiqCBh4aBhGh0dHA6Ly9ldmNhLml0cnVzLmNvbS5jbi9wdWJsaWMv
aXRydXNjcmw/Q0E9MUJENDIyMEU1MERCQzA0QjA2QUQzOTc1NDk4NDZDMDFDM0U4
RUJEMiZzZz1IQUNDNDcxQjY1NDIyRTEyQjI3QTlEMzNBODdBRDFDREY1OTI2RTE0
MDM3MTANBgkqhkiG9w0BAQsFAAOCAQEAgL/Bfpy6kS6qCBZycuGvwdqYWU9exf1a
ZfbG8eop1ADUD5j6LjZcBrLyaVZDNZMRafqDiWI1OBypEtAxC3MScN3B0rxiJ3uQ
LHn/YOel6DKKJdMjANC36NpseC/PXZrdMMdCFLzQuc2FcG2ObOhRKcfTRnR/zdcU
Tw88WZqCW0thBcOXcQ9e7R2fIk+W4YqQ7C1O1/17qDpViPOTGWWnJBnUYpi5lTlX
JIhayMjkemIO27X1j1ZdtA314xZpPrO4uqrVFiLahoZ9y6az0RhNpPadYcT6D24G
2boO3JsJZ1X/MNiW78pfDUra7a+yEoH+JjiPNtaw9ztbtKtDcLIgWQ==
-----END CERTIFICATE-----`
wechatPayCert, err1 := utils2.LoadCertificate(cert)
if err1 != nil {
@ -130,11 +131,39 @@ gh1GheVuvTdcJ4ZGDhQT
handler := notify.NewNotifyHandler(utils.CONFIG.MchAPIv3Key, verifiers.NewSHA256WithRSAVerifier(certificateVisitor))
transaction := new(payments.Transaction)
notifyReq, err := handler.ParseNotifyRequest(ctx, ctx.Request(), transaction)
zap_server.ZAPLOG.Info("payNotify", zap.Any("MchAPIv3Key", utils.CONFIG.MchAPIv3Key), zap.Any("notifyReq", notifyReq), zap.Any("transaction", transaction), zap.Any("err", err))
zap_server.ZAPLOG.Info("payNotify", zap.Any("notifyReq", notifyReq), zap.Any("transaction", transaction), zap.Any("err", err))
var payOrder *models.PayOrder
database.Instance().Model(&models.PayOrder{}).Where("order_id = ?", transaction.OutTradeNo).Find(&payOrder)
payOrder.Status = 1
database.Instance().Model(&models.PayOrder{}).Updates(&payOrder)
payOrderD := map[string]interface{}{
"OrderStatus": 1,
"PayId": *transaction.TransactionId,
}
database.Instance().Model(&payOrder).Updates(&payOrderD)
if payOrder.RechargeId > 1 {
var userInfo *models.User
database.Instance().Model(&models.User{}).Where("id = ?", payOrder.Uid).Find(&userInfo)
var rechargeInfo *models.RechargeInfo
database.Instance().Model(&models.RechargeInfo{}).Where("id = ?", payOrder.RechargeId).Find(&rechargeInfo)
rechargePrice, _ := strconv.ParseInt(rechargeInfo.RechargePrice, 10, 64)
//充值
userAmountRecord := models.UserAmountRecord{
UserId: payOrder.Uid,
Type: 1,
OriginAmount: userInfo.Amount,
ProAmount: int(rechargePrice),
CurrAmount: userInfo.Amount + int(rechargePrice),
OrderId: payOrder.OrderId,
ProScene: "充值",
Status: 1,
}
database.Instance().Model(&models.UserAmountRecord{}).Create(&userAmountRecord)
userInfo.Amount = userInfo.Amount + (int(rechargePrice) * 10)
updateValues := map[string]interface{}{
"Amount": userInfo.Amount,
}
database.Instance().Model(&userInfo).Updates(&updateValues)
}
})
}}
}

View File

@ -221,7 +221,6 @@ func (p DefParty) serviceCarLocationList() web_iris.Party {
var serviceCarLocation []models.ServiceCarLocation
database.Instance().Model(&models.ServiceCarLocation{}).Where("car_id = ? and create_time >= CURDATE()", carOrder.CarId).Find(&serviceCarLocation)
Success(ctx, serviceCarLocationListRequest, ServiceCarLocationListResponse{serviceCarLocation})
})
}}
}

View File

@ -7,6 +7,6 @@
"mchId": "1682637612",
"mchCertificateSerialNumber": "7DA2108120E4C418537BCF3C061AAB109CCF88A9",
"mchAPIv3Key": "chonghujiapanlei1234567891234567",
"privateKeyPath": "D:\\code\\ifish7\\pet-house\\business\\config\\apiclient_key.pem",
"privateKeyPath": "F:\\work\\go\\pet-house\\business\\config\\apiclient_key.pem",
"wechatCert": "`-----BEGIN CERTIFICATE-----\nMIIEKzCCAxOgAwIBAgIUfaIQgSDkxBhTe888BhqrEJzPiKkwDQYJKoZIhvcNAQEL\nBQAwXjELMAkGA1UEBhMCQ04xEzARBgNVBAoTClRlbnBheS5jb20xHTAbBgNVBAsT\nFFRlbnBheS5jb20gQ0EgQ2VudGVyMRswGQYDVQQDExJUZW5wYXkuY29tIFJvb3Qg\nQ0EwHhcNMjQwOTEwMDc0NDUzWhcNMjkwOTA5MDc0NDUzWjCBhDETMBEGA1UEAwwK\nMTY4MjYzNzYxMjEbMBkGA1UECgwS5b6u5L+h5ZWG5oi357O757ufMTAwLgYDVQQL\nDCflroHms6LlrqDmiqTlrrblrqDnianmnI3liqHmnInpmZDlhazlj7gxCzAJBgNV\nBAYTAkNOMREwDwYDVQQHDAhTaGVuWmhlbjCCASIwDQYJKoZIhvcNAQEBBQADggEP\nADCCAQoCggEBALoZ/ZK7BdW1DKCzsqQnS9ElkWhv8Df4JidAupVoaaGa0Iz8cukj\n8JgqzzmOA0fSief3z0OvOvmXQujNLXka38Y+8KB/K/BnqRYVGSvLWKwfdalSS+ca\nJZUNLVQVv1zDrPVPb3JmoJMADPIq2sOfLqjmWPIxRcpa7sPeall5fMx07aVrpi2O\nv1ueRUphIYNT6aV6KnPrRf/lcRwZxE0+l30l45sDNrd7l5tUsnJq/1OLP+kgidkp\nic6W1f3jrHZTwYakgShEUgkRsHeUjIQ0ZRYSsD4Mxn/bqdAxDSDWB6aWGwMrY1ku\nbsPkE/AcXTpgpaC+2kQVhaYrWuly0w0T1jMCAwEAAaOBuTCBtjAJBgNVHRMEAjAA\nMAsGA1UdDwQEAwID+DCBmwYDVR0fBIGTMIGQMIGNoIGKoIGHhoGEaHR0cDovL2V2\nY2EuaXRydXMuY29tLmNuL3B1YmxpYy9pdHJ1c2NybD9DQT0xQkQ0MjIwRTUwREJD\nMDRCMDZBRDM5NzU0OTg0NkMwMUMzRThFQkQyJnNnPUhBQ0M0NzFCNjU0MjJFMTJC\nMjdBOUQzM0E4N0FEMUNERjU5MjZFMTQwMzcxMA0GCSqGSIb3DQEBCwUAA4IBAQC7\nZgux40pvNohZx721rygjo0yUbx54docNS79Eh5J9ukSKMf0cTsORlAnrsCbSYnIo\nMiqdPqccRYJUefUUuhOrKtuzaka4T+VSiaDTnZ07kB3I8xlvZtW32jHOstVPrJsB\nfEg53sl5sfWHY+OfuEhwOkoH3v/Fs4nH4hQxjO8RW9tNXqLvTrl1JeEwV4bMZxCA\nwCvoMPqn19WBFsaFb0kXF46oGeH5kId6oon0RCi+vXb8nSZ4oPXIJwxi9u/uy+wD\nrVlHohjCK+bRbxGgaIcX5uMPK/M73mzuuLFCbIWN4CLz9yyZGKxNJBq4YuGe+jWa\ngh1GheVuvTdcJ4ZGDhQT\n-----END CERTIFICATE-----`"
}

View File

@ -21,7 +21,7 @@ type otheraccounts struct {
func TestMain(m *testing.M) {
CONFIG.DbName = "pikauser"
CONFIG.Path = "172.31.65.221:3306"
CONFIG.Ip = "172.31.65.221"
CONFIG.Password = "qC#5Lp%9AF=6BmR5Ny!6aaabbb"
CONFIG.Username = "pikauser_dev"