|
- package svc
-
- import (
- "applet/app/db"
- "applet/app/db/model"
- "applet/app/e"
- "applet/app/svc"
- "applet/app/utils"
- "applet/app/utils/qrcode"
- "encoding/json"
- "fmt"
- "github.com/gin-gonic/gin"
- "strings"
- )
-
- func QrcodePayStyle(c *gin.Context) {
- eg := svc.MasterDb(c)
- user := svc.GetUser(c)
- m, _ := SysModDataBySkipIdentifier(c, "pub.flutter.community_store_qrcode_style")
- bytes := utils.MarshalJSONCamelCase2JsonSnakeCase(m.Data)
- m.Data = string(bytes)
- fmt.Println(m.Data)
- store := db.GetStoreIdEg(eg, utils.IntToStr(user.Info.Uid))
- if store != nil {
- m.Data = strings.ReplaceAll(m.Data, "{店铺名}", store.Name)
- m.Data = strings.ReplaceAll(m.Data, "{店铺编号}", utils.IntToStr(store.Uid))
- }
- var res = make(map[string]interface{})
- json.Unmarshal([]byte(m.Data), &res)
- e.OutSuc(c, res, nil)
- return
- }
-
- // 获取mod data by SkipIdentifier
- func SysModDataBySkipIdentifier(c *gin.Context, name string) (*model.SysModule, error) {
- mod, err := db.SysModFindBySkipIdentifier(c, db.DBs[c.GetString("mid")], name)
- if err != nil {
- return nil, err
- }
- return mod, nil
- }
- func QrcodeBase(c *gin.Context) {
- user := svc.GetUser(c)
- qrcodeData := db.GetStorePayQrcodeByUid(svc.MasterDb(c), user.Info.Uid)
- eg := svc.MasterDb(c)
- m, _ := SysModDataBySkipIdentifier(c, "pub.flutter.community_store_qrcode_style")
- bytes := utils.MarshalJSONCamelCase2JsonSnakeCase(m.Data)
- m.Data = string(bytes)
- fmt.Println(m.Data)
- store := db.GetStoreIdEg(eg, utils.IntToStr(user.Info.Uid))
- if store != nil {
- m.Data = strings.ReplaceAll(m.Data, "{店铺名}", store.Name)
- m.Data = strings.ReplaceAll(m.Data, "{店铺编号}", utils.IntToStr(store.Uid))
- }
- css := make(map[string]interface{})
- json.Unmarshal([]byte(m.Data), &css)
- res := map[string]interface{}{
- "pay_url": "",
- "pay_qrcode": "",
- "css": css,
- }
- if qrcodeData != nil {
- h5Domain := svc.GetWebSiteDomainInfo(c, "wap")
- content := h5Domain + "/#/zy-cake-single-order/pages/scan-result/scan-pay-result?qrcode_id=" + utils.IntToStr(qrcodeData.Id)
- res["pay_url"] = content
- res["pay_qrcode"] = strings.ReplaceAll(qrcode.GetPNGBase64(content), "\u0000", "")
- }
- e.OutSuc(c, res, nil)
- return
- }
- func Qrcode(c *gin.Context) {
- var arg map[string]string
- if err := c.ShouldBindJSON(&arg); err != nil {
- e.OutErr(c, e.ERR_INVALID_ARGS, err)
- return
- }
- user := svc.GetUser(c)
- arg["uid"] = utils.IntToStr(user.Info.Uid)
- arg["store_type"] = "1"
- cate, total := db.GetStoreQrcode(svc.MasterDb(c), arg)
- list := make([]map[string]string, 0)
- if cate != nil {
- h5Domain := svc.GetWebSiteDomainInfo(c, "wap")
- for _, v := range *cate {
- tmp := map[string]string{
- "id": utils.IntToStr(v.Id),
- "table_num": v.TableNum,
- "name": v.Name,
- "is_use": utils.IntToStr(v.IsUse),
- "qrcode": "",
- "url": "",
- }
- content := h5Domain + "/#/zy-cake-single-order/pages/scan-result/scan-buy-result?qrcode_id=" + utils.AnyToString(v.Id)
- tmp["qrcode"] = strings.ReplaceAll(qrcode.GetPNGBase64(content), "\u0000", "")
- tmp["url"] = content
- list = append(list, tmp)
- }
- }
- res := map[string]interface{}{
- "list": list, "total": total,
- }
- e.OutSuc(c, res, nil)
- return
- }
- func QrcodeSave(c *gin.Context) {
- var arg map[string]string
- if err := c.ShouldBindJSON(&arg); err != nil {
- e.OutErr(c, e.ERR_INVALID_ARGS, err)
- return
- }
- user := svc.GetUser(c)
- if arg["id"] != "" {
- data := db.GetStoreQrcodeById(svc.MasterDb(c), arg["id"])
- data.TableNum = arg["table_num"]
- data.Name = arg["name"]
- data.IsUse = utils.StrToInt(arg["is_use"])
- svc.MasterDb(c).Where("id=?", data.Id).Update(data)
- } else {
- data := &model.CommunityTeamStoreQrcode{
- Uid: user.Info.Uid,
- TableNum: arg["table_num"],
- IsUse: utils.StrToInt(arg["is_use"]),
- Name: arg["name"],
- }
- svc.MasterDb(c).Insert(data)
- }
- e.OutSuc(c, "success", nil)
- return
- }
- func QrcodeDel(c *gin.Context) {
- var arg map[string]string
- if err := c.ShouldBindJSON(&arg); err != nil {
- e.OutErr(c, e.ERR_INVALID_ARGS, err)
- return
- }
- svc.MasterDb(c).In("id", strings.Split(arg["ids"], ",")).Delete(&model.CommunityTeamStoreQrcode{})
- e.OutSuc(c, "success", nil)
- return
- }
|