123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195 |
- package shanghu
- import (
- "duoduo/apis/shanghu/models"
- "duoduo/models/shanghu"
- "duoduo/tools/app"
- "github.com/gin-gonic/gin"
- "time"
- )
- const rechargeUrl = "http://lingyang.shisanmiao.com/shanghuka/WechatIMG5489.jpeg"
- func CreateMerchant(c *gin.Context) {
- var inData models.CreateMerchantRequest
- var sqlData shanghu.Merchant
- err := c.ShouldBindJSON(&inData)
- if err != nil {
- app.Error(c, 400, err, err.Error())
- return
- }
- sqlData.OpenId = inData.OpenId
- merchant, err := sqlData.GetMerchant()
- if err != nil && err.Error() != "record not found" {
- app.Error(c, 500, err, err.Error())
- return
- }
- if merchant.ID > 0 {
- app.OK(c, nil, app.Success)
- return
- }
- sqlData.CreatedAt = time.Now()
- sqlData.UpdatedAt = time.Now()
- sqlData.MerchantName = inData.MerchantName
- sqlData.Area = inData.Area
- sqlData.Address = inData.Address
- sqlData.BusinessHours = inData.BusinessHours
- sqlData.BusinessLicenseUrl = inData.BusinessLicenseUrl
- sqlData.Consumption = inData.Consumption
- sqlData.Contacts = inData.Contacts
- sqlData.DoorHeaderUrl = inData.DoorHeaderUrl
- sqlData.Industry = inData.Industry
- sqlData.IndustryCategory = inData.IndustryCategory
- sqlData.Iphone = inData.Iphone
- sqlData.NumberPlate = inData.NumberPlate
- sqlData.OpenId = inData.OpenId
- sqlData.RechargeUrl = inData.RechargeUrl
- _, err = sqlData.Create()
- if err != nil {
- app.Error(c, 500, err, err.Error())
- return
- }
- app.OK(c, nil, app.Success)
- }
- func GetMerchant(c *gin.Context) {
- var inData models.GetMerchantRequest
- var sqlData shanghu.Merchant
- err := c.ShouldBindJSON(&inData)
- if err != nil {
- app.Error(c, 400, err, err.Error())
- return
- }
- sqlData.OpenId = inData.OpenId
- merchant, err := sqlData.GetMerchant()
- if err != nil {
- app.Error(c, 500, err, err.Error())
- return
- }
- app.OK(c, merchant, app.Success)
- }
- func MerchantList(c *gin.Context) {
- var inData models.MerchantListRequest
- var sqlData shanghu.Merchant
- 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.NumberPlate = inData.OpenId
- merchant, count, err := sqlData.GetOpenIdList(pageSize, pageIndex)
- if err != nil {
- app.Error(c, 500, err, err.Error())
- return
- }
- app.PageOK(c, merchant, count, pageIndex, pageSize, app.Success)
- }
- func UpdateMerchant(c *gin.Context) {
- var inData models.UpdateMerchantRequest
- var sqlData shanghu.Merchant
- err := c.ShouldBindJSON(&inData)
- if err != nil {
- app.Error(c, 400, err, err.Error())
- return
- }
- sqlData.ID = inData.ID
- sqlData.MerchantName = inData.MerchantName
- sqlData.Area = inData.Area
- sqlData.Address = inData.Address
- sqlData.BusinessHours = inData.BusinessHours
- sqlData.BusinessLicenseUrl = inData.BusinessLicenseUrl
- sqlData.Consumption = inData.Consumption
- sqlData.Contacts = inData.Contacts
- sqlData.DoorHeaderUrl = inData.DoorHeaderUrl
- sqlData.Industry = inData.Industry
- sqlData.IndustryCategory = inData.IndustryCategory
- sqlData.Iphone = inData.Iphone
- sqlData.NumberPlate = inData.NumberPlate
- sqlData.RechargeUrl = inData.RechargeUrl
- err = sqlData.UpdateMerchant()
- if err != nil {
- app.Error(c, 400, err, err.Error())
- return
- }
- app.OK(c, nil, app.Success)
- }
- func GetRechargeUrl(c *gin.Context) {
- var inData models.GetRechargeRequest
- var outData models.GetRechargeReply
- var sqlData shanghu.Merchant
- var paySql shanghu.ClientPayTrans
- var card shanghu.MerchantCard
- err := c.ShouldBindJSON(&inData)
- if err != nil {
- app.Error(c, 400, err, err.Error())
- return
- }
- //查询c端用户最近的交易记录 未查到直接展示默认url
- paySql.ClientOpenID = inData.OpenId
- payInfo, err := paySql.GetPayTransByOpenId()
- if err != nil {
- outData.RechargeUrl = rechargeUrl
- app.OK(c, outData, app.Success)
- return
- }
- //根据 card-id 查询商家id
- card.ID = payInfo.MerchantCardID
- cardInfo, err := card.GetMerchantCard()
- if err != nil {
- outData.RechargeUrl = rechargeUrl
- app.OK(c, outData, app.Success)
- return
- }
- //根据商家id查询配置
- sqlData.OpenId = cardInfo.MerchantOpenID
- merchant, err := sqlData.GetMerchant()
- if err != nil {
- outData.RechargeUrl = rechargeUrl
- app.OK(c, outData, app.Success)
- return
- }
- if merchant.RechargeUrl == "" {
- outData.RechargeUrl = rechargeUrl
- } else {
- outData.RechargeUrl = merchant.RechargeUrl
- }
- app.OK(c, outData, app.Success)
- }
|