package shanghu
import (
"duoduo/apis/shanghu/models"
"duoduo/models/shanghu"
"duoduo/tools/app"
"github.com/gin-gonic/gin"
"time"
)
func CreateMerchantCardProject(c *gin.Context) {
var inData models.CreateMerchantCardProjectRequest
var sqlData shanghu.MerchantCardProject
err := c.ShouldBindJSON(&inData)
if err != nil {
app.Error(c, 400, err, err.Error())
return
}
sqlData.CreatedAt = time.Now()
sqlData.UpdatedAt = time.Now()
sqlData.ProjectName = inData.ProjectName
sqlData.ProjectUnit = inData.ProjectUnit
sqlData.ProjectUnitPrice = inData.ProjectUnitPrice
sqlData.ProjectUrl = inData.ProjectUrl
sqlData.MerchantOpenID = inData.MerchantOpenID
sqlData.CancelNumber = inData.CancelNumber
sqlData.UpdatedAt = time.Now()
sqlData.CreatedAt = time.Now()
_, err = sqlData.Create()
if err != nil {
app.Error(c, 500, err, err.Error())
return
}
app.OK(c, nil, app.Success)
}
func GetMerchantCardProject(c *gin.Context) {
var inData models.GetMerchantCardProjectRequest
var sqlData shanghu.MerchantCardProject
err := c.ShouldBindJSON(&inData)
if err != nil {
app.Error(c, 400, err, err.Error())
return
}
sqlData.ID = inData.MerchantCardProjectId
merchantCardProject, err := sqlData.GetMerchantCardProject()
if err != nil {
app.Error(c, 500, err, err.Error())
return
}
app.OK(c, merchantCardProject, app.Success)
}
func MerchantCardProjectList(c *gin.Context) {
var inData models.MerchantCardProjectListRequest
var sqlData shanghu.MerchantCardProject
var outData []models.MerchantCardProjectListReply
err := c.ShouldBindJSON(&inData)
if err != nil {
app.Error(c, 400, err, err.Error())
return
}
var pageSize = 10
var pageIndex = 1
if inData.PageSize != 0 {
pageSize = inData.PageSize
}
if inData.PageIndex != 0 {
pageIndex = inData.PageIndex
}
sqlData.MerchantOpenID = inData.OpenId
merchantCard, count, err := sqlData.GetOpenIdList(pageSize, pageIndex)
if err != nil {
app.Error(c, 500, err, err.Error())
return
}
for _, v := range merchantCard {
var reply models.MerchantCardProjectListReply
reply.MerchantOpenID = v.MerchantOpenID
reply.ProjectUnitPrice = v.ProjectUnitPrice
reply.ProjectUnit = v.ProjectUnit
reply.ProjectName = v.ProjectName
reply.Filled = false
reply.ID = v.ID
outData = append(outData, reply)
}
app.PageOK(c, outData, count, pageIndex, pageSize, app.Success)
}
func UpdateMerchantCardProject(c *gin.Context) {
var inData models.UpdateMerchantCardProjectRequest
var sqlData shanghu.MerchantCardProject
err := c.ShouldBindJSON(&inData)
if err != nil {
app.Error(c, 400, err, err.Error())
return
}
sqlData.ID = inData.ID
sqlData.ProjectUrl = inData.ProjectUrl
sqlData.ProjectUnitPrice = inData.ProjectUnitPrice
sqlData.ProjectUnit = inData.ProjectUnit
sqlData.ProjectName = inData.ProjectName
sqlData.UpdatedAt = time.Now()
err = sqlData.UpdateMerchantCardProject()
if err != nil {
app.Error(c, 400, err, err.Error())
return
}
app.OK(c, nil, app.Success)
}