|
- package hdl
-
- import (
- "applet/app/admin/lib/validate"
- "applet/app/admin/md"
- "applet/app/db"
- "applet/app/db/model"
- "applet/app/e"
- "applet/app/utils"
- "github.com/gin-gonic/gin"
- "time"
- )
-
- func MerchantList(c *gin.Context) {
- var req md.MerchantListReq
- err := c.ShouldBindJSON(&req)
- if err != nil {
- err = validate.HandleValidateErr(err)
- err1 := err.(e.E)
- e.OutErr(c, err1.Code, err1.Error())
- return
- }
- if req.Limit == 0 {
- req.Limit = 10
- }
- if req.Page == 0 {
- req.Page = 1
- }
- var m []*db.MerchantWithEnterpriseInfo
- engine := db.Db.Where("1=1")
- if req.EnterpriseId != 0 {
- engine = engine.And("merchant.enterprise_id =?", req.EnterpriseId)
- }
- if req.Name != "" {
- engine = engine.And("merchant.name like ?", "%"+req.Name+"%")
- }
- total, err := engine.Join("LEFT", "enterprise", "enterprise.id = merchant.enterprise_id").
- Limit(req.Limit, (req.Page-1)*req.Limit).FindAndCount(&m)
- if err != nil {
- e.OutErr(c, e.ERR_DB_ORM, err.Error())
- return
- }
-
- var resp []interface{}
- for _, v := range m {
- resp = append(resp, map[string]interface{}{
- "id": v.Merchant.Id,
- "name": v.Merchant.Name,
- "enterprise_id": v.Merchant.EnterpriseId,
- "create_at": v.Merchant.CreateAt,
- "update_at": v.Merchant.UpdateAt,
- "enterprise_name": v.Enterprise.Name,
- })
- }
- e.OutSuc(c, map[string]interface{}{
- "list": resp,
- "total": total,
- }, nil)
- return
- }
-
- func MerchantAdd(c *gin.Context) {
- var req md.MerchantAddReq
- err := c.ShouldBindJSON(&req)
- if err != nil {
- err = validate.HandleValidateErr(err)
- err1 := err.(e.E)
- e.OutErr(c, err1.Code, err1.Error())
- return
- }
-
- merchantDb := db.MerchantDb{}
- merchantDb.Set()
- now := time.Now()
- insertAffected, err := merchantDb.MerchantInsert(&model.Merchant{
- EnterpriseId: req.EnterpriseId,
- Name: req.Name,
- CreateAt: now.Format("2006-01-02 15:04:05"),
- UpdateAt: now.Format("2006-01-02 15:04:05"),
- })
- if err != nil {
- e.OutErr(c, e.ERR_DB_ORM, err.Error())
- return
- }
- if insertAffected <= 0 {
- e.OutErr(c, e.ERR_DB_ORM, "新增数据失败")
- return
- }
-
- e.OutSuc(c, "success", nil)
- return
- }
-
- func MerchantUpdate(c *gin.Context) {
- var req md.MerchantUpdateReq
- err := c.ShouldBindJSON(&req)
- if err != nil {
- err = validate.HandleValidateErr(err)
- err1 := err.(e.E)
- e.OutErr(c, err1.Code, err1.Error())
- return
- }
- merchantDb := db.MerchantDb{}
- merchantDb.Set()
- merchant, err := merchantDb.GetMerchant(req.Id)
- if err != nil {
- e.OutErr(c, e.ERR_DB_ORM, err.Error())
- return
- }
- if merchant == nil {
- e.OutErr(c, e.ERR_NO_DATA, "未查询到对应记录")
- return
- }
- now := time.Now()
- merchant.EnterpriseId = req.EnterpriseId
- merchant.Name = req.Name
- merchant.UpdateAt = now.Format("2006-01-02 15:04:05")
- _, err = merchantDb.MerchantUpdate(merchant, "name", "enterprise_id", "update_at")
- if err != nil {
- e.OutErr(c, e.ERR_DB_ORM, err.Error())
- return
- }
- e.OutSuc(c, "success", nil)
- return
- }
-
- func MerchantDelete(c *gin.Context) {
- id := c.Param("merchant_id")
- merchantDb := db.MerchantDb{}
- merchantDb.Set()
- merchant, err := merchantDb.GetMerchant(utils.StrToInt(id))
- if err != nil {
- e.OutErr(c, e.ERR_DB_ORM, err.Error())
- return
- }
- if merchant == nil {
- e.OutErr(c, e.ERR_NO_DATA, "未查询到对应记录")
- return
- }
-
- _, err = merchantDb.MerchantDelete(id)
- if err != nil {
- e.OutErr(c, e.ERR_DB_ORM, err.Error())
- return
- }
- e.OutSuc(c, "success", nil)
- return
- }
|