xingzai 1 rok temu
rodzic
commit
35f884913d

+ 80 - 0
controllers/order.go

@@ -0,0 +1,80 @@
+package controllers
+
+import (
+	"encoding/json"
+	"fmt"
+	"hongze/hongze_mfyx/models"
+	"hongze/hongze_mfyx/models/order"
+)
+
+// 订单
+type OrderController struct {
+	BaseAuthController
+}
+
+// @Title 创建订单
+// @Description 创建订单接口
+// @Param	request	body models.ActivitySingnupRep true "type json string"
+// @Success Ret=200 {object} models.SignupStatus
+// @router /add [post]
+func (this *OrderController) Add() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	user := this.User
+	if user == nil {
+		br.Msg = "请登录"
+		br.ErrMsg = "请登录,用户信息为空"
+		br.Ret = 408
+		return
+	}
+	var req order.CygxOrderAddReq
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+	uid := user.UserId
+	goodsId := req.GoodsId
+	source := req.Source
+	sourceId := req.SourceId
+	if goodsId == 0 {
+		br.Msg = "支付失败"
+		br.ErrMsg = "支付失败,goodsId 信息错误Err:" + err.Error()
+		return
+	}
+
+	goodsDetail, err := order.GetCygxGoodsDetailByGoodsId(goodsId)
+	if err != nil {
+		br.Msg = "获取信息失败"
+		br.ErrMsg = "获取信息失败,Err:" + err.Error()
+		return
+	}
+	fmt.Println(goodsDetail)
+	var title string
+	if source == "activity" {
+
+	} else if source == "article" {
+		articleDetail, err := models.GetArticleDetailById(sourceId)
+		if err != nil {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取信息失败,Err:" + err.Error()
+			return
+		}
+		title = articleDetail.Title
+	} else {
+		br.Msg = "支付失败"
+		br.ErrMsg = "支付失败,source 信息错误Err:" + source
+		return
+	}
+
+	fmt.Println(title)
+	fmt.Println(uid)
+
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "操作成功"
+}

+ 68 - 0
controllers/user.go

@@ -5,6 +5,7 @@ import (
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
 	"hongze/hongze_mfyx/models"
+	"hongze/hongze_mfyx/models/order"
 	"hongze/hongze_mfyx/services"
 	"hongze/hongze_mfyx/utils"
 	"strconv"
@@ -1956,3 +1957,70 @@ func (this *UserController) EmailBinding() {
 	br.Success = true
 	br.Msg = "操作成功"
 }
+
+// @Title 上传名片信息
+// @Description 上传名片信息接口
+// @Param	request	body order.CygxUserBusinessCardReq true "type json string"
+// @Success Ret=200 {object} models.SignupStatus
+// @router /upload/UserBusinessCard [post]
+func (this *UserController) UploadUserBusinessCard() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	user := this.User
+	if user == nil {
+		br.Msg = "请登录"
+		br.ErrMsg = "请登录,用户信息为空"
+		br.Ret = 408
+		return
+	}
+	isNeedBusinessCard := services.GetCygxUserBusinessCardCount(user.UserId, user.CompanyId) //是否需要上传名片
+	if !isNeedBusinessCard {
+		br.Msg = "您已上传名片,请勿重复上传"
+		return
+	}
+	var req order.CygxUserBusinessCardReq
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+	uid := user.UserId
+	businessCardUrl := req.BusinessCardUrl
+	if businessCardUrl == "" {
+		br.Msg = "名片信息错误"
+		return
+	}
+	companyName := user.CompanyName
+	if companyName == "" {
+		br.Msg = "请填写公司姓名"
+		return
+	}
+	realName := req.RealName
+	if realName == "" {
+		br.Msg = "请填写姓名"
+		return
+	}
+	item := new(order.CygxUserBusinessCard)
+	item.BusinessCardUrl = businessCardUrl
+	item.UserId = uid
+	item.RealName = realName
+	item.Mobile = req.Mobile
+	item.CompanyName = companyName
+	item.RegisterPlatform = utils.REGISTER_PLATFORM
+	item.CreateTime = time.Now()
+	item.ModifyTime = time.Now()
+	item.InviteName = req.InviteName
+	err = order.AddCygxUserBusinessCard(item)
+	if err != nil {
+		br.Msg = "操作失败"
+		br.ErrMsg = "操作失败,Err:" + err.Error()
+		return
+	}
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "操作成功"
+}

+ 11 - 0
models/db.go

