|
@@ -231,6 +231,105 @@ func (this *OrderController) AddByActivity() {
|
|
|
br.Msg = "操作成功"
|
|
|
}
|
|
|
|
|
|
+// @Title 通过研选专栏创建订单
|
|
|
+// @Description 通过文章创建订单接口
|
|
|
+// @Param request body models.ActivitySingnupRep true "type json string"
|
|
|
+// @Success Ret=200 {object} models.SignupStatus
|
|
|
+// @router /addByYanxuanspecial [post]
|
|
|
+func (this *OrderController) AddByYanxuanspecial() {
|
|
|
+ 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
|
|
|
+ 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
|
|
|
+ }
|
|
|
+ var title string
|
|
|
+ oldOrderCode := services.GetHaverEquallyOrderByUser10Min(uid, goodsId) //获取用户十分钟之内是否有相同的订单信息
|
|
|
+ // 研选专栏
|
|
|
+ yanxuanSpecialBySpeciaDetail, err := models.GetYanxuanSpecialBySpecialId(sourceId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "获取信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ title = yanxuanSpecialBySpeciaDetail.Title
|
|
|
+ item := new(order.CygxOrder)
|
|
|
+ item.OrderCode = utils.GetOrdernum()
|
|
|
+ item.GoodsName = goodsDetail.GoodsName
|
|
|
+ item.GoodsId = goodsId
|
|
|
+ item.GoodsMoney = goodsDetail.Price
|
|
|
+ item.OrderMoney = goodsDetail.CurrentPrice
|
|
|
+ item.SourceId = sourceId
|
|
|
+ item.Source = utils.CYGX_OBJ_YANXUANSPECIAL
|
|
|
+ item.SourceTitle = title
|
|
|
+ item.UserId = user.UserId
|
|
|
+ item.Mobile = user.Mobile
|
|
|
+ item.Email = user.Email
|
|
|
+ item.CompanyId = user.CompanyId
|
|
|
+ item.CompanyName = user.CompanyName
|
|
|
+ item.RealName = user.RealName
|
|
|
+ item.SellerName, item.SellerId = services.GetSellerName(user) // 销售姓名
|
|
|
+ item.ShareName, item.ShareId = services.GetAdminByInviteShareCode(req.InviteShareCode) // 分享人信息
|
|
|
+ item.CreateTime = time.Now()
|
|
|
+ item.ModifyTime = time.Now()
|
|
|
+ item.RegisterPlatform = utils.REGISTER_PLATFORM
|
|
|
+ item.OrderType = 1
|
|
|
+ //如果十分钟之内有相同的订单就修改,没有就新增
|
|
|
+ if oldOrderCode == "" {
|
|
|
+ err = order.AddCygxOrder(item)
|
|
|
+ } else {
|
|
|
+ item.OrderCode = oldOrderCode
|
|
|
+ err = order.UpdateCygxOrder(item, oldOrderCode)
|
|
|
+ }
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "创建订单信息失败"
|
|
|
+ br.ErrMsg = "创建订单信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ JsapiApiResp, err := services.ExampleJsapiApiServicePrepay(item, user.UnionId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "创建订单信息失败"
|
|
|
+ br.ErrMsg = "创建订单信息失败,ExampleJsapiApiServicePrepayErr:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ resp := new(order.WxJsapiApiResp)
|
|
|
+ resp.Detail = JsapiApiResp
|
|
|
+ resp.OrderCode = item.OrderCode
|
|
|
+ br.Data = resp
|
|
|
+ br.Data = resp
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "操作成功"
|
|
|
+}
|
|
|
+
|
|
|
// @Title 用户订单列表
|
|
|
// @Description 用户订单列表接口
|
|
|
// @Param PageSize query int true "每页数据条数"
|