123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188 |
- package shanghu
- import (
- "duoduo/apis/shanghu/models"
- "duoduo/models/shanghu"
- "duoduo/tools"
- "duoduo/tools/app"
- "encoding/json"
- "fmt"
- "github.com/gin-gonic/gin"
- "strconv"
- "time"
- )
- func CreateMerchantCard(c *gin.Context) {
- var inData models.CreateMerchantCardRequest
- var sqlData shanghu.MerchantCard
- err := c.ShouldBindJSON(&inData)
- if err != nil {
- app.Error(c, 400, err, err.Error())
- return
- }
- sqlData.CreatedAt = time.Now()
- sqlData.UpdatedAt = time.Now()
- jsStr, err := json.Marshal(inData.CardProjectData)
- if err != nil {
- app.Error(c, 400, err, "包含项目不能为空")
- return
- }
- //"json: cannot unmarshal string into Go struct field CreateMerchantCardRequest.inventory of type int64"
- //"json: cannot unmarshal bool into Go struct field CreateMerchantCardRequest.merchant_card_time of type string"
- //"json: cannot unmarshal string into Go struct field CreateMerchantCardRequest.inventory of type int64"
- sqlData.CardProjectData = string(jsStr)
- sqlData.CardPrice = inData.CardPrice
- sqlData.ActivityEndTime, err = tools.TimeToInt64(inData.ActivityEndTime, "2006-01-02")
- if err != nil {
- app.Error(c, 400, err, err.Error())
- return
- }
- sqlData.ActivityStartTime, err = tools.TimeToInt64(inData.ActivityStartTime, "2006-01-02")
- if err != nil {
- app.Error(c, 400, err, err.Error())
- return
- }
- sqlData.Inventory, err = strconv.ParseInt(inData.Inventory, 10, 64)
- if err != nil {
- app.Error(c, 400, err, err.Error())
- return
- }
- sqlData.MerchantCardTime, err = tools.TimeToInt64(inData.MerchantCardTime, "2006-01-02")
- if err != nil {
- app.Error(c, 400, err, err.Error())
- return
- }
- sqlData.MerchantOpenID = inData.MerchantOpenID
- sqlData.Picture = inData.Picture
- sqlData.QuotaNum, err = strconv.ParseInt(inData.QuotaNum, 10, 64)
- if err != nil {
- app.Error(c, 400, err, err.Error())
- return
- }
- sqlData.RebateRate, err = strconv.ParseInt(inData.RebateRate, 10, 64)
- if err != nil {
- app.Error(c, 400, err, err.Error())
- return
- }
- sqlData.UseRule = inData.UseRule
- sqlData.MerchantCardName = inData.MerchantCardName
- _, err = sqlData.Create()
- if err != nil {
- app.Error(c, 500, err, err.Error())
- return
- }
- app.OK(c, nil, app.Success)
- }
- func GetMerchantCard(c *gin.Context) {
- var inData models.GetMerchantCardRequest
- var outData models.GetMerchantCardReply
- var sqlData shanghu.MerchantCard
- var project []int64
- err := c.ShouldBindJSON(&inData)
- if err != nil {
- app.Error(c, 400, err, err.Error())
- return
- }
- sqlData.ID = inData.MerchantId
- merchantCard, err := sqlData.GetMerchantCard()
- if err != nil {
- app.Error(c, 500, err, err.Error())
- return
- }
- err = json.Unmarshal([]byte(merchantCard.CardProjectData), &project)
- if err != nil {
- app.Error(c, 500, err, err.Error())
- return
- }
- merchantCard.CardProjectData = ""
- for i := 0; i < len(project); i++ {
- var cardProject shanghu.MerchantCardProject
- cardProject.ID = project[i]
- projectInfo, err := cardProject.GetMerchantCardProject()
- if err != nil {
- app.Error(c, 500, err, err.Error())
- return
- }
- merchantCard.CardProjectData = merchantCard.CardProjectData + projectInfo.ProjectName + "x1 "
- }
- outData.CardProjectData = merchantCard.CardProjectData
- outData.MerchantCardName = merchantCard.MerchantCardName
- outData.MerchantCardTime = time.Unix(merchantCard.MerchantCardTime, 0).Format("2006-01-02")
- outData.ActivityEndTime = time.Unix(merchantCard.ActivityEndTime, 0).Format("2006-01-02")
- outData.ActivityStartTime = time.Unix(merchantCard.ActivityStartTime, 0).Format("2006-01-02")
- outData.Picture = merchantCard.Picture
- outData.UseRule = merchantCard.UseRule
- outData.QuotaNum = merchantCard.QuotaNum
- outData.Inventory = merchantCard.Inventory
- outData.RebateRate = merchantCard.RebateRate
- outData.CardPrice = merchantCard.CardPrice
- app.OK(c, outData, app.Success)
- }
- func MerchantCardList(c *gin.Context) {
- var inData models.MerchantCardListRequest
- var sqlData shanghu.MerchantCard
- 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
- }
- fmt.Println(inData.OpenId)
- sqlData.MerchantOpenID = inData.OpenId
- merchantCard, count, err := sqlData.GetOpenIdList(pageSize, pageIndex, inData.TypeList)
- if err != nil {
- app.Error(c, 500, err, err.Error())
- return
- }
- app.PageOK(c, merchantCard, count, pageIndex, pageSize, app.Success)
- }
- func UpdateMerchantCard(c *gin.Context) {
- var inData models.UpdateMerchantCardRequest
- var sqlData shanghu.MerchantCard
- err := c.ShouldBindJSON(&inData)
- if err != nil {
- app.Error(c, 400, err, err.Error())
- return
- }
- sqlData.ID = inData.ID
- sqlData.QuotaNum = inData.QuotaNum
- sqlData.UseRule = inData.UseRule
- sqlData.Picture = inData.Picture
- sqlData.Inventory = inData.Inventory
- sqlData.ActivityStartTime = inData.ActivityStartTime
- sqlData.ActivityEndTime = inData.ActivityEndTime
- err = sqlData.UpdateMerchantCard()
- if err != nil {
- app.Error(c, 400, err, err.Error())
- return
- }
- app.OK(c, nil, app.Success)
- }
|