@@ -2,6 +2,7 @@ package models
 
 import (
 	_ "github.com/go-sql-driver/mysql"
+	"hongze/hongze_mfyx/models/order"
 	"hongze/hongze_mfyx/utils"
 	"time"
 
@@ -178,8 +179,18 @@ func init() {
 		new(CygxVoiceAndVideoHistory),
 		new(CygxArticleAndYanxuanRecord),
 	)
+
+	initOrder() // 订单模块
+
 	// 记录ORM查询日志
 	orm.Debug = true
 	orm.DebugLog = orm.NewLog(utils.BinLog)
 
 }
+
+// initOrder 买方研选订单模块
+func initOrder() {
+	orm.RegisterModel(
+		new(order.CygxUserBusinessCard), //用户上传名片
+	)
+}

+ 14 - 0
models/order/goods.go

@@ -5,6 +5,13 @@ import (
 	//"time"
 )
 
+type CygxGoods struct {
+	GoodsId      int     `description:"商品ID"`
+	GoodsName    string  `description:"商品名称"`
+	Price        float64 `description:"商品原价格"`
+	CurrentPrice float64 `description:"商品现价(当时出售的价格)"`
+}
+
 type CygxGoodsResp struct {
 	GoodsId      int    `description:"商品ID"`
 	GoodsName    string `description:"商品名称"`
@@ -21,3 +28,10 @@ func GetCygxGoodsList(condition string, pars []interface{}) (item []*CygxGoodsRe
 	_, err = o.Raw(sql, pars).QueryRows(&item)
 	return
 }
+
+func GetCygxGoodsDetailByGoodsId(goodsId int) (item *CygxGoods, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM cygx_goods WHERE goods_id = ?  `
+	err = o.Raw(sql, goodsId).QueryRow(&item)
+	return
+}

+ 7 - 0
models/order/order.go

@@ -0,0 +1,7 @@
+package order
+
+type CygxOrderAddReq struct {
+	GoodsId  int    `description:"商品ID"`
+	Source   string `description:"资源(文章、活动)"`
+	SourceId int    `description:"资源ID"`
+}

+ 9 - 2
models/order/user_business_card.go

@@ -8,18 +8,25 @@ import (
 
 type CygxUserBusinessCard struct {
 	Id               int    `orm:"column(id);pk"`
-	BusinessCarUrl   string `description:"名地址"`
+	BusinessCardUrl  string `description:"名地址"`
 	UserId           int    `description:"用户ID"`
 	RealName         string `description:"用户实际名称"`
 	Mobile           string `description:"手机号"`
 	CompanyName      string `description:"公司名称"`
-	SellerName       string `description:"所属销售"`
 	CreateTime       time.Time
 	ModifyTime       time.Time `description:"修改时间"`
 	RegisterPlatform int       `description:"来源"`
 	InviteName       string    `description:"邀请人"`
 }
 
+type CygxUserBusinessCardReq struct {
+	BusinessCardUrl string `description:"名片地址"`
+	RealName        string `description:"用户实际名称"`
+	Mobile          string `description:"手机号"`
+	CompanyName     string `description:"公司名称"`
+	InviteName      string `description:"邀请人"`
+}
+
 func GetCygxUserBusinessCardCount(userId int) (count int, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT COUNT(1) AS count FROM cygx_user_business_card WHERE user_id=?  `

+ 18 - 0
routers/commentsRouter.go

@@ -304,6 +304,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["hongze/hongze_mfyx/controllers:OrderController"] = append(beego.GlobalControllerRouter["hongze/hongze_mfyx/controllers:OrderController"],
+        beego.ControllerComments{
+            Method: "Add",
+            Router: `/add`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["hongze/hongze_mfyx/controllers:ReportController"] = append(beego.GlobalControllerRouter["hongze/hongze_mfyx/controllers:ReportController"],
         beego.ControllerComments{
             Method: "CommentAdd",
@@ -655,6 +664,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["hongze/hongze_mfyx/controllers:UserController"] = append(beego.GlobalControllerRouter["hongze/hongze_mfyx/controllers:UserController"],
+        beego.ControllerComments{
+            Method: "UploadUserBusinessCard",
+            Router: `/upload/UserBusinessCard`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["hongze/hongze_mfyx/controllers:WechatCommonController"] = append(beego.GlobalControllerRouter["hongze/hongze_mfyx/controllers:WechatCommonController"],
         beego.ControllerComments{
             Method: "GetSmsCode",

+ 5 - 0
routers/router.go

@@ -113,6 +113,11 @@ func init() {
 				&controllers.AdviceController{},
 			),
 		),
+		web.NSNamespace("/order",
+			web.NSInclude(
+				&controllers.OrderController{},
+			),
+		),
 	)
 	web.AddNamespace(ns)
 }