1.新增V1.2.0相关接口,已基本完成;
This commit is contained in:
parent
f9cf5b08e4
commit
be82112908
|
@ -3,16 +3,25 @@ package cooperativemanage
|
|||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"github.com/codinl/go-logger"
|
||||
"github.com/gin-gonic/gin"
|
||||
"go-admin/app/admin/models"
|
||||
orm "go-admin/common/global"
|
||||
"go-admin/logger"
|
||||
"go-admin/pkg/jwtauth"
|
||||
"go-admin/tools"
|
||||
"go-admin/tools/app"
|
||||
"net/http"
|
||||
"time"
|
||||
)
|
||||
|
||||
// CooperativeBusinessList 查看供应商列表
|
||||
// @Summary 查看供应商列表
|
||||
// @Tags 合作商, v1.2.0
|
||||
// @Produce json
|
||||
// @Accept json
|
||||
// @Param request body models.CooperativeBusinessListReq true "查看供应商列表模型"
|
||||
// @Success 200 {object} models.CooperativeBusinessListResp
|
||||
// @Router /api/v1/cooperative/list [post]
|
||||
func CooperativeBusinessList(c *gin.Context) {
|
||||
req := &models.CooperativeBusinessListReq{}
|
||||
if c.ShouldBindJSON(req) != nil {
|
||||
|
@ -28,12 +37,13 @@ func CooperativeBusinessList(c *gin.Context) {
|
|||
return
|
||||
}
|
||||
|
||||
ret := map[string]interface{}{
|
||||
"count": count,
|
||||
"list": list,
|
||||
"pageIndex": req.Page,
|
||||
"total_page": req.PageSize,
|
||||
ret := models.CooperativeBusinessListResp{
|
||||
Count: count,
|
||||
List: list,
|
||||
PageIndex: req.Page,
|
||||
TotalPage: req.PageSize,
|
||||
}
|
||||
|
||||
app.OK(c, ret, "")
|
||||
return
|
||||
}
|
||||
|
@ -46,10 +56,18 @@ type CooperativeMemberDeductReq struct {
|
|||
// cooperative_member_deduct
|
||||
}
|
||||
|
||||
// CooperativeAdd 新增供应商
|
||||
// @Summary 新增供应商
|
||||
// @Tags 合作商, v1.2.0
|
||||
// @Produce json
|
||||
// @Accept json
|
||||
// @Param request body models.CooperativeBusiness true "新增供应商模型"
|
||||
// @Success 200 {object} app.Response
|
||||
// @Router /api/v1/cooperative/add [post]
|
||||
func CooperativeAdd(c *gin.Context) {
|
||||
req := &models.CooperativeBusiness{}
|
||||
if err := c.ShouldBindJSON(req); err != nil {
|
||||
logger.Error("para err", err)
|
||||
logger.Errorf("para err", err)
|
||||
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
|
||||
return
|
||||
}
|
||||
|
@ -72,7 +90,7 @@ func CooperativeAdd(c *gin.Context) {
|
|||
}
|
||||
err = orm.Eloquent.Create(deduct).Error
|
||||
if err != nil {
|
||||
logger.Error("create cooperative member deduct err:", err)
|
||||
logger.Errorf("create cooperative member deduct err:", err)
|
||||
app.Error(c, http.StatusInternalServerError, err, "添加失败")
|
||||
return
|
||||
}
|
||||
|
@ -81,6 +99,34 @@ func CooperativeAdd(c *gin.Context) {
|
|||
return
|
||||
}
|
||||
|
||||
// CooperativeEdit 编辑供应商
|
||||
// @Summary 编辑供应商
|
||||
// @Tags 合作商, v1.2.0
|
||||
// @Produce json
|
||||
// @Accept json
|
||||
// @Param request body models.CooperativeBusiness true "编辑供应商模型"
|
||||
// @Success 200 {object} app.Response
|
||||
// @Router /api/v1/cooperative/edit [post]
|
||||
func CooperativeEdit(c *gin.Context) {
|
||||
req := &models.CooperativeBusiness{}
|
||||
if err := c.ShouldBindJSON(req); err != nil {
|
||||
logger.Errorf("para err", err)
|
||||
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
|
||||
return
|
||||
}
|
||||
|
||||
req.AddTime = time.Now()
|
||||
err := orm.Eloquent.Model(&models.CooperativeBusiness{}).Where("id = ?", req.ID).Updates(req).Error
|
||||
if err != nil {
|
||||
logger.Errorf("edit cooperative err:", err)
|
||||
app.Error(c, http.StatusInternalServerError, err, "更新失败")
|
||||
return
|
||||
}
|
||||
|
||||
app.OK(c, nil, "添加成功")
|
||||
return
|
||||
}
|
||||
|
||||
func CooperativeMemberPromotionList(c *gin.Context) {
|
||||
req := &models.CooperativeMemberPromotionReq{}
|
||||
if c.ShouldBindJSON(req) != nil {
|
||||
|
@ -177,6 +223,14 @@ func CooperativeMemberPromotionStoreDayList(c *gin.Context) {
|
|||
return
|
||||
}
|
||||
|
||||
// CooperativeMemberPromotionStatisticList 租卡会员统计
|
||||
// @Summary 租卡会员统计
|
||||
// @Tags 会员管理, V1.2.0
|
||||
// @Produce json
|
||||
// @Accept json
|
||||
// @Param request body models.CooperativeMemberPromotionStatisticReq true "租卡会员统计模型"
|
||||
// @Success 200 {object} models.CooperativeMemberPromotionStatisticListResp
|
||||
// @Router /api/v1/cooperative/member_promotion_statistic/list [post]
|
||||
func CooperativeMemberPromotionStatisticList(c *gin.Context) {
|
||||
req := &models.CooperativeMemberPromotionStatisticReq{}
|
||||
if c.ShouldBindJSON(req) != nil {
|
||||
|
@ -192,11 +246,12 @@ func CooperativeMemberPromotionStatisticList(c *gin.Context) {
|
|||
return
|
||||
}
|
||||
|
||||
ret := map[string]interface{}{
|
||||
"count": count,
|
||||
"list": list,
|
||||
"pageIndex": req.Page,
|
||||
ret := models.CooperativeMemberPromotionStatisticListResp{
|
||||
Count: count,
|
||||
PageIndex: req.Page,
|
||||
List: list,
|
||||
}
|
||||
|
||||
app.OK(c, ret, "")
|
||||
return
|
||||
}
|
||||
|
@ -215,12 +270,12 @@ func CooperativeMemberPromotionSettleInfo(c *gin.Context) {
|
|||
var memberPromotion models.CooperativeMemberPromotion
|
||||
err := orm.Eloquent.Table("").Where("id=?", req.CooperativeMemberPromotionId).Find(&memberPromotion).Error
|
||||
if err != nil {
|
||||
logger.Error("cooperative member promotion err:", err)
|
||||
logger.Errorf("cooperative member promotion err:", err)
|
||||
app.Error(c, http.StatusInternalServerError, err, "结算错误")
|
||||
return
|
||||
}
|
||||
if memberPromotion.CooperativeBusinessId != req.CooperativeBusinessId {
|
||||
logger.Error("cooperative business id err:")
|
||||
logger.Errorf("cooperative business id err:")
|
||||
app.Error(c, http.StatusInternalServerError, errors.New("cooperative business id err"), "结算错误")
|
||||
return
|
||||
}
|
||||
|
@ -229,13 +284,13 @@ func CooperativeMemberPromotionSettleInfo(c *gin.Context) {
|
|||
cooperative.SetMemberDeductConfig()
|
||||
|
||||
if memberPromotion.State != models.PromotionStateUnSettlement {
|
||||
logger.Error("cooperative member promotion state err:")
|
||||
logger.Errorf("cooperative member promotion state err:")
|
||||
app.Error(c, http.StatusInternalServerError, err, "结算错误")
|
||||
return
|
||||
}
|
||||
|
||||
if cooperative.CooperativeMemberDeduct == nil {
|
||||
logger.Error("cooperative member deduct nil:")
|
||||
logger.Errorf("cooperative member deduct nil:")
|
||||
app.Error(c, http.StatusInternalServerError, err, "结算错误")
|
||||
return
|
||||
}
|
||||
|
@ -273,18 +328,18 @@ func CooperativeMemberPromotionSettleConfirm(c *gin.Context) {
|
|||
var memberPromotion models.CooperativeMemberPromotion
|
||||
err := orm.Eloquent.Table("").Where("id=?", req.CooperativeMemberPromotionId).Find(&memberPromotion).Error
|
||||
if err != nil {
|
||||
logger.Error("cooperative member promotion err:", err)
|
||||
logger.Errorf("cooperative member promotion err:", err)
|
||||
app.Error(c, http.StatusInternalServerError, err, "结算错误")
|
||||
return
|
||||
}
|
||||
if memberPromotion.CooperativeBusinessId != req.CooperativeBusinessId {
|
||||
logger.Error("cooperative business id err:")
|
||||
logger.Errorf("cooperative business id err:")
|
||||
app.Error(c, http.StatusInternalServerError, errors.New("cooperative business id err"), "结算错误")
|
||||
return
|
||||
}
|
||||
// TODO
|
||||
//if memberPromotion.Date != models.MonthDateAdd(-1) {
|
||||
// logger.Error("settle date err:")
|
||||
// logger.Errorf("settle date err:")
|
||||
// app.Error(c, http.StatusInternalServerError, errors.New("settle date err"), "结算错误")
|
||||
// return
|
||||
//}
|
||||
|
@ -294,13 +349,13 @@ func CooperativeMemberPromotionSettleConfirm(c *gin.Context) {
|
|||
cooperative.SetMemberDeductConfig()
|
||||
|
||||
if memberPromotion.State != models.PromotionStateUnSettlement {
|
||||
logger.Error("cooperative member promotion state err:")
|
||||
logger.Errorf("cooperative member promotion state err:")
|
||||
app.Error(c, http.StatusInternalServerError, err, "结算错误")
|
||||
return
|
||||
}
|
||||
|
||||
if cooperative.CooperativeMemberDeduct == nil {
|
||||
logger.Error("cooperative member deduct nil:")
|
||||
logger.Errorf("cooperative member deduct nil:")
|
||||
app.Error(c, http.StatusInternalServerError, err, "结算错误")
|
||||
return
|
||||
}
|
||||
|
@ -345,7 +400,7 @@ func CooperativeMemberPromotionSettleConfirm(c *gin.Context) {
|
|||
err = begin.Create(deductSettle).Error
|
||||
if err != nil {
|
||||
begin.Rollback()
|
||||
logger.Error("create cooperative deduct settle err:", err)
|
||||
logger.Errorf("create cooperative deduct settle err:", err)
|
||||
app.Error(c, http.StatusInternalServerError, err, "结算错误")
|
||||
return
|
||||
}
|
||||
|
@ -355,7 +410,7 @@ func CooperativeMemberPromotionSettleConfirm(c *gin.Context) {
|
|||
}).Error
|
||||
if err != nil {
|
||||
begin.Rollback()
|
||||
logger.Error("update cooperative_member_promotion state err:", err)
|
||||
logger.Errorf("update cooperative_member_promotion state err:", err)
|
||||
app.Error(c, http.StatusInternalServerError,
|
||||
errors.New("update cooperative_member_promotion state err"), "结算错误")
|
||||
return
|
||||
|
@ -363,7 +418,7 @@ func CooperativeMemberPromotionSettleConfirm(c *gin.Context) {
|
|||
err = begin.Commit().Error
|
||||
if err != nil {
|
||||
begin.Rollback()
|
||||
logger.Error("commit err:", err)
|
||||
logger.Errorf("commit err:", err)
|
||||
app.Error(c, http.StatusInternalServerError, err, "结算错误")
|
||||
return
|
||||
}
|
||||
|
@ -409,17 +464,17 @@ func CooperativeMemberPromotionSettleRemit(c *gin.Context) {
|
|||
var deductSettle models.CooperativeDeductSettle
|
||||
err := orm.Eloquent.Table("").Where("id=?", req.CooperativeDeductSettleId).Find(&deductSettle).Error
|
||||
if err != nil {
|
||||
logger.Error("cooperative member promotion err:", err)
|
||||
logger.Errorf("cooperative member promotion err:", err)
|
||||
app.Error(c, http.StatusInternalServerError, err, "结算错误")
|
||||
return
|
||||
}
|
||||
if deductSettle.CooperativeBusinessId != req.CooperativeBusinessId {
|
||||
logger.Error("cooperative business id err:")
|
||||
logger.Errorf("cooperative business id err:")
|
||||
app.Error(c, http.StatusInternalServerError, errors.New("cooperative business id err"), "操作失败")
|
||||
return
|
||||
}
|
||||
if deductSettle.State != models.PromotionStateFinancePay {
|
||||
logger.Error("deduct settle state err:")
|
||||
logger.Errorf("deduct settle state err:")
|
||||
app.Error(c, http.StatusInternalServerError, errors.New("deduct settle state err"), "操作失败")
|
||||
return
|
||||
}
|
||||
|
@ -431,7 +486,7 @@ func CooperativeMemberPromotionSettleRemit(c *gin.Context) {
|
|||
}).Error
|
||||
if err != nil {
|
||||
begin.Rollback()
|
||||
logger.Error("update cooperative_member_promotion state err:", err)
|
||||
logger.Errorf("update cooperative_member_promotion state err:", err)
|
||||
app.Error(c, http.StatusInternalServerError, errors.New("update cooperative_member_promotion state err"), "操作失败")
|
||||
return
|
||||
}
|
||||
|
@ -440,14 +495,14 @@ func CooperativeMemberPromotionSettleRemit(c *gin.Context) {
|
|||
}).Error
|
||||
if err != nil {
|
||||
begin.Rollback()
|
||||
logger.Error("update cooperative_member_promotion state err:", err)
|
||||
logger.Errorf("update cooperative_member_promotion state err:", err)
|
||||
app.Error(c, http.StatusInternalServerError, errors.New("update cooperative_member_promotion state err"), "操作失败")
|
||||
return
|
||||
}
|
||||
err = begin.Commit().Error
|
||||
if err != nil {
|
||||
begin.Rollback()
|
||||
logger.Error("commit err:", err)
|
||||
logger.Errorf("commit err:", err)
|
||||
app.Error(c, http.StatusInternalServerError, err, "结算错误")
|
||||
return
|
||||
}
|
||||
|
@ -531,7 +586,7 @@ func UpdateCooperativeMemberStoreDeduct(c *gin.Context) {
|
|||
var store models.Store
|
||||
err := orm.Eloquent.Table("store").Where("id=?", memberDeduct.StoreId).Find(&store).Error
|
||||
if err != nil {
|
||||
logger.Error("store err:", store)
|
||||
logger.Errorf("store err:", store)
|
||||
app.Error(c, http.StatusInternalServerError, err, "修改失败")
|
||||
return
|
||||
}
|
||||
|
@ -539,7 +594,7 @@ func UpdateCooperativeMemberStoreDeduct(c *gin.Context) {
|
|||
}
|
||||
err := orm.Eloquent.Save(memberDeduct).Error
|
||||
if err != nil {
|
||||
logger.Error("update cooperative member deduct err:", err)
|
||||
logger.Errorf("update cooperative member deduct err:", err)
|
||||
app.Error(c, http.StatusInternalServerError, err, "修改失败")
|
||||
return
|
||||
}
|
||||
|
@ -573,10 +628,18 @@ func CooperativeOrderList(c *gin.Context) {
|
|||
app.OK(c, ret, "")
|
||||
}
|
||||
|
||||
// AssistantInviteMemberReportList 店员绩效
|
||||
// @Summary 店员绩效
|
||||
// @Tags 门店管理, v1.2.0
|
||||
// @Produce json
|
||||
// @Accept json
|
||||
// @Param request body models.AssistantInviteMemberReportReq true "店员绩效模型"
|
||||
// @Success 200 {object} models.AssistantInviteMemberReportListResp
|
||||
// @Router /api/v1/cooperative/member_promotion/assistant_report [post]
|
||||
func AssistantInviteMemberReportList(c *gin.Context) {
|
||||
req := models.AssistantInviteMemberReportReq{}
|
||||
if c.ShouldBindJSON(&req) != nil {
|
||||
logger.Error("parameter err")
|
||||
logger.Errorf("parameter err")
|
||||
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
|
||||
return
|
||||
}
|
||||
|
@ -584,13 +647,13 @@ func AssistantInviteMemberReportList(c *gin.Context) {
|
|||
data, _ := c.Get(jwtauth.JwtPayloadKey)
|
||||
sysUid, ok := data.(jwtauth.MapClaims)["identity"]
|
||||
if !ok {
|
||||
logger.Error("sys uid err")
|
||||
logger.Errorf("sys uid err")
|
||||
app.Error(c, http.StatusInternalServerError, errors.New("sys uid err"), "查询失败")
|
||||
return
|
||||
}
|
||||
sysUser, err := models.GetSysUser(sysUid)
|
||||
if err != nil {
|
||||
logger.Error("sys user err:", err)
|
||||
logger.Errorf("sys user err:", err)
|
||||
app.Error(c, http.StatusInternalServerError, err, "查询失败")
|
||||
return
|
||||
}
|
||||
|
@ -604,11 +667,12 @@ func AssistantInviteMemberReportList(c *gin.Context) {
|
|||
return
|
||||
}
|
||||
|
||||
ret := map[string]interface{}{
|
||||
"list": list,
|
||||
"cur_page": req.Page,
|
||||
"count": count,
|
||||
ret := models.AssistantInviteMemberReportListResp{
|
||||
List: list,
|
||||
CurPage: req.Page,
|
||||
Count: count,
|
||||
}
|
||||
|
||||
app.OK(c, ret, "")
|
||||
return
|
||||
}
|
||||
|
@ -649,7 +713,7 @@ func CooperativeStoreList(c *gin.Context) {
|
|||
func CooperativeGameCardStockList(c *gin.Context) {
|
||||
req := models.CooperativeGameCardStockReq{}
|
||||
if c.ShouldBindJSON(&req) != nil {
|
||||
logger.Error("parameter err")
|
||||
logger.Errorf("parameter err")
|
||||
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
|
||||
return
|
||||
}
|
||||
|
@ -657,20 +721,20 @@ func CooperativeGameCardStockList(c *gin.Context) {
|
|||
//data, _ := c.Get(jwtauth.JwtPayloadKey)
|
||||
//sysUid, ok := data.(jwtauth.MapClaims)["identity"]
|
||||
//if !ok {
|
||||
// logger.Error("sys uid err")
|
||||
// logger.Errorf("sys uid err")
|
||||
// app.Error(c, http.StatusInternalServerError, errors.New("sys uid err"), "查询失败")
|
||||
// return
|
||||
//}
|
||||
//sysUser, err := models.GetSysUser(sysUid)
|
||||
//if err != nil {
|
||||
// logger.Error("sys user err:", err)
|
||||
// logger.Errorf("sys user err:", err)
|
||||
// app.Error(c, http.StatusInternalServerError, err, "查询失败")
|
||||
// return
|
||||
//}
|
||||
////req.CooperativeBusinessId = sysUser.CooperativeBusinessId
|
||||
businessId, err := models.GetCooperativeBusinessId(c)
|
||||
if err != nil {
|
||||
logger.Error("get cooperative business id err:", err)
|
||||
logger.Errorf("get cooperative business id err:", err)
|
||||
app.Error(c, http.StatusInternalServerError, err, "查询失败")
|
||||
return
|
||||
}
|
||||
|
@ -695,7 +759,7 @@ func CooperativeGameCardGoodsList(c *gin.Context) {
|
|||
}
|
||||
businessId, err := models.GetCooperativeBusinessId(c)
|
||||
if err != nil {
|
||||
logger.Error("get cooperative business id err:", err)
|
||||
logger.Errorf("get cooperative business id err:", err)
|
||||
app.Error(c, http.StatusInternalServerError, err, "查询失败")
|
||||
return
|
||||
}
|
||||
|
@ -727,7 +791,7 @@ func CooperativeCannibalizeTaskList(c *gin.Context) {
|
|||
req.CooperativeBusinessId = businessId
|
||||
resp, err := req.List()
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
app.Error(c, http.StatusInternalServerError, err, "任务列表错误")
|
||||
return
|
||||
}
|
||||
|
@ -754,7 +818,7 @@ func CooperativeStockExport(c *gin.Context) {
|
|||
var cooperativeBusiness models.CooperativeBusiness
|
||||
err = orm.Eloquent.Table("cooperative_business").Where("id=?", businessId).Find(&cooperativeBusiness).Error
|
||||
if err != nil {
|
||||
logger.Error("cooperative business err:", err)
|
||||
logger.Errorf("cooperative business err:", err)
|
||||
app.Error(c, http.StatusInternalServerError, err, "导出失败")
|
||||
return
|
||||
}
|
||||
|
@ -762,7 +826,7 @@ func CooperativeStockExport(c *gin.Context) {
|
|||
if req.StoreId == 0 {
|
||||
ids, err := models.GetStoreIdsByCooperativeBusinessId(businessId)
|
||||
if err != nil {
|
||||
logger.Error("store id cooperative business err:", err)
|
||||
logger.Errorf("store id cooperative business err:", err)
|
||||
app.Error(c, http.StatusInternalServerError, err, "导出失败")
|
||||
return
|
||||
}
|
||||
|
@ -796,7 +860,7 @@ func CooperativeMemberPromotionExport(c *gin.Context) {
|
|||
//var cooperativeBusiness models.CooperativeBusiness
|
||||
//err = orm.Eloquent.Table("cooperative_business").Where("id=?", businessId).Find(&cooperativeBusiness).Error
|
||||
//if err != nil {
|
||||
// logger.Error("cooperative business err:", err)
|
||||
// logger.Errorf("cooperative business err:", err)
|
||||
// app.Error(c, http.StatusInternalServerError, err, "导出失败")
|
||||
// return
|
||||
//}
|
||||
|
@ -804,7 +868,7 @@ func CooperativeMemberPromotionExport(c *gin.Context) {
|
|||
//if req.StoreId == 0 {
|
||||
// ids, err := models.GetStoreIdsByCooperativeBusinessId(businessId)
|
||||
// if err != nil {
|
||||
// logger.Error("store id cooperative business err:", err)
|
||||
// logger.Errorf("store id cooperative business err:", err)
|
||||
// app.Error(c, http.StatusInternalServerError, err, "导出失败")
|
||||
// return
|
||||
// }
|
||||
|
@ -813,7 +877,7 @@ func CooperativeMemberPromotionExport(c *gin.Context) {
|
|||
|
||||
memberPromotion := req.Export()
|
||||
if memberPromotion == "" {
|
||||
logger.Error("member promotion url nil:")
|
||||
logger.Errorf("member promotion url nil:")
|
||||
app.Error(c, http.StatusInternalServerError, errors.New("member promotion url nil"), "导出失败")
|
||||
return
|
||||
}
|
||||
|
@ -823,3 +887,82 @@ func CooperativeMemberPromotionExport(c *gin.Context) {
|
|||
}
|
||||
app.OK(c, ret, "数据导出成功")
|
||||
}
|
||||
|
||||
// CooperativeSetPayInfo 设置支付信息
|
||||
// @Summary 设置支付信息
|
||||
// @Tags 合作商, v1.2.0
|
||||
// @Produce json
|
||||
// @Accept json
|
||||
// @Param request body models.CooperativeSetPayInfoReq true "设置支付信息模型"
|
||||
// @Success 200 {object} app.Response
|
||||
// @Router /api/v1/cooperative/set_pay_info [post]
|
||||
func CooperativeSetPayInfo(c *gin.Context) {
|
||||
var req = new(models.CooperativeSetPayInfoReq)
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
logger.Errorf("ShouldBindJSON err:", logger.Field("err", err))
|
||||
app.Error(c, http.StatusBadRequest, err, "参数错误:"+err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
err := tools.Validate(req) //必填参数校验
|
||||
if err != nil {
|
||||
app.Error(c, http.StatusBadRequest, err, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
sysUser, err := models.GetSysUserByCtx(c)
|
||||
if err != nil {
|
||||
logger.Error("sys user err:", logger.Field("err", err))
|
||||
app.Error(c, http.StatusInternalServerError, err, "操作失败:"+err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
if req.CooperativeBusinessId == 0 { // 如果入参为空,则默认使用当前用户所属的合作商id
|
||||
if sysUser.CooperativeBusinessId == 0 {
|
||||
logger.Error("sysUser.CooperativeBusinessId is 0")
|
||||
app.Error(c, http.StatusInternalServerError, errors.New("合作商id为空"), "保存失败:合作商id为空")
|
||||
return
|
||||
}
|
||||
req.CooperativeBusinessId = sysUser.CooperativeBusinessId
|
||||
}
|
||||
|
||||
err = models.SetPayInfo(req)
|
||||
if err != nil {
|
||||
logger.Error("CreateErpOrder err:", logger.Field("err", err))
|
||||
app.Error(c, http.StatusInternalServerError, err, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
app.OK(c, nil, "")
|
||||
}
|
||||
|
||||
// CooperativeGetPayInfo 获取支付信息
|
||||
// @Summary 获取支付信息
|
||||
// @Tags 合作商, v1.2.0
|
||||
// @Produce json
|
||||
// @Accept json
|
||||
// @Success 200 {object} models.CooperativePayInfo
|
||||
// @Router /api/v1/cooperative/get_pay_info [post]
|
||||
func CooperativeGetPayInfo(c *gin.Context) {
|
||||
//var req = new(models.CooperativeGetPayInfoReq)
|
||||
//if err := c.ShouldBindJSON(&req); err != nil {
|
||||
// logger.Errorf("ShouldBindJSON err:", logger.Field("err", err))
|
||||
// app.Error(c, http.StatusBadRequest, err, "参数错误:"+err.Error())
|
||||
// return
|
||||
//}
|
||||
//
|
||||
//err := tools.Validate(req) //必填参数校验
|
||||
//if err != nil {
|
||||
// app.Error(c, http.StatusBadRequest, err, err.Error())
|
||||
// return
|
||||
//}
|
||||
|
||||
payInfo, err := models.GetPayInfo()
|
||||
if err != nil {
|
||||
logger.Error("CreateErpOrder err:", logger.Field("err", err))
|
||||
app.Error(c, http.StatusInternalServerError, err, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
app.OK(c, payInfo, "")
|
||||
}
|
||||
|
|
|
@ -280,7 +280,7 @@ func QueryCode(c *gin.Context) {
|
|||
list, err := models.GetCodeList(req)
|
||||
if err != nil {
|
||||
logger.Error("GetCodeList err:", logger.Field("err", err))
|
||||
app.Error(c, http.StatusInternalServerError, err, "获取失败")
|
||||
app.Error(c, http.StatusInternalServerError, err, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
|
|
|
@ -118,6 +118,14 @@ func GoodsOrderRefundSendReceive(c *gin.Context) {
|
|||
app.OK(c, nil, "订单退货成功")
|
||||
}
|
||||
|
||||
// MallUserVmRecord 用户积分记录
|
||||
// @Summary 用户积分记录
|
||||
// @Tags 数据统计, V1.2.0
|
||||
// @Produce json
|
||||
// @Accept json
|
||||
// @Param request body models.MallUserVmRecordReq true "用户积分记录模型"
|
||||
// @Success 200 {object} models.MallUserVmRecordResp
|
||||
// @Router /api/v1/mall/goods/user/vm_record [post]
|
||||
func MallUserVmRecord(c *gin.Context) {
|
||||
req := &models.MallUserVmRecordReq{}
|
||||
if c.ShouldBindJSON(req) != nil {
|
||||
|
@ -132,12 +140,13 @@ func MallUserVmRecord(c *gin.Context) {
|
|||
app.Error(c, http.StatusInternalServerError, errors.New("order detail err"), msg)
|
||||
return
|
||||
}
|
||||
ret := map[string]interface{}{
|
||||
"count": totalCount,
|
||||
"list": orderList,
|
||||
"page_index": req.PageIdx,
|
||||
"page_size": req.PageSize,
|
||||
//"total_page": totalPage,
|
||||
|
||||
ret := models.MallUserVmRecordResp{
|
||||
Count: totalCount,
|
||||
List: orderList,
|
||||
PageIndex: req.PageIdx,
|
||||
PageSize: req.PageSize,
|
||||
}
|
||||
|
||||
app.OK(c, ret, "")
|
||||
}
|
||||
|
|
|
@ -103,11 +103,11 @@ func UserList(c *gin.Context) {
|
|||
|
||||
// NewUserList 所有用户
|
||||
// @Summary 所有用户
|
||||
// @Tags 会员管理
|
||||
// @Tags 会员管理, V1.2.0
|
||||
// @Produce json
|
||||
// @Accept json
|
||||
// @Param request body models.NewUserListReq true "所有用户模型"
|
||||
// @Success 200 {object} models.U
|
||||
// @Success 200 {object} models.NewUserListResp
|
||||
// @Router /api/v1/user_info/list [post]
|
||||
func NewUserList(c *gin.Context) {
|
||||
var req = new(models.NewUserListReq)
|
||||
|
@ -118,41 +118,13 @@ func NewUserList(c *gin.Context) {
|
|||
}
|
||||
|
||||
fmt.Printf("req: %+v \n", req)
|
||||
userList, _, count, err := models.GetNewUserList(req)
|
||||
ret, err := models.GetNewUserList(req)
|
||||
if err != nil {
|
||||
logger.Errorf("err:", logger.Field("err", err))
|
||||
app.Error(c, http.StatusInternalServerError, err, "查询失败")
|
||||
return
|
||||
}
|
||||
|
||||
var uids []uint32
|
||||
for _, u := range userList {
|
||||
if u.MemberExpireDays > 0 {
|
||||
uids = append(uids, u.Uid)
|
||||
}
|
||||
}
|
||||
//未归还卡带
|
||||
cards, err := models.GetUserExpiredCards(uids)
|
||||
if err != nil {
|
||||
logger.Errorf("err:", logger.Field("err", err))
|
||||
app.Error(c, http.StatusInternalServerError, err, "查询失败")
|
||||
return
|
||||
}
|
||||
for i, u := range userList {
|
||||
c, ok := cards[u.Uid]
|
||||
if ok {
|
||||
userList[i].OrderCards = c
|
||||
//滞纳金 一个卡带一天2块钱
|
||||
userList[i].ForfeitPenalty = len(c) * 200 * int(userList[i].MemberExpireDays)
|
||||
}
|
||||
}
|
||||
|
||||
ret := map[string]interface{}{
|
||||
"count": count,
|
||||
"list": userList,
|
||||
"pageIndex": req.PageIndex,
|
||||
"total_page": req.PageSize,
|
||||
}
|
||||
app.OK(c, ret, "")
|
||||
}
|
||||
|
||||
|
@ -942,6 +914,32 @@ func UserInviteRecordList(c *gin.Context) {
|
|||
app.OK(c, ret, "")
|
||||
}
|
||||
|
||||
// NewUserInviteRecordList 会员邀请记录
|
||||
// @Summary 会员邀请记录
|
||||
// @Tags 会员管理, V1.2.0
|
||||
// @Produce json
|
||||
// @Accept json
|
||||
// @Param request body models.NewUserInviteRecordReq true "会员邀请记录模型"
|
||||
// @Success 200 {object} models.UserInviteRecordListResp
|
||||
// @Router /api/v1/user_info/new_user_invite_record_list [post]
|
||||
func NewUserInviteRecordList(c *gin.Context) {
|
||||
req := new(models.NewUserInviteRecordReq)
|
||||
if c.ShouldBindJSON(req) != nil {
|
||||
logger.Errorf("para err")
|
||||
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := req.NewList()
|
||||
if err != nil {
|
||||
logger.Errorf("err:", logger.Field("err", err))
|
||||
app.Error(c, http.StatusInternalServerError, err, "查询失败")
|
||||
return
|
||||
}
|
||||
|
||||
app.OK(c, resp, "")
|
||||
}
|
||||
|
||||
func ExpireMemberSmsSendRecordList(c *gin.Context) {
|
||||
req := &models.ExpireMemberSmsSendListReq{}
|
||||
if c.ShouldBindJSON(req) != nil {
|
||||
|
|
|
@ -2118,6 +2118,7 @@ func GetCodeList(req *QueryCodeReq) (*QueryCodeResp, error) {
|
|||
|
||||
qs := orm.Eloquent.Debug().Table("erp_stock_commodity").
|
||||
Where("imei LIKE ? OR erp_barcode LIKE ?", "%"+req.ScanCode+"%", "%"+req.ScanCode+"%")
|
||||
|
||||
es := qs
|
||||
err := qs.Order(orderStr).Offset(page * req.PageSize).Limit(req.PageSize).Find(&commodities).Error
|
||||
if err != nil && err != RecordNotFound {
|
||||
|
@ -2137,7 +2138,9 @@ func GetCodeList(req *QueryCodeReq) (*QueryCodeResp, error) {
|
|||
for _, commodity := range commodities {
|
||||
if commodity.IMEI != "" && strings.Contains(commodity.IMEI, req.ScanCode) { // 串码非空且包含查找的数据
|
||||
strCode = commodity.IMEI
|
||||
} else { // 串码为空,直接返回条码数据
|
||||
} else if commodity.IMEI != "" && strings.Contains(commodity.ErpBarcode, req.ScanCode) { // 串码不为空,但条码包含扫码数据
|
||||
return nil, errors.New("串码类商品请直接输入串码")
|
||||
} else {
|
||||
strCode = commodity.ErpBarcode
|
||||
}
|
||||
stockList = append(stockList, strCode)
|
||||
|
|
|
@ -16,11 +16,13 @@ import (
|
|||
type CooperativeBusiness struct {
|
||||
Model
|
||||
|
||||
Name string `json:"name" binding:"required"`
|
||||
Avatar string `json:"avatar" binding:"required"`
|
||||
Address string `json:"address" binding:"required"`
|
||||
Tel string `json:"tel" binding:"required"`
|
||||
AddTime time.Time `json:"add_time"` // 加入时间
|
||||
Name string `json:"name" binding:"required"` // 供应商名称
|
||||
Avatar string `json:"avatar" binding:"required"` // logo
|
||||
Address string `json:"address"` // 地址
|
||||
Tel string `json:"tel" binding:"required"` // 电话
|
||||
AddTime time.Time `json:"add_time"` // 加入时间
|
||||
Username string `json:"username" binding:"required"` // 用户名
|
||||
Password string `json:"password" binding:"required"` // 密码
|
||||
|
||||
CooperativeMemberDeduct *CooperativeMemberDeduct `json:"cooperative_member_deduct" gorm:"-"`
|
||||
CooperativeAssistantMemberDeduct *CooperativeAssistantMemberDeduct `json:"cooperative_assistant_member_deduct" gorm:"-"`
|
||||
|
@ -116,6 +118,10 @@ type CooperativeMemberPromotion struct {
|
|||
RenewalPlatinumDeduct uint32 `json:"renewal_platinum_deduct" gorm:"-"` // 续费白金会员提成
|
||||
RenewalBlackGoldDeduct uint32 `json:"renewal_black_gold_deduct" gorm:"-"` // 续费黑金金会员提成
|
||||
|
||||
UpgradeGoldToPlatinumCount uint32 `json:"upgrade_gold_to_platinum_count" gorm:"default:0"` // 升级:黄金->白金数量
|
||||
UpgradeGoldToBlackCount uint32 `json:"upgrade_gold_to_black_count" gorm:"default:0"` // 升级:黄金->黑金数量
|
||||
UpgradePlatinumToBlackCount uint32 `json:"upgrade_platinum_to_black_count" gorm:"default:0"` // 升级:白金->黑金数量
|
||||
|
||||
DeductAmount uint32 `json:"deduct_amount" gorm:"-"` // 结算净额
|
||||
// cooperative_member_promotion
|
||||
}
|
||||
|
@ -123,49 +129,58 @@ type CooperativeMemberPromotion struct {
|
|||
// 合作商推广会员门店 饼图
|
||||
type CooperativeMemberPromotionStore struct {
|
||||
Model
|
||||
CooperativeBusinessId uint32 `json:"cooperative_business_id" gorm:"index"`
|
||||
CooperativeName string `json:"cooperative_name"` // 合作商名称
|
||||
StoreId uint32 `json:"store_id" gorm:"index"` // 门店id
|
||||
GoldCount uint32 `json:"gold_count"` // 黄金会员数量
|
||||
PlatinumCount uint32 `json:"platinum_count"` // 白金会员数量
|
||||
BlackGoldCount uint32 `json:"black_gold_count"` // 黑金会员数量
|
||||
Date string `json:"date" gorm:"index"` //
|
||||
RenewalGoldCount uint32 `json:"renewal_gold_count"` // 续费黄金会员数量
|
||||
RenewalPlatinumCount uint32 `json:"renewal_platinum_count"` // 续费白金会员数量
|
||||
RenewalBlackGoldCount uint32 `json:"renewal_black_gold_count"` // 续费黑金会员数量
|
||||
Store *Store `json:"store" gorm:"-"`
|
||||
CooperativeBusinessId uint32 `json:"cooperative_business_id" gorm:"index"`
|
||||
CooperativeName string `json:"cooperative_name"` // 合作商名称
|
||||
StoreId uint32 `json:"store_id" gorm:"index"` // 门店id
|
||||
GoldCount uint32 `json:"gold_count"` // 黄金会员数量
|
||||
PlatinumCount uint32 `json:"platinum_count"` // 白金会员数量
|
||||
BlackGoldCount uint32 `json:"black_gold_count"` // 黑金会员数量
|
||||
Date string `json:"date" gorm:"index"` //
|
||||
RenewalGoldCount uint32 `json:"renewal_gold_count"` // 续费黄金会员数量
|
||||
RenewalPlatinumCount uint32 `json:"renewal_platinum_count"` // 续费白金会员数量
|
||||
RenewalBlackGoldCount uint32 `json:"renewal_black_gold_count"` // 续费黑金会员数量
|
||||
UpgradeGoldToPlatinumCount uint32 `json:"upgrade_gold_to_platinum_count" gorm:"default:0"` // 升级:黄金->白金数量
|
||||
UpgradeGoldToBlackCount uint32 `json:"upgrade_gold_to_black_count" gorm:"default:0"` // 升级:黄金->黑金数量
|
||||
UpgradePlatinumToBlackCount uint32 `json:"upgrade_platinum_to_black_count" gorm:"default:0"` // 升级:白金->黑金数量
|
||||
Store *Store `json:"store" gorm:"-"`
|
||||
// cooperative_member_promotion_store
|
||||
}
|
||||
|
||||
// 合作商推广会员每天
|
||||
type CooperativeMemberPromotionDay struct {
|
||||
Model
|
||||
CooperativeBusinessId uint32 `json:"cooperative_business_id" gorm:"index"`
|
||||
CooperativeName string `json:"cooperative_name"` // 合作商名称
|
||||
GoldCount uint32 `json:"gold_count"` // 黄金会员数量
|
||||
PlatinumCount uint32 `json:"platinum_count"` // 白金会员数量
|
||||
BlackGoldCount uint32 `json:"black_gold_count"` // 黑金会员数量
|
||||
DayTime string `json:"day_time" gorm:"index"` //
|
||||
RenewalGoldCount uint32 `json:"renewal_gold_count"` // 续费黄金会员数量
|
||||
RenewalPlatinumCount uint32 `json:"renewal_platinum_count"` // 续费白金会员数量
|
||||
RenewalBlackGoldCount uint32 `json:"renewal_black_gold_count"` // 续费黑金会员数量
|
||||
CooperativeBusinessId uint32 `json:"cooperative_business_id" gorm:"index"`
|
||||
CooperativeName string `json:"cooperative_name"` // 合作商名称
|
||||
GoldCount uint32 `json:"gold_count"` // 黄金会员数量
|
||||
PlatinumCount uint32 `json:"platinum_count"` // 白金会员数量
|
||||
BlackGoldCount uint32 `json:"black_gold_count"` // 黑金会员数量
|
||||
DayTime string `json:"day_time" gorm:"index"` //
|
||||
RenewalGoldCount uint32 `json:"renewal_gold_count"` // 续费黄金会员数量
|
||||
RenewalPlatinumCount uint32 `json:"renewal_platinum_count"` // 续费白金会员数量
|
||||
RenewalBlackGoldCount uint32 `json:"renewal_black_gold_count"` // 续费黑金会员数量
|
||||
UpgradeGoldToPlatinumCount uint32 `json:"upgrade_gold_to_platinum_count" gorm:"default:0"` // 升级:黄金->白金数量
|
||||
UpgradeGoldToBlackCount uint32 `json:"upgrade_gold_to_black_count" gorm:"default:0"` // 升级:黄金->黑金数量
|
||||
UpgradePlatinumToBlackCount uint32 `json:"upgrade_platinum_to_black_count" gorm:"default:0"` // 升级:白金->黑金数量
|
||||
// cooperative_member_promotion_day
|
||||
}
|
||||
|
||||
// 合作商推广会员门店每天 柱状图
|
||||
type CooperativeMemberPromotionStoreDay struct {
|
||||
Model
|
||||
CooperativeBusinessId uint32 `json:"cooperative_business_id" gorm:"index"`
|
||||
CooperativeName string `json:"cooperative_name"` // 合作商名称
|
||||
StoreId uint32 `json:"store_id" gorm:"index"` // 门店id
|
||||
GoldCount uint32 `json:"gold_count"` // 黄金会员数量
|
||||
PlatinumCount uint32 `json:"platinum_count"` // 白金会员数量
|
||||
BlackGoldCount uint32 `json:"black_gold_count"` // 黑金会员数量
|
||||
DayTime string `json:"day_time" gorm:"index"` //
|
||||
RenewalGoldCount uint32 `json:"renewal_gold_count"` // 续费黄金会员数量
|
||||
RenewalPlatinumCount uint32 `json:"renewal_platinum_count"` // 续费白金会员数量
|
||||
RenewalBlackGoldCount uint32 `json:"renewal_black_gold_count"` // 续费黑金会员数量
|
||||
Store *Store `json:"store" gorm:"-"`
|
||||
CooperativeBusinessId uint32 `json:"cooperative_business_id" gorm:"index"`
|
||||
CooperativeName string `json:"cooperative_name"` // 合作商名称
|
||||
StoreId uint32 `json:"store_id" gorm:"index"` // 门店id
|
||||
GoldCount uint32 `json:"gold_count"` // 黄金会员数量
|
||||
PlatinumCount uint32 `json:"platinum_count"` // 白金会员数量
|
||||
BlackGoldCount uint32 `json:"black_gold_count"` // 黑金会员数量
|
||||
DayTime string `json:"day_time" gorm:"index"` //
|
||||
RenewalGoldCount uint32 `json:"renewal_gold_count"` // 续费黄金会员数量
|
||||
RenewalPlatinumCount uint32 `json:"renewal_platinum_count"` // 续费白金会员数量
|
||||
RenewalBlackGoldCount uint32 `json:"renewal_black_gold_count"` // 续费黑金会员数量
|
||||
UpgradeGoldToPlatinumCount uint32 `json:"upgrade_gold_to_platinum_count" gorm:"default:0"` // 升级:黄金->白金数量
|
||||
UpgradeGoldToBlackCount uint32 `json:"upgrade_gold_to_black_count" gorm:"default:0"` // 升级:黄金->黑金数量
|
||||
UpgradePlatinumToBlackCount uint32 `json:"upgrade_platinum_to_black_count" gorm:"default:0"` // 升级:白金->黑金数量
|
||||
Store *Store `json:"store" gorm:"-"`
|
||||
// cooperative_member_promotion_store_day
|
||||
}
|
||||
|
||||
|
@ -201,6 +216,13 @@ type CooperativeBusinessListReq struct {
|
|||
PageSize int `json:"pageSize"`
|
||||
}
|
||||
|
||||
type CooperativeBusinessListResp struct {
|
||||
Count int64 `json:"count"`
|
||||
List []CooperativeBusiness `json:"list"`
|
||||
PageIndex int `json:"pageIndex"`
|
||||
TotalPage int `json:"total_page"`
|
||||
}
|
||||
|
||||
func (m *CooperativeBusinessListReq) List() ([]CooperativeBusiness, int64, error) {
|
||||
var cooperatives []CooperativeBusiness
|
||||
qs := orm.Eloquent.Table("cooperative_business")
|
||||
|
@ -682,18 +704,29 @@ type CooperativeMemberPromotionStatistic struct {
|
|||
Date string `json:"date" gorm:"index"` //
|
||||
StoreId uint32 `json:"store_id" gorm:"index"` // 门店id
|
||||
|
||||
UpgradeGoldToPlatinumCount uint32 `json:"upgrade_gold_to_platinum_count" gorm:"default:0"` // 升级:黄金->白金数量
|
||||
UpgradeGoldToBlackCount uint32 `json:"upgrade_gold_to_black_count" gorm:"default:0"` // 升级:黄金->黑金数量
|
||||
UpgradePlatinumToBlackCount uint32 `json:"upgrade_platinum_to_black_count" gorm:"default:0"` // 升级:白金->黑金数量
|
||||
|
||||
Store *Store `json:"store" gorm:"-"`
|
||||
// cooperative_member_promotion_day
|
||||
}
|
||||
|
||||
type CooperativeMemberPromotionStatisticReq struct {
|
||||
Type uint32 `json:"type"` // 1-日店员推广 2-日门店店员推广
|
||||
CooperativeBusinessId uint32 `json:"cooperative_business_id"`
|
||||
StartDate string `json:"start_date"`
|
||||
EndDate string `json:"end_date"`
|
||||
StoreId uint32 `json:"store_id"`
|
||||
Page int `json:"pageIndex"`
|
||||
PageSize int `json:"pageSize"`
|
||||
Type uint32 `json:"type"` // 1-按天展示 2-按月展示
|
||||
CooperativeBusinessId uint32 `json:"cooperative_business_id"` // 合作商id
|
||||
StartDate string `json:"start_date"` // 开始月份
|
||||
EndDate string `json:"end_date"` // 结束月份
|
||||
StoreId uint32 `json:"store_id"` // 门店ID
|
||||
Page int `json:"pageIndex"` // 页码
|
||||
PageSize int `json:"pageSize"` // 每页条数
|
||||
IsExport uint32 `json:"is_export"` // 1-导出
|
||||
}
|
||||
|
||||
type CooperativeMemberPromotionStatisticListResp struct {
|
||||
Count int64 `json:"count"`
|
||||
PageIndex int `json:"pageIndex"`
|
||||
List []CooperativeMemberPromotionStatistic `json:"list"`
|
||||
}
|
||||
|
||||
func (m *CooperativeMemberPromotionStatisticReq) List() ([]CooperativeMemberPromotionStatistic, int64, error) {
|
||||
|
@ -866,18 +899,20 @@ func CooperativeMemberPromotionToStatistic(list []CooperativeMemberPromotion) []
|
|||
}
|
||||
for i, _ := range list {
|
||||
promotions = append(promotions, CooperativeMemberPromotionStatistic{
|
||||
Model: list[i].Model,
|
||||
CooperativeBusinessId: list[i].CooperativeBusinessId,
|
||||
CooperativeName: list[i].CooperativeName,
|
||||
GoldCount: list[i].GoldCount,
|
||||
PlatinumCount: list[i].PlatinumCount,
|
||||
BlackGoldCount: list[i].BlackGoldCount,
|
||||
RenewalGoldCount: list[i].RenewalGoldCount,
|
||||
RenewalPlatinumCount: list[i].RenewalPlatinumCount,
|
||||
RenewalBlackGoldCount: list[i].RenewalBlackGoldCount,
|
||||
Date: list[i].Date,
|
||||
Model: list[i].Model,
|
||||
CooperativeBusinessId: list[i].CooperativeBusinessId,
|
||||
CooperativeName: list[i].CooperativeName,
|
||||
GoldCount: list[i].GoldCount,
|
||||
PlatinumCount: list[i].PlatinumCount,
|
||||
BlackGoldCount: list[i].BlackGoldCount,
|
||||
RenewalGoldCount: list[i].RenewalGoldCount,
|
||||
RenewalPlatinumCount: list[i].RenewalPlatinumCount,
|
||||
RenewalBlackGoldCount: list[i].RenewalBlackGoldCount,
|
||||
Date: list[i].Date,
|
||||
UpgradePlatinumToBlackCount: list[i].UpgradePlatinumToBlackCount,
|
||||
UpgradeGoldToBlackCount: list[i].UpgradeGoldToBlackCount,
|
||||
UpgradeGoldToPlatinumCount: list[i].UpgradeGoldToPlatinumCount,
|
||||
//StoreId: list[i].StoreId,
|
||||
|
||||
})
|
||||
}
|
||||
return promotions
|
||||
|
@ -898,12 +933,15 @@ func CooperativeMemberPromotionStoreToStatistic(list []CooperativeMemberPromotio
|
|||
PlatinumCount: list[i].PlatinumCount,
|
||||
BlackGoldCount: list[i].BlackGoldCount,
|
||||
//DayTime: list[i].DayTime,
|
||||
RenewalGoldCount: list[i].RenewalGoldCount,
|
||||
RenewalPlatinumCount: list[i].RenewalPlatinumCount,
|
||||
RenewalBlackGoldCount: list[i].RenewalBlackGoldCount,
|
||||
Date: list[i].Date,
|
||||
StoreId: list[i].StoreId,
|
||||
Store: list[i].Store,
|
||||
RenewalGoldCount: list[i].RenewalGoldCount,
|
||||
RenewalPlatinumCount: list[i].RenewalPlatinumCount,
|
||||
RenewalBlackGoldCount: list[i].RenewalBlackGoldCount,
|
||||
Date: list[i].Date,
|
||||
StoreId: list[i].StoreId,
|
||||
Store: list[i].Store,
|
||||
UpgradeGoldToPlatinumCount: list[i].UpgradeGoldToPlatinumCount,
|
||||
UpgradeGoldToBlackCount: list[i].UpgradeGoldToBlackCount,
|
||||
UpgradePlatinumToBlackCount: list[i].UpgradePlatinumToBlackCount,
|
||||
})
|
||||
}
|
||||
return promotions
|
||||
|
|
|
@ -3,8 +3,8 @@ package models
|
|||
import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"github.com/codinl/go-logger"
|
||||
orm "go-admin/common/global"
|
||||
"go-admin/logger"
|
||||
)
|
||||
|
||||
// gen:qs
|
||||
|
@ -29,12 +29,13 @@ type PayConfig struct {
|
|||
}
|
||||
|
||||
const (
|
||||
ConfigNamePay = "pay_config" // 支付配置
|
||||
ConfigNameMember = "member_config" // 会员配置
|
||||
ConfigNameMemberVm = "member_vm_config" // 会员积分配置
|
||||
ConfigNameAttendanceVm = "attendance_vm_config" // 签到积分配置
|
||||
ConfigActivityRenewal = "activity_renewal_config" // 活动配置
|
||||
ConfigRecycleCard = "recycle_card_config" // 回收卡配置
|
||||
ConfigNamePay = "pay_config" // 支付配置
|
||||
ConfigNameMember = "member_config" // 会员配置
|
||||
ConfigNameMemberVm = "member_vm_config" // 会员积分配置
|
||||
ConfigNameAttendanceVm = "attendance_vm_config" // 签到积分配置
|
||||
ConfigActivityRenewal = "activity_renewal_config" // 活动配置
|
||||
ConfigRecycleCard = "recycle_card_config" // 回收卡配置
|
||||
ConfigCooperativePayInfo = "cooperative_pay_info" // 合作商支付设置
|
||||
)
|
||||
|
||||
func PayConfigInfo() (*PayConfig, error) {
|
||||
|
@ -43,13 +44,13 @@ func PayConfigInfo() (*PayConfig, error) {
|
|||
err := orm.Eloquent.Table("config").Where("name=?", ConfigNamePay).Find(&configAllocation).Error
|
||||
//err := NewConfigQuerySet(DB).NameEq(ConfigNamePay).One(&configAllocation)
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return payConfig, err
|
||||
}
|
||||
|
||||
err = json.Unmarshal([]byte(configAllocation.Value), payConfig)
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return payConfig, err
|
||||
}
|
||||
|
||||
|
@ -69,13 +70,13 @@ func MemberConfigInfo() ([]MemberConfig, error) {
|
|||
err := orm.Eloquent.Table("config").Where("name=?", ConfigNameMember).Find(&configAllocation).Error
|
||||
//err := NewConfigQuerySet(DB).NameEq(ConfigNameMember).One(&configAllocation)
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return memberConfigs, err
|
||||
}
|
||||
|
||||
err = json.Unmarshal([]byte(configAllocation.Value), &memberConfigs)
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return memberConfigs, err
|
||||
}
|
||||
|
||||
|
@ -113,13 +114,13 @@ func memberVmConfigInfo() ([]MemberVmConfig, error) {
|
|||
err := orm.Eloquent.Table("config").Where("name=?", ConfigNameMemberVm).Find(&configAllocation).Error
|
||||
//err := NewConfigQuerySet(DB).NameEq(ConfigNameMemberVm).One(&configAllocation)
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return memberVmConfigs, err
|
||||
}
|
||||
|
||||
err = json.Unmarshal([]byte(configAllocation.Value), &memberVmConfigs)
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return memberVmConfigs, err
|
||||
}
|
||||
|
||||
|
@ -159,13 +160,13 @@ func AttendanceVmConfigInfo() (*AttendanceVmConfig, error) {
|
|||
err := orm.Eloquent.Table("config").Where("name=?", ConfigNameAttendanceVm).Find(&configAllocation).Error
|
||||
//err := NewConfigQuerySet(DB).NameEq(ConfigNameAttendanceVm).One(&configAllocation)
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return attendanceConfig, err
|
||||
}
|
||||
|
||||
err = json.Unmarshal([]byte(configAllocation.Value), attendanceConfig)
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return attendanceConfig, err
|
||||
}
|
||||
|
||||
|
@ -208,13 +209,13 @@ func ActivityRenewalConfigInfo() (ActivityRenewalConfig, error) {
|
|||
Where("name=?", ConfigActivityRenewal).Find(&configAllocation).Error
|
||||
//err := NewConfigQuerySet(DB).NameEq(ConfigActivityRenewal).One(&configAllocation)
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return activityRenewalConfig, err
|
||||
}
|
||||
|
||||
err = json.Unmarshal([]byte(configAllocation.Value), &activityRenewalConfig)
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return activityRenewalConfig, err
|
||||
}
|
||||
|
||||
|
@ -224,14 +225,14 @@ func ActivityRenewalConfigInfo() (ActivityRenewalConfig, error) {
|
|||
func ActivityRenewalConfigUpdate(activity ActivityRenewalConfig) (ActivityRenewalConfig, error) {
|
||||
bytes, err := json.Marshal(activity)
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return activity, err
|
||||
}
|
||||
|
||||
orm.Eloquent.Table("config").
|
||||
Where("name=?", ConfigActivityRenewal).Update("Value", string(bytes))
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return activity, err
|
||||
}
|
||||
|
||||
|
@ -241,7 +242,7 @@ func ActivityRenewalConfigUpdate(activity ActivityRenewalConfig) (ActivityRenewa
|
|||
func GetActivityRenewalConfig() ActivityRenewalConfig {
|
||||
info, err := ActivityRenewalConfigInfo()
|
||||
if err != nil {
|
||||
logger.Error("info err:", err)
|
||||
logger.Errorf("info err:", err)
|
||||
return info
|
||||
}
|
||||
return info
|
||||
|
@ -258,13 +259,13 @@ func RecycleCardConfigInfo() (RecycleCardConfig, error) {
|
|||
err := orm.Eloquent.Table("config").
|
||||
Where("name=?", ConfigRecycleCard).Find(&configAllocation).Error
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return recycleConfig, err
|
||||
}
|
||||
|
||||
err = json.Unmarshal([]byte(configAllocation.Value), &recycleConfig)
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return recycleConfig, err
|
||||
}
|
||||
|
||||
|
@ -274,16 +275,89 @@ func RecycleCardConfigInfo() (RecycleCardConfig, error) {
|
|||
func RecycleCardConfigUpdate(recycleConfig RecycleCardConfig) (RecycleCardConfig, error) {
|
||||
bytes, err := json.Marshal(recycleConfig)
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return recycleConfig, err
|
||||
}
|
||||
|
||||
orm.Eloquent.Table("config").
|
||||
Where("name=?", ConfigRecycleCard).Update("Value", string(bytes))
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return recycleConfig, err
|
||||
}
|
||||
|
||||
return recycleConfig, nil
|
||||
}
|
||||
|
||||
// CooperativePayInfo 支付信息
|
||||
type CooperativePayInfo struct {
|
||||
CooperativeBusinessId uint32 `json:"cooperative_business_id" binding:"required"` // 合作商id
|
||||
UnionPayMerchantId string `json:"union_pay_merchant_id" gorm:"index"` // 聚合支付平台商户号
|
||||
WxAppId string `json:"wx_app_id" gorm:"index"` // 微信小程序AppID
|
||||
WxAppMchId string `json:"wx_app_mchId" gorm:"index"` // 微信支付商户号
|
||||
WxAppMchSecret string `json:"wx_app_mchSecret" gorm:"index"` // 微信支付商户密钥
|
||||
}
|
||||
|
||||
func SetPayInfo(req *CooperativeSetPayInfoReq) error {
|
||||
payInfo := CooperativePayInfo{
|
||||
CooperativeBusinessId: req.CooperativeBusinessId,
|
||||
UnionPayMerchantId: req.UnionPayMerchantId,
|
||||
WxAppId: req.WxAppId,
|
||||
WxAppMchId: req.WxAppMchId,
|
||||
WxAppMchSecret: req.WxAppMchSecret,
|
||||
}
|
||||
|
||||
jPayInfo, err := json.Marshal(payInfo)
|
||||
if err != nil {
|
||||
logger.Errorf("CooperativePayInfo marshal err:", logger.Field("err", err))
|
||||
return err
|
||||
}
|
||||
|
||||
var configInfo Config
|
||||
err = orm.Eloquent.Table("config").Where("name=?", ConfigCooperativePayInfo).Find(&configInfo).Error
|
||||
if err != nil {
|
||||
logger.Error("query erp_order err:", logger.Field("err", err))
|
||||
return errors.New("操作失败:" + err.Error())
|
||||
}
|
||||
|
||||
if errors.Is(err, RecordNotFound) || configInfo.ID == 0 { // 没有记录则新增
|
||||
configInfo.Name = ConfigCooperativePayInfo
|
||||
configInfo.Value = string(jPayInfo)
|
||||
err = orm.Eloquent.Create(&configInfo).Error
|
||||
if err != nil {
|
||||
logger.Errorf("create CooperativePayInfo err:", logger.Field("err", err))
|
||||
return errors.New("保存失败:" + err.Error())
|
||||
}
|
||||
} else { // 有记录则更新
|
||||
var updateConfigInfo Config
|
||||
updateConfigInfo.ID = configInfo.ID
|
||||
updateConfigInfo.Name = ConfigCooperativePayInfo
|
||||
updateConfigInfo.Value = string(jPayInfo)
|
||||
|
||||
err = orm.Eloquent.Model(&Config{}).Where("id = ?", configInfo.ID).Updates(updateConfigInfo).Error
|
||||
if err != nil {
|
||||
logger.Error("update CooperativePayInfo err:", logger.Field("err", err))
|
||||
return errors.New("保存失败:" + err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func GetPayInfo() (*CooperativePayInfo, error) {
|
||||
payConfig := new(CooperativePayInfo)
|
||||
var configAllocation Config
|
||||
err := orm.Eloquent.Table("config").Where("name=?", ConfigCooperativePayInfo).Find(&configAllocation).Error
|
||||
if err != nil {
|
||||
logger.Errorf("err:", err)
|
||||
return payConfig, err
|
||||
}
|
||||
|
||||
err = json.Unmarshal([]byte(configAllocation.Value), payConfig)
|
||||
if err != nil {
|
||||
logger.Errorf("err:", err)
|
||||
return payConfig, err
|
||||
}
|
||||
|
||||
return payConfig, nil
|
||||
}
|
||||
|
|
|
@ -8,6 +8,7 @@ import (
|
|||
"go-admin/app/admin/apis/pay"
|
||||
orm "go-admin/common/global"
|
||||
"go-admin/logger"
|
||||
"go-admin/tools"
|
||||
"go-admin/tools/config"
|
||||
"gorm.io/gorm"
|
||||
"math/rand"
|
||||
|
@ -58,7 +59,7 @@ type ErpOrder struct {
|
|||
MakerTime time.Time `json:"maker_time"` // 制单时间
|
||||
AuditorId uint32 `json:"auditor_id" gorm:"index"` // 审核人id
|
||||
AuditorName string `json:"auditor_name"` // 审核人姓名
|
||||
AuditTime time.Time `json:"audit_time"` // 审核时间
|
||||
AuditTime *time.Time `json:"audit_time"` // 审核时间
|
||||
CashierList string `json:"cashier_list" gorm:"type:text"` // 付款方式,存储json数据
|
||||
SalesmanList string `json:"salesman_list" gorm:"type:text"` // 销售员信息,存储json数据
|
||||
MemberType string `json:"member_type"` // 会员类型:general 普通; member 会员
|
||||
|
@ -709,6 +710,25 @@ func UpdateStock(gdb *gorm.DB, erpOrder ErpOrder, state int) error {
|
|||
return errors.New("订单类型错误")
|
||||
}
|
||||
|
||||
// 更新用户积分
|
||||
var vmCount int
|
||||
var describe, event string
|
||||
if erpOrder.RetailType == RetailTypeSale && state == SoldOut { // 零售订单,而且订单已支付,更新用户积分
|
||||
describe = "零售销售获得积分"
|
||||
event = VmEventErpOrderSale
|
||||
vmCount = tools.RoundFloat64(erpOrder.TotalAmount)
|
||||
} else if erpOrder.RetailType == RetailTypeRejected { // 退货订单,扣减用户积分
|
||||
describe = "零售退货扣除积分"
|
||||
event = VmEventErpOrderReject
|
||||
vmCount = 0 - tools.RoundFloat64(erpOrder.TotalAmount)
|
||||
}
|
||||
|
||||
err = UserVmUpdate(gdb, uint32(erpOrder.Uid), vmCount, event, describe)
|
||||
if err != nil {
|
||||
logger.Errorf("err:", err)
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
@ -3224,7 +3224,7 @@ func MemberReportFile(memberReports []InviteMemberReport, fileName string) strin
|
|||
var row []interface{}
|
||||
for rowId := 0; rowId < len(memberReports); rowId++ {
|
||||
row = []interface{}{fmt.Sprintf("%d", memberReports[rowId].Store.ID), memberReports[rowId].Store.Name,
|
||||
fmt.Sprintf("%d", memberReports[rowId].UserInfo.Uid), memberReports[rowId].UserInfo.ShopAssistantName,
|
||||
fmt.Sprintf("%d", memberReports[rowId].User.Uid), memberReports[rowId].User.ShopAssistantName,
|
||||
fmt.Sprintf("%d", memberReports[rowId].GoldCount), fmt.Sprintf("%d", memberReports[rowId].PlatinumCount),
|
||||
fmt.Sprintf("%d", memberReports[rowId].BlackGoldCount)}
|
||||
|
||||
|
@ -3243,3 +3243,15 @@ func MemberReportFile(memberReports []InviteMemberReport, fileName string) strin
|
|||
|
||||
return ExportUrl + fileName
|
||||
}
|
||||
|
||||
type CooperativeSetPayInfoReq struct {
|
||||
CooperativeBusinessId uint32 `json:"cooperative_business_id"` // 合作商id
|
||||
UnionPayMerchantId string `json:"name" binding:"required"` // 聚合支付平台商户号
|
||||
WxAppId string `json:"wx_app_id"` // 微信小程序AppID
|
||||
WxAppMchId string `json:"wx_app_mchId" binding:"required"` // 微信支付商户号
|
||||
WxAppMchSecret string `json:"wx_app_mchSecret" binding:"required"` // 微信支付商户密钥
|
||||
}
|
||||
|
||||
type CooperativeGetPayInfoReq struct {
|
||||
CooperativeBusinessId uint32 `json:"cooperative_business_id"` // 合作商id
|
||||
}
|
||||
|
|
|
@ -4,10 +4,10 @@ import (
|
|||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"github.com/codinl/go-logger"
|
||||
"github.com/rs/zerolog/log"
|
||||
utils "go-admin/app/admin/models/tools"
|
||||
orm "go-admin/common/global"
|
||||
"go-admin/logger"
|
||||
"gorm.io/gorm"
|
||||
"sort"
|
||||
"strconv"
|
||||
|
@ -183,7 +183,7 @@ func CreateGoodsSerialNo() string {
|
|||
var count int64
|
||||
err := orm.Eloquent.Table("goods").Where("serial_no=?", serialNo).Count(&count).Error
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return ""
|
||||
}
|
||||
if count > 0 {
|
||||
|
@ -202,7 +202,7 @@ func CreateGoodsId() uint32 {
|
|||
var count int64
|
||||
err := orm.Eloquent.Table("goods").Where("goods_id=?", orderId).Count(&count).Error
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return 0
|
||||
}
|
||||
if count > 0 {
|
||||
|
@ -242,7 +242,7 @@ func (m *GoodsListReq) GoodsList() ([]Goods, int64, error) {
|
|||
var count int64
|
||||
err := qs.Count(&count).Error
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return nil, 0, err
|
||||
}
|
||||
//totalPage := int(count)/m.PageSize + 1
|
||||
|
@ -250,7 +250,7 @@ func (m *GoodsListReq) GoodsList() ([]Goods, int64, error) {
|
|||
//err = qs.Order("cat_sort DESC,sort DESC").Offset(page * m.PageSize).Limit(m.PageSize).Find(&goodsList).Error
|
||||
err = qs.Order("id DESC").Offset(page * m.PageSize).Limit(m.PageSize).Find(&goodsList).Error
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return nil, 0, err
|
||||
}
|
||||
GoodsListSetGoodsCat(goodsList)
|
||||
|
@ -267,7 +267,7 @@ func (m *GoodsDetailReq) GoodsDetail() (*Goods, error) {
|
|||
//err := NewGoodsQuerySet(DB).GoodsIdEq(m.GoodsId).One(&goods).GoodsIdEq(m.GoodsId).One(&goods)
|
||||
err := orm.Eloquent.Table("goods").Where("goods_id=?", m.GoodsId).Find(&goods).Error
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return nil, err
|
||||
}
|
||||
return &goods, nil
|
||||
|
@ -410,14 +410,14 @@ func (m *GoodsOrderListReq) OrderList() ([]GoodsOrder, int64, error) {
|
|||
var count int64
|
||||
err := qs.Count(&count).Error
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return nil, 0, err
|
||||
}
|
||||
//totalPage := int(count)/m.PageSize + 1
|
||||
|
||||
err = qs.Order("id DESC").Offset(page * m.PageSize).Limit(m.PageSize).Find(&list).Error
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return nil, 0, err
|
||||
}
|
||||
GoodsOrderListSetGoods(list)
|
||||
|
@ -439,7 +439,7 @@ func (m *GoodsOrderDetailReq) OrderDetail() (*GoodsOrder, error) {
|
|||
|
||||
err := qs.Find(&order).Error
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return nil, err
|
||||
}
|
||||
//orders := GoodsOrderListSetGoods([]GoodsOrder{order})
|
||||
|
@ -449,7 +449,7 @@ func (m *GoodsOrderDetailReq) OrderDetail() (*GoodsOrder, error) {
|
|||
//var goods Goods
|
||||
goods, err := GetGoods(order.GoodsId)
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return nil, err
|
||||
}
|
||||
var goodsAttribute GoodsAttribute
|
||||
|
@ -490,13 +490,13 @@ func (m *GoodsOrderDetailReq) OrderDetail() (*GoodsOrder, error) {
|
|||
var userAddress UserAddress
|
||||
err = orm.Eloquent.Table("user_address").Where("id=?", order.AddressId).Find(&userAddress).Error
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return nil, err
|
||||
}
|
||||
order.UserAddress = &userAddress
|
||||
err = order.SetDeliverStore()
|
||||
if err != nil {
|
||||
logger.Error(" err:", err)
|
||||
logger.Errorf(" err:", err)
|
||||
}
|
||||
return &order, nil
|
||||
}
|
||||
|
@ -506,7 +506,7 @@ func (m *Goods) GoodsCreate() error {
|
|||
m.GoodsId = CreateGoodsId()
|
||||
err := orm.Eloquent.Create(m).Error
|
||||
if err != nil {
|
||||
logger.Error("err:", err.Error())
|
||||
logger.Errorf("err:", err.Error())
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
|
@ -515,7 +515,7 @@ func (m *Goods) GoodsCreate() error {
|
|||
func (m *Goods) Edit() error {
|
||||
err := orm.Eloquent.Save(m).Error
|
||||
if err != nil {
|
||||
logger.Error("err:", err.Error())
|
||||
logger.Errorf("err:", err.Error())
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
|
@ -524,7 +524,7 @@ func (m *Goods) Edit() error {
|
|||
func (m *Goods) GetDetail() error {
|
||||
err := orm.Eloquent.Table("goods").Where("goods_id=?", m.GoodsId).Find(m).Error
|
||||
if err != nil {
|
||||
logger.Error("err:", err.Error())
|
||||
logger.Errorf("err:", err.Error())
|
||||
return err
|
||||
}
|
||||
var goodsAttributes []GoodsAttribute
|
||||
|
@ -566,7 +566,7 @@ func GetGoodsMapByIds(ids []uint32) map[uint32]Goods {
|
|||
err := orm.Eloquent.Table("goods").Where("goods_id IN (?)", ids).Find(&goodsList).Error
|
||||
//err := NewGoodsQuerySet(DB).GoodsIdIn(ids...).All(&goodsList)
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return goodsMap
|
||||
}
|
||||
for i, _ := range goodsList {
|
||||
|
@ -606,7 +606,7 @@ func (m *GoodsOrderDeliverReq) OrderDeliver() (*GoodsOrder, error) {
|
|||
var order GoodsOrder
|
||||
err := orm.Eloquent.Table("goods_order").Where("order_id=?", m.OrderId).Find(&order).Error
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return nil, err
|
||||
}
|
||||
if order.State != GoodsOrderStateOnDeliver {
|
||||
|
@ -625,7 +625,7 @@ func (m *GoodsOrderDeliverReq) OrderDeliver() (*GoodsOrder, error) {
|
|||
//"delivery_status": 2,
|
||||
}).Error
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return nil, err
|
||||
}
|
||||
order.DeliveryTrackingNo = m.DeliveryTrackingNo
|
||||
|
@ -643,7 +643,7 @@ func (m *GoodsOrderDeliverReq) OrderDeliver() (*GoodsOrder, error) {
|
|||
|
||||
goods, err := GetGoods(order.GoodsId)
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return nil, err
|
||||
}
|
||||
var goodsAttribute GoodsAttribute
|
||||
|
@ -678,7 +678,7 @@ func (m *GoodsOrderDeliverReq) OrderDeliver() (*GoodsOrder, error) {
|
|||
var userAddress UserAddress
|
||||
err = orm.Eloquent.Table("user_address").Where("id=?", order.AddressId).Find(&userAddress).Error
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return nil, err
|
||||
}
|
||||
order.UserAddress = &userAddress
|
||||
|
@ -689,12 +689,27 @@ func (m *GoodsOrderDeliverReq) OrderDeliver() (*GoodsOrder, error) {
|
|||
}
|
||||
|
||||
type MallUserVmRecordReq struct {
|
||||
PageIdx int `json:"pageIndex"`
|
||||
PageSize int `json:"pageSize"`
|
||||
Uid uint32 `json:"uid"`
|
||||
PageIdx int `json:"pageIndex"`
|
||||
PageSize int `json:"pageSize"`
|
||||
Uid uint32 `json:"uid"` // 用户ID
|
||||
Tel string `json:"tel"` // 用户手机号
|
||||
StartTime string `json:"start_time"` // 开始时间,示例:2006-01-02T15:04:05+08:00
|
||||
EndTime string `json:"end_time"` // 结束时间,示例:2006-01-02T15:04:05+08:00
|
||||
}
|
||||
|
||||
func (m *MallUserVmRecordReq) MallUserVmRecordList() ([]UserVmRecord, int64, error) {
|
||||
type MallUserVmRecordResp struct {
|
||||
Count int64 `json:"count"`
|
||||
List []MallUserVmRecordData `json:"list"`
|
||||
PageIndex int `json:"page_index"`
|
||||
PageSize int `json:"page_size"`
|
||||
}
|
||||
|
||||
type MallUserVmRecordData struct {
|
||||
UserVmRecord
|
||||
Tel string `json:"tel"` // 用户手机号
|
||||
}
|
||||
|
||||
func (m *MallUserVmRecordReq) MallUserVmRecordList() ([]MallUserVmRecordData, int64, error) {
|
||||
page := m.PageIdx - 1
|
||||
if page < 0 {
|
||||
page = 0
|
||||
|
@ -703,29 +718,83 @@ func (m *MallUserVmRecordReq) MallUserVmRecordList() ([]UserVmRecord, int64, err
|
|||
m.PageSize = 10
|
||||
}
|
||||
|
||||
var list []UserVmRecord
|
||||
qs := orm.Eloquent.Table("user_vm_record") // NewGoodsOrderQuerySet(DB)
|
||||
var list []MallUserVmRecordData
|
||||
qs := orm.Eloquent.Table("user_vm_record")
|
||||
countQuery := orm.Eloquent.Table("user_vm_record").
|
||||
Joins("LEFT JOIN user ON user_vm_record.uid = user.uid")
|
||||
|
||||
if m.Uid != 0 {
|
||||
qs = qs.Where("uid=?", m.Uid)
|
||||
qs = qs.Where("user_vm_record.uid=?", m.Uid)
|
||||
countQuery = countQuery.Where("user_vm_record.uid=?", m.Uid)
|
||||
}
|
||||
if m.Tel != "" {
|
||||
qs = qs.Where("user.tel=?", m.Tel)
|
||||
countQuery = countQuery.Where("user.tel=?", m.Tel)
|
||||
}
|
||||
if m.StartTime != "" {
|
||||
startTime, err := time.Parse(QueryTimeFormat, m.StartTime)
|
||||
if err == nil {
|
||||
qs = qs.Where("user_vm_record.created_at>?", startTime)
|
||||
countQuery = countQuery.Where("user_vm_record.created_at>?", startTime)
|
||||
} else {
|
||||
logger.Errorf("MallUserVmRecordList time start parse err:", err.Error())
|
||||
}
|
||||
}
|
||||
if m.EndTime != "" {
|
||||
endTime, err := time.Parse(QueryTimeFormat, m.EndTime)
|
||||
if err == nil {
|
||||
qs = qs.Where("user_vm_record.created_at<?", endTime)
|
||||
countQuery = countQuery.Where("user_vm_record.created_at<?", endTime)
|
||||
} else {
|
||||
logger.Errorf("MallUserVmRecordList time end parse err:", err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
qs = qs.Select("user_vm_record.*, user.tel").
|
||||
Joins("Left JOIN user ON user_vm_record.uid = user.uid")
|
||||
err := qs.Offset(page * m.PageSize).Limit(m.PageSize).Find(&list).Error
|
||||
if err != nil {
|
||||
logger.Errorf("err:", err)
|
||||
return nil, 0, err
|
||||
}
|
||||
|
||||
// 计算count
|
||||
var count int64
|
||||
err := qs.Count(&count).Error
|
||||
err = countQuery.Count(&count).Error
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return nil, 0, err
|
||||
}
|
||||
//totalPage := int(count)/m.PageSize + 1
|
||||
|
||||
err = qs.Order("id DESC").Offset(page * m.PageSize).Limit(m.PageSize).Find(&list).Error
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
return nil, 0, err
|
||||
}
|
||||
return list, count, nil
|
||||
}
|
||||
|
||||
func MallUserVmRecordListSetUser(list []UserVmRecord) []UserVmRecord {
|
||||
ids := make([]uint32, 0, len(list))
|
||||
for i, _ := range list {
|
||||
ids = append(ids, list[i].Uid)
|
||||
}
|
||||
if len(ids) == 0 {
|
||||
return list
|
||||
}
|
||||
|
||||
infoMap, err := GetUserInfoMap(ids)
|
||||
if err != nil {
|
||||
logger.Errorf("user info map err:", logger.Field("err", err))
|
||||
return list
|
||||
}
|
||||
|
||||
for i, _ := range list {
|
||||
v, ok := infoMap[list[i].Uid]
|
||||
if ok {
|
||||
list[i].User = &v
|
||||
}
|
||||
fmt.Println("UserInfo:", v)
|
||||
}
|
||||
|
||||
return list
|
||||
}
|
||||
|
||||
//func (c *GoodsCat) Add() error {
|
||||
// err := orm.Eloquent.Create(c).Error
|
||||
//}
|
||||
|
@ -737,7 +806,7 @@ func SpecListSetValue(list []Spec) []Spec {
|
|||
}
|
||||
specValueMap, err := GetSpecValueMap(sids)
|
||||
if err != nil {
|
||||
logger.Error("get spec value map err:", err)
|
||||
logger.Errorf("get spec value map err:", err)
|
||||
return list
|
||||
}
|
||||
for i, _ := range list {
|
||||
|
@ -759,7 +828,7 @@ func GetSpecValueMap(ids []uint32) (map[uint32][]SpecValue, error) {
|
|||
err := orm.Eloquent.Table("spec_value").Where("spec_id in (?)", ids).
|
||||
Order("spec_id DESC,sort DESC").Find(&specValues).Error
|
||||
if err != nil {
|
||||
logger.Error("create spec value list err:", err)
|
||||
logger.Errorf("create spec value list err:", err)
|
||||
return specValueMap, err
|
||||
}
|
||||
for i, _ := range specValues {
|
||||
|
@ -777,7 +846,7 @@ func (a *GoodsAttribute) SetSpecValues() {
|
|||
err := orm.Eloquent.Table("spec_value").Where(fmt.Sprintf("id in (%s)", a.SpecValueIndex)).
|
||||
Find(&a.SpecValues).Error
|
||||
if err != nil {
|
||||
logger.Error("set spec value list err:", err)
|
||||
logger.Errorf("set spec value list err:", err)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
@ -786,7 +855,7 @@ func GetGoods(id uint32) (Goods, error) {
|
|||
var goods Goods
|
||||
err := orm.Eloquent.Table("goods").Where("goods_id=?", id).Find(&goods).Error
|
||||
if err != nil {
|
||||
logger.Error("goods err:", err)
|
||||
logger.Errorf("goods err:", err)
|
||||
return goods, err
|
||||
}
|
||||
return goods, nil
|
||||
|
@ -798,7 +867,7 @@ func IndexSortString(n string) (string, error) {
|
|||
for i, _ := range numStrings {
|
||||
num, err := strconv.Atoi(numStrings[i])
|
||||
if err != nil {
|
||||
logger.Error("num err:", err)
|
||||
logger.Errorf("num err:", err)
|
||||
return "", err
|
||||
}
|
||||
nums = append(nums, num)
|
||||
|
@ -1082,17 +1151,17 @@ func (r *GoodsOrderRefundSendReceiveReq) Receive() error {
|
|||
}
|
||||
//combo, err := GetCombo(goodsOrder.GoodsAttributeComboId)
|
||||
//if err != nil {
|
||||
// logger.Error("get err:",)
|
||||
// logger.Errorf("get err:",)
|
||||
//}
|
||||
if goodsOrder.State == GoodsOrderStateRefundedCancel {
|
||||
logger.Error("state err")
|
||||
logger.Errorf("state err")
|
||||
return errors.New("state err")
|
||||
}
|
||||
|
||||
if goodsOrder.Vm != 0 {
|
||||
err = UserVmUpdate(goodsOrder.Uid, int(goodsOrder.Vm), VmEventBuyGoods, "购买商品积分抵扣取消")
|
||||
err = UserVmUpdate(nil, goodsOrder.Uid, int(goodsOrder.Vm), VmEventBuyGoods, "购买商品积分抵扣取消")
|
||||
if err != nil {
|
||||
logger.Error("update user vm err:", err)
|
||||
logger.Errorf("update user vm err:", err)
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
@ -1157,7 +1226,7 @@ func GetWxPayExpressFeeRefundRecord(orderId uint32) (string, error) {
|
|||
err := orm.Eloquent.Table("user_open_member_record").Where("order_id=?", orderId).
|
||||
Order("id DESC").Limit(1).Find(&openMemberRecord).Error
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return "", err
|
||||
}
|
||||
return openMemberRecord.OpenNo, nil
|
||||
|
@ -1171,7 +1240,7 @@ func OrderUpdateGoodsStockBack(attributeId, count uint32, gdb *gorm.DB) error {
|
|||
count, count, attributeId)
|
||||
err := gdb.Exec(sql).Error
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
|
@ -1252,14 +1321,14 @@ func (m *DeliverTaskReq) List() ([]DeliverTask, int64, error) {
|
|||
var count int64
|
||||
err := qs.Count(&count).Error
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return nil, 0, err
|
||||
}
|
||||
//totalPage := int(count)/m.PageSize + 1
|
||||
|
||||
err = qs.Order("id DESC").Offset(page * m.PageSize).Limit(m.PageSize).Find(&list).Error
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return nil, 0, err
|
||||
}
|
||||
DeliverTaskListSetUserAddress(list)
|
||||
|
@ -1334,7 +1403,7 @@ func DeliverTaskSubListSetDetail(list []*DeliverTaskSub) {
|
|||
var orderCards []OrderCard
|
||||
err = orm.Eloquent.Table("order_card").Where("order_id=?", order.ID).Find(&orderCards).Error
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
logger.Errorf("err:", err)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -1378,7 +1447,7 @@ func UpdateDeliverTaskSubState(orderId uint32) {
|
|||
fmt.Sprintf("SELECT * FROM deliver_task_sub WHERE deliver_task_id=%d AND state='%s'",
|
||||
sub.DeliverTaskId, DeliverTaskStateOnDeliver))
|
||||
if err != nil {
|
||||
logger.Error("deliver task sub exist err:", err)
|
||||
logger.Errorf("deliver task sub exist err:", err)
|
||||
return
|
||||
}
|
||||
if !exist {
|
||||
|
@ -1394,7 +1463,7 @@ func UpdateDeliverTaskSubState(orderId uint32) {
|
|||
func (o *GoodsOrder) SetDeliverStore() error {
|
||||
store, err := GetStore(o.DeliverStoreId)
|
||||
if err != nil {
|
||||
logger.Error("set deliver store err:", err)
|
||||
logger.Errorf("set deliver store err:", err)
|
||||
return err
|
||||
}
|
||||
o.DeliverStore = store
|
||||
|
@ -1418,7 +1487,7 @@ GROUP BY b.goods_id
|
|||
Scan(&list).
|
||||
Error
|
||||
if err != nil {
|
||||
logger.Error("get goods first sku failed", err)
|
||||
logger.Errorf("get goods first sku failed", err)
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
@ -993,7 +993,7 @@ func ShareCardUserVmRecord() {
|
|||
shareCardDateVm.TotalVm += shareCardDateVm.Vm
|
||||
//fmt.Println("shareCardDateVm:", shareCardDateVm)
|
||||
|
||||
err = UserVmUpdate(shareCardDateVm.Uid, int(shareCardDateVm.Vm), VmEventUserShareCard, "用户共享卡收益")
|
||||
err = UserVmUpdate(nil, shareCardDateVm.Uid, int(shareCardDateVm.Vm), VmEventUserShareCard, "用户共享卡收益")
|
||||
//err = UserVmUpdate(shareCardDateVm.Uid, int(shareCardDateVm.TotalVm), VmEventUserShareCard, "用户共享卡收益")
|
||||
if err != nil {
|
||||
logger.Error("user vm update err:", logger.Field("err", err))
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -5,15 +5,18 @@ import (
|
|||
"fmt"
|
||||
orm "go-admin/common/global"
|
||||
"go-admin/logger"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
const (
|
||||
VmEventBuyGoods = "buy_goods"
|
||||
VmEventOpenMember = "open_member"
|
||||
VmEventInvite1Member = "invite_1_member"
|
||||
VmEventInvite2Member = "invite_2_member"
|
||||
VmEventUserShareCard = "user_share_card"
|
||||
VmEventAttendance = "attendance"
|
||||
VmEventBuyGoods = "buy_goods" // 购买商品积分抵扣
|
||||
VmEventOpenMember = "open_member" // 开通会员奖励
|
||||
VmEventInvite1Member = "invite_1_member" // 邀请会员奖励
|
||||
VmEventInvite2Member = "invite_2_member" // 邀请会员奖励
|
||||
VmEventUserShareCard = "user_share_card" // 用户共享卡收益
|
||||
VmEventAttendance = "attendance" // 连续签到获取积分
|
||||
VmEventErpOrderSale = "erp_order_sale" // 零售销售获得积分
|
||||
VmEventErpOrderReject = "erp_order_reject" // 零售退货扣除积分
|
||||
)
|
||||
|
||||
// 用户积分
|
||||
|
@ -34,15 +37,16 @@ type UserVm struct {
|
|||
type UserVmRecord struct {
|
||||
Model
|
||||
|
||||
Uid uint32 `json:"uid" gorm:"column:uid;unique_index"`
|
||||
BeforeVm uint32 `json:"before_vm"` // 变动前
|
||||
AfterVm uint32 `json:"after_vm"` // 变动后
|
||||
Alter int `json:"alter"` // 数值
|
||||
Event string `json:"event" gorm:"type:varchar(100)"` // 事件
|
||||
Describe string `json:"describe" gorm:"type:text"` // 描述
|
||||
Uid uint32 `json:"uid" gorm:"column:uid;unique_index"` // 用户ID
|
||||
BeforeVm uint32 `json:"before_vm"` // 变动前
|
||||
AfterVm uint32 `json:"after_vm"` // 变动后
|
||||
Alter int `json:"alter"` // 数值
|
||||
Event string `json:"event" gorm:"type:varchar(100)"` // 事件
|
||||
Describe string `json:"describe" gorm:"type:text"` // 描述
|
||||
User *UserInfo `json:"user,omitempty" gorm:"-"`
|
||||
}
|
||||
|
||||
func UserVmUpdate(uid uint32, amount int, event, describe string) error {
|
||||
func UserVmUpdate(gdb *gorm.DB, uid uint32, amount int, event, describe string) error {
|
||||
var userVm UserVm
|
||||
err := orm.Eloquent.Table("user_vm").
|
||||
Where("uid=?", uid).Find(&userVm).Error
|
||||
|
@ -51,7 +55,13 @@ func UserVmUpdate(uid uint32, amount int, event, describe string) error {
|
|||
return err
|
||||
}
|
||||
|
||||
begin := orm.Eloquent.Begin()
|
||||
flag := false
|
||||
begin := gdb
|
||||
if gdb == nil {
|
||||
flag = true
|
||||
begin = orm.Eloquent.Begin()
|
||||
}
|
||||
|
||||
if err == RecordNotFound {
|
||||
if amount < 0 {
|
||||
begin.Rollback()
|
||||
|
@ -93,11 +103,14 @@ func UserVmUpdate(uid uint32, amount int, event, describe string) error {
|
|||
return err
|
||||
}
|
||||
|
||||
err = begin.Commit().Error
|
||||
if err != nil {
|
||||
begin.Rollback()
|
||||
logger.Error("err:", logger.Field("err", err))
|
||||
return err
|
||||
if flag {
|
||||
err = begin.Commit().Error
|
||||
if err != nil {
|
||||
begin.Rollback()
|
||||
logger.Error("err:", logger.Field("err", err))
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -14,6 +14,7 @@ func registerCooperativeManageRouter(v1 *gin.RouterGroup, authMiddleware *jwt.Gi
|
|||
{
|
||||
cooperativeBusiness.POST("list", cooperativemanage.CooperativeBusinessList) // 获取合作商列表
|
||||
cooperativeBusiness.POST("add", cooperativemanage.CooperativeAdd) // 获取合作商
|
||||
cooperativeBusiness.POST("edit", cooperativemanage.CooperativeEdit) // 编辑供应商
|
||||
cooperativeBusiness.POST("member_promotion/list", cooperativemanage.CooperativeMemberPromotionList) // 合作商推广会员列表
|
||||
cooperativeBusiness.POST("member_promotion_store/list", cooperativemanage.CooperativeMemberPromotionStoreList) // 合作商推广会员门店列表
|
||||
cooperativeBusiness.POST("member_promotion_day/list", cooperativemanage.CooperativeMemberPromotionDayList) // 合作商每天推广会员列表
|
||||
|
@ -35,6 +36,8 @@ func registerCooperativeManageRouter(v1 *gin.RouterGroup, authMiddleware *jwt.Gi
|
|||
cooperativeBusiness.POST("cannibalize_task_list", cooperativemanage.CooperativeCannibalizeTaskList) // 合作商调拨任务列表
|
||||
cooperativeBusiness.POST("stock_export", cooperativemanage.CooperativeStockExport) // 合作商库存导出
|
||||
cooperativeBusiness.POST("member_promotion_export", cooperativemanage.CooperativeMemberPromotionExport) // 合作商推广会员导出
|
||||
cooperativeBusiness.POST("set_pay_info", cooperativemanage.CooperativeSetPayInfo) // 设置支付信息
|
||||
cooperativeBusiness.POST("get_pay_info", cooperativemanage.CooperativeGetPayInfo) // 获取支付信息
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ func registerMallManageRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMid
|
|||
goods.POST("goods/order/detail", mallmanage.GoodsOrderDetail) // 详情
|
||||
goods.POST("goods/order/deliver", mallmanage.GoodsOrderDeliver) // 发货
|
||||
goods.POST("goods/order/refund_send_receive", mallmanage.GoodsOrderRefundSendReceive) // 退货接收
|
||||
goods.POST("goods/user/vm_record", mallmanage.MallUserVmRecord)
|
||||
goods.POST("goods/user/vm_record", mallmanage.MallUserVmRecord) // 用户积分记录
|
||||
|
||||
goods.POST("goods/attribute_add", mallmanage.GoodsAttributeAdd) // 添加规格
|
||||
goods.POST("goods/attribute_m_del", mallmanage.GoodsAttributeMDel) // 删除规格
|
||||
|
|
|
@ -37,6 +37,7 @@ func registerUserManageUnAuthRouter(v1 *gin.RouterGroup) {
|
|||
userInfo.POST("/member_record_list_export", usermanage.UserMemberRecordListExport)
|
||||
userInfo.POST("/member_statistic_list", usermanage.UserMemberStatisticList)
|
||||
userInfo.POST("/user_invite_record_list", usermanage.UserInviteRecordList)
|
||||
userInfo.POST("/new_user_invite_record_list", usermanage.NewUserInviteRecordList)
|
||||
|
||||
userInfo.POST("/expire_member_sms_list", usermanage.ExpireMemberSmsSendRecordList)
|
||||
|
||||
|
|
1058
docs/docs.go
1058
docs/docs.go
File diff suppressed because it is too large
Load Diff
1058
docs/swagger.json
1058
docs/swagger.json
File diff suppressed because it is too large
Load Diff
|
@ -417,6 +417,37 @@ definitions:
|
|||
required:
|
||||
- id
|
||||
type: object
|
||||
models.AssistantInviteMemberReportListResp:
|
||||
properties:
|
||||
count:
|
||||
type: integer
|
||||
cur_page:
|
||||
type: integer
|
||||
list:
|
||||
items:
|
||||
$ref: '#/definitions/models.InviteMemberReport'
|
||||
type: array
|
||||
type: object
|
||||
models.AssistantInviteMemberReportReq:
|
||||
properties:
|
||||
cooperative_business_id:
|
||||
description: 合作商id
|
||||
type: integer
|
||||
date:
|
||||
description: 日期
|
||||
type: string
|
||||
pageIndex:
|
||||
description: 页码
|
||||
type: integer
|
||||
pageSize:
|
||||
description: 每页数量
|
||||
type: integer
|
||||
store_id:
|
||||
description: 门店id
|
||||
type: integer
|
||||
sys_user:
|
||||
$ref: '#/definitions/models.SysUser'
|
||||
type: object
|
||||
models.BatchPrintInfo:
|
||||
properties:
|
||||
erp_commodity_name:
|
||||
|
@ -610,6 +641,238 @@ definitions:
|
|||
store_id:
|
||||
type: integer
|
||||
type: object
|
||||
models.CooperativeBusiness:
|
||||
properties:
|
||||
add_time:
|
||||
description: 加入时间
|
||||
type: string
|
||||
address:
|
||||
description: 地址
|
||||
type: string
|
||||
avatar:
|
||||
description: logo
|
||||
type: string
|
||||
cooperative_assistant_member_deduct:
|
||||
$ref: '#/definitions/models.CooperativeAssistantMemberDeduct'
|
||||
cooperative_member_deduct:
|
||||
$ref: '#/definitions/models.CooperativeMemberDeduct'
|
||||
createdAt:
|
||||
description: 创建时间
|
||||
type: string
|
||||
id:
|
||||
description: 数据库记录编号
|
||||
type: integer
|
||||
name:
|
||||
description: 供应商名称
|
||||
type: string
|
||||
password:
|
||||
description: 密码
|
||||
type: string
|
||||
tel:
|
||||
description: 电话
|
||||
type: string
|
||||
username:
|
||||
description: 用户名
|
||||
type: string
|
||||
required:
|
||||
- avatar
|
||||
- name
|
||||
- password
|
||||
- tel
|
||||
- username
|
||||
type: object
|
||||
models.CooperativeBusinessListReq:
|
||||
properties:
|
||||
end_time:
|
||||
description: 结束时间
|
||||
type: string
|
||||
pageIndex:
|
||||
type: integer
|
||||
pageSize:
|
||||
type: integer
|
||||
start_time:
|
||||
description: 开始时间
|
||||
type: string
|
||||
type: object
|
||||
models.CooperativeBusinessListResp:
|
||||
properties:
|
||||
count:
|
||||
type: integer
|
||||
list:
|
||||
items:
|
||||
$ref: '#/definitions/models.CooperativeBusiness'
|
||||
type: array
|
||||
pageIndex:
|
||||
type: integer
|
||||
total_page:
|
||||
type: integer
|
||||
type: object
|
||||
models.CooperativeMemberDeduct:
|
||||
properties:
|
||||
black_gold_deduct:
|
||||
description: 黑金金会员提成
|
||||
type: integer
|
||||
cooperative_business_id:
|
||||
type: integer
|
||||
createdAt:
|
||||
description: 创建时间
|
||||
type: string
|
||||
gold_deduct:
|
||||
description: 黄金会员提成
|
||||
type: integer
|
||||
id:
|
||||
description: 数据库记录编号
|
||||
type: integer
|
||||
platinum_deduct:
|
||||
description: 白金会员提成
|
||||
type: integer
|
||||
renewal_black_gold_deduct:
|
||||
description: 续费黑金金会员提成
|
||||
type: integer
|
||||
renewal_gold_deduct:
|
||||
description: 续费黄金会员提成
|
||||
type: integer
|
||||
renewal_platinum_deduct:
|
||||
description: 续费白金会员提成
|
||||
type: integer
|
||||
required:
|
||||
- black_gold_deduct
|
||||
- gold_deduct
|
||||
- platinum_deduct
|
||||
- renewal_black_gold_deduct
|
||||
- renewal_gold_deduct
|
||||
- renewal_platinum_deduct
|
||||
type: object
|
||||
models.CooperativeMemberPromotionStatistic:
|
||||
properties:
|
||||
black_gold_count:
|
||||
description: 黑金会员数量
|
||||
type: integer
|
||||
cooperative_business_id:
|
||||
type: integer
|
||||
cooperative_name:
|
||||
description: 合作商名称
|
||||
type: string
|
||||
createdAt:
|
||||
description: 创建时间
|
||||
type: string
|
||||
date:
|
||||
type: string
|
||||
day_time:
|
||||
type: string
|
||||
gold_count:
|
||||
description: 黄金会员数量
|
||||
type: integer
|
||||
id:
|
||||
description: 数据库记录编号
|
||||
type: integer
|
||||
platinum_count:
|
||||
description: 白金会员数量
|
||||
type: integer
|
||||
renewal_black_gold_count:
|
||||
description: 续费黑金会员数量
|
||||
type: integer
|
||||
renewal_gold_count:
|
||||
description: 续费黄金会员数量
|
||||
type: integer
|
||||
renewal_platinum_count:
|
||||
description: 续费白金会员数量
|
||||
type: integer
|
||||
store:
|
||||
$ref: '#/definitions/models.Store'
|
||||
store_id:
|
||||
description: 门店id
|
||||
type: integer
|
||||
upgrade_gold_to_black_count:
|
||||
description: 升级:黄金->黑金数量
|
||||
type: integer
|
||||
upgrade_gold_to_platinum_count:
|
||||
description: 升级:黄金->白金数量
|
||||
type: integer
|
||||
upgrade_platinum_to_black_count:
|
||||
description: 升级:白金->黑金数量
|
||||
type: integer
|
||||
type: object
|
||||
models.CooperativeMemberPromotionStatisticListResp:
|
||||
properties:
|
||||
count:
|
||||
type: integer
|
||||
list:
|
||||
items:
|
||||
$ref: '#/definitions/models.CooperativeMemberPromotionStatistic'
|
||||
type: array
|
||||
pageIndex:
|
||||
type: integer
|
||||
type: object
|
||||
models.CooperativeMemberPromotionStatisticReq:
|
||||
properties:
|
||||
cooperative_business_id:
|
||||
description: 合作商id
|
||||
type: integer
|
||||
end_date:
|
||||
description: 结束月份
|
||||
type: string
|
||||
is_export:
|
||||
description: 1-导出
|
||||
type: integer
|
||||
pageIndex:
|
||||
description: 页码
|
||||
type: integer
|
||||
pageSize:
|
||||
description: 每页条数
|
||||
type: integer
|
||||
start_date:
|
||||
description: 开始月份
|
||||
type: string
|
||||
store_id:
|
||||
description: 门店ID
|
||||
type: integer
|
||||
type:
|
||||
description: 1-按天展示 2-按月展示
|
||||
type: integer
|
||||
type: object
|
||||
models.CooperativePayInfo:
|
||||
properties:
|
||||
cooperative_business_id:
|
||||
description: 合作商id
|
||||
type: integer
|
||||
union_pay_merchant_id:
|
||||
description: 聚合支付平台商户号
|
||||
type: string
|
||||
wx_app_id:
|
||||
description: 微信小程序AppID
|
||||
type: string
|
||||
wx_app_mchId:
|
||||
description: 微信支付商户号
|
||||
type: string
|
||||
wx_app_mchSecret:
|
||||
description: 微信支付商户密钥
|
||||
type: string
|
||||
required:
|
||||
- cooperative_business_id
|
||||
type: object
|
||||
models.CooperativeSetPayInfoReq:
|
||||
properties:
|
||||
cooperative_business_id:
|
||||
description: 合作商id
|
||||
type: integer
|
||||
name:
|
||||
description: 聚合支付平台商户号
|
||||
type: string
|
||||
wx_app_id:
|
||||
description: 微信小程序AppID
|
||||
type: string
|
||||
wx_app_mchId:
|
||||
description: 微信支付商户号
|
||||
type: string
|
||||
wx_app_mchSecret:
|
||||
description: 微信支付商户密钥
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
- wx_app_mchId
|
||||
- wx_app_mchSecret
|
||||
type: object
|
||||
models.DictType:
|
||||
properties:
|
||||
createBy:
|
||||
|
@ -1939,6 +2202,96 @@ definitions:
|
|||
description: 用户名
|
||||
type: string
|
||||
type: object
|
||||
models.InviteMemberReport:
|
||||
properties:
|
||||
black_gold_count:
|
||||
description: 黑金数量
|
||||
type: integer
|
||||
black_gold_deduct:
|
||||
description: 黑金会员提成
|
||||
type: integer
|
||||
cooperative_business_id:
|
||||
description: 合作商id
|
||||
type: integer
|
||||
cooperative_name:
|
||||
description: 合作商名称
|
||||
type: string
|
||||
createdAt:
|
||||
description: 创建时间
|
||||
type: string
|
||||
date:
|
||||
description: ReportTime string `json:"report_time" gorm:"index"` //
|
||||
业绩时间
|
||||
type: string
|
||||
deduct_amount:
|
||||
description: 店员提成
|
||||
type: integer
|
||||
gold_count:
|
||||
description: 黄金数量
|
||||
type: integer
|
||||
gold_deduct:
|
||||
description: 黄金会员提成
|
||||
type: integer
|
||||
id:
|
||||
description: 数据库记录编号
|
||||
type: integer
|
||||
invite_renewal_black_gold_count:
|
||||
description: 续费黑金会员数量(干预)
|
||||
type: integer
|
||||
invite_renewal_gold_count:
|
||||
description: 续费黄金会员数量(干预)
|
||||
type: integer
|
||||
invite_renewal_platinum_count:
|
||||
description: 续费白金会员数量(干预)
|
||||
type: integer
|
||||
invite_upgrade_gold_to_black_count:
|
||||
description: 升级:黄金->黑金数量(干预)
|
||||
type: integer
|
||||
invite_upgrade_gold_to_platinum_count:
|
||||
description: 升级:黄金->白金数量(干预)
|
||||
type: integer
|
||||
invite_upgrade_platinum_to_black_count:
|
||||
description: 升级:白金->黑金数量(干预)
|
||||
type: integer
|
||||
platinum_count:
|
||||
description: 白金数量
|
||||
type: integer
|
||||
platinum_deduct:
|
||||
description: 白金会员提成
|
||||
type: integer
|
||||
renewal_black_gold_count:
|
||||
description: 续费黑金会员数量(自动)
|
||||
type: integer
|
||||
renewal_gold_count:
|
||||
description: 续费黄金会员数量(自动)
|
||||
type: integer
|
||||
renewal_platinum_count:
|
||||
description: 续费白金会员数量(自动)
|
||||
type: integer
|
||||
store:
|
||||
allOf:
|
||||
- $ref: '#/definitions/models.Store'
|
||||
description: 门店
|
||||
store_id:
|
||||
description: 门店id
|
||||
type: integer
|
||||
uid:
|
||||
description: 店员uid
|
||||
type: integer
|
||||
upgrade_gold_to_black_count:
|
||||
description: 升级:黄金->黑金数量(自动)
|
||||
type: integer
|
||||
upgrade_gold_to_platinum_count:
|
||||
description: 升级:黄金->白金数量(自动)
|
||||
type: integer
|
||||
upgrade_platinum_to_black_count:
|
||||
description: 升级:白金->黑金数量(自动)
|
||||
type: integer
|
||||
user:
|
||||
allOf:
|
||||
- $ref: '#/definitions/models.UserInfo'
|
||||
description: invite_member_report
|
||||
type: object
|
||||
models.Login:
|
||||
properties:
|
||||
code:
|
||||
|
@ -2016,6 +2369,70 @@ definitions:
|
|||
description: 用户名
|
||||
type: string
|
||||
type: object
|
||||
models.MallUserVmRecordData:
|
||||
properties:
|
||||
after_vm:
|
||||
description: 变动后
|
||||
type: integer
|
||||
alter:
|
||||
description: 数值
|
||||
type: integer
|
||||
before_vm:
|
||||
description: 变动前
|
||||
type: integer
|
||||
createdAt:
|
||||
description: 创建时间
|
||||
type: string
|
||||
describe:
|
||||
description: 描述
|
||||
type: string
|
||||
event:
|
||||
description: 事件
|
||||
type: string
|
||||
id:
|
||||
description: 数据库记录编号
|
||||
type: integer
|
||||
tel:
|
||||
description: 用户手机号
|
||||
type: string
|
||||
uid:
|
||||
description: 用户ID
|
||||
type: integer
|
||||
user:
|
||||
$ref: '#/definitions/models.UserInfo'
|
||||
type: object
|
||||
models.MallUserVmRecordReq:
|
||||
properties:
|
||||
end_time:
|
||||
description: 结束时间,示例:2006-01-02T15:04:05+08:00
|
||||
type: string
|
||||
pageIndex:
|
||||
type: integer
|
||||
pageSize:
|
||||
type: integer
|
||||
start_time:
|
||||
description: 开始时间,示例:2006-01-02T15:04:05+08:00
|
||||
type: string
|
||||
tel:
|
||||
description: 用户手机号
|
||||
type: string
|
||||
uid:
|
||||
description: 用户ID
|
||||
type: integer
|
||||
type: object
|
||||
models.MallUserVmRecordResp:
|
||||
properties:
|
||||
count:
|
||||
type: integer
|
||||
list:
|
||||
items:
|
||||
$ref: '#/definitions/models.MallUserVmRecordData'
|
||||
type: array
|
||||
page_index:
|
||||
type: integer
|
||||
page_size:
|
||||
type: integer
|
||||
type: object
|
||||
models.Menu:
|
||||
properties:
|
||||
action:
|
||||
|
@ -2076,6 +2493,50 @@ definitions:
|
|||
visible:
|
||||
type: string
|
||||
type: object
|
||||
models.NewUserInviteRecordReq:
|
||||
properties:
|
||||
create_end_time:
|
||||
description: 注册小程序时间-结束时间
|
||||
type: string
|
||||
create_start_time:
|
||||
description: 注册小程序时间-开始时间
|
||||
type: string
|
||||
from_uid:
|
||||
description: 邀请人ID
|
||||
type: integer
|
||||
invite_user_name:
|
||||
description: 邀请人昵称
|
||||
type: string
|
||||
is_export:
|
||||
description: 1-导出
|
||||
type: integer
|
||||
member_level:
|
||||
description: 当前类型:1-普通 2-黄金 4-白金 5-黑金
|
||||
type: integer
|
||||
pageIndex:
|
||||
type: integer
|
||||
pageSize:
|
||||
type: integer
|
||||
record_end_time:
|
||||
description: 记录时间-结束时间
|
||||
type: string
|
||||
record_start_time:
|
||||
description: 记录时间-开始时间
|
||||
type: string
|
||||
record_type:
|
||||
description: 记录类型 1-首次邀请,2-开通年费黄金,3-开通季度黄金,4-开通半年黄金, 5-开通年费白金,6-开通年费黑金,7-续费年费黄金(干预),8-续费年费白金(干预),9-续费年费黑金(干预),10-续费年费黄金(自动),
|
||||
11-续费季度黄金(自动),12-续费半年黄金(自动),13-续费年费白金(自动),14-续费年费黑金(自动),15-黄金→白金(干预), 16-黄金→黑金(干预),17-白金→黑金(干预),18-黄金→白金(自动),19-黄金→黑金(自动),20-白金→黑金(自动)
|
||||
type: integer
|
||||
store_id:
|
||||
description: 邀请人所属门店id
|
||||
type: integer
|
||||
to_uid:
|
||||
description: 用户ID
|
||||
type: integer
|
||||
user_tel:
|
||||
description: 用户手机号
|
||||
type: string
|
||||
type: object
|
||||
models.NewUserListReq:
|
||||
properties:
|
||||
create_endTime:
|
||||
|
@ -2087,6 +2548,9 @@ definitions:
|
|||
filter:
|
||||
description: 是否过滤无滞纳金已标记用户
|
||||
type: boolean
|
||||
is_export:
|
||||
description: 1-导出
|
||||
type: integer
|
||||
memberLevel:
|
||||
description: 当前会员等级
|
||||
type: integer
|
||||
|
@ -2120,6 +2584,29 @@ definitions:
|
|||
uid:
|
||||
description: 用户id
|
||||
type: integer
|
||||
user_type:
|
||||
description: 用户类型 用户类型 1-普通用户 2-店员
|
||||
type: integer
|
||||
type: object
|
||||
models.NewUserListResp:
|
||||
properties:
|
||||
export_url:
|
||||
description: 导出excel地址
|
||||
type: string
|
||||
list:
|
||||
description: 用户数据
|
||||
items:
|
||||
$ref: '#/definitions/models.U'
|
||||
type: array
|
||||
pageIndex:
|
||||
description: 页码
|
||||
type: integer
|
||||
pageSize:
|
||||
description: 每页展示条数
|
||||
type: integer
|
||||
total:
|
||||
description: 总条数
|
||||
type: integer
|
||||
type: object
|
||||
models.Order:
|
||||
properties:
|
||||
|
@ -3274,7 +3761,7 @@ definitions:
|
|||
description: 开通会员级别:2-黄金会员 4-白金会员 5-黑金会员
|
||||
type: integer
|
||||
open_member_time:
|
||||
description: 开通会员
|
||||
description: 开通会员时间
|
||||
type: string
|
||||
order_amount:
|
||||
description: 消费金额
|
||||
|
@ -3396,7 +3883,7 @@ definitions:
|
|||
description: 开通会员级别:2-黄金会员 4-白金会员 5-黑金会员
|
||||
type: integer
|
||||
open_member_time:
|
||||
description: 开通会员
|
||||
description: 开通会员时间
|
||||
type: string
|
||||
order_cards:
|
||||
items:
|
||||
|
@ -3441,6 +3928,61 @@ definitions:
|
|||
description: 角色id
|
||||
type: integer
|
||||
type: object
|
||||
models.UserInviteRecordListData:
|
||||
properties:
|
||||
create_time:
|
||||
description: 注册小程序时间
|
||||
type: string
|
||||
invite_uid:
|
||||
description: 邀请人ID
|
||||
type: integer
|
||||
invite_user_name:
|
||||
description: 邀请人昵称
|
||||
type: string
|
||||
member_level:
|
||||
description: 会员等级:1-普通 2-黄金 4-白金 5-黑金
|
||||
type: integer
|
||||
memberExpire:
|
||||
description: 租卡会员到期时间
|
||||
type: string
|
||||
record_time:
|
||||
description: 记录时间
|
||||
type: string
|
||||
record_type:
|
||||
description: 记录类型
|
||||
type: integer
|
||||
store_id:
|
||||
description: 邀请人所属门店id
|
||||
type: integer
|
||||
store_name:
|
||||
description: 邀请人所属门店名称
|
||||
type: string
|
||||
user_tel:
|
||||
description: 用户手机号
|
||||
type: string
|
||||
user_uid:
|
||||
description: 用户ID
|
||||
type: integer
|
||||
type: object
|
||||
models.UserInviteRecordListResp:
|
||||
properties:
|
||||
export_url:
|
||||
description: 导出excel地址
|
||||
type: string
|
||||
list:
|
||||
items:
|
||||
$ref: '#/definitions/models.UserInviteRecordListData'
|
||||
type: array
|
||||
pageIndex:
|
||||
description: 页码
|
||||
type: integer
|
||||
pageSize:
|
||||
description: 每页展示条数
|
||||
type: integer
|
||||
total:
|
||||
description: 总条数
|
||||
type: integer
|
||||
type: object
|
||||
tools.Params:
|
||||
properties:
|
||||
treeCode:
|
||||
|
@ -4128,6 +4670,153 @@ paths:
|
|||
summary: 配置列表数据
|
||||
tags:
|
||||
- system/配置
|
||||
/api/v1/cooperative/add:
|
||||
post:
|
||||
consumes:
|
||||
- application/json
|
||||
parameters:
|
||||
- description: 新增供应商模型
|
||||
in: body
|
||||
name: request
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/models.CooperativeBusiness'
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
$ref: '#/definitions/app.Response'
|
||||
summary: 新增供应商
|
||||
tags:
|
||||
- 合作商
|
||||
- v1.2.0
|
||||
/api/v1/cooperative/edit:
|
||||
post:
|
||||
consumes:
|
||||
- application/json
|
||||
parameters:
|
||||
- description: 编辑供应商模型
|
||||
in: body
|
||||
name: request
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/models.CooperativeBusiness'
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
$ref: '#/definitions/app.Response'
|
||||
summary: 编辑供应商
|
||||
tags:
|
||||
- 合作商
|
||||
- v1.2.0
|
||||
/api/v1/cooperative/get_pay_info:
|
||||
post:
|
||||
consumes:
|
||||
- application/json
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
$ref: '#/definitions/models.CooperativePayInfo'
|
||||
summary: 获取支付信息
|
||||
tags:
|
||||
- 合作商
|
||||
- v1.2.0
|
||||
/api/v1/cooperative/list:
|
||||
post:
|
||||
consumes:
|
||||
- application/json
|
||||
parameters:
|
||||
- description: 查看供应商列表模型
|
||||
in: body
|
||||
name: request
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/models.CooperativeBusinessListReq'
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
$ref: '#/definitions/models.CooperativeBusinessListResp'
|
||||
summary: 查看供应商列表
|
||||
tags:
|
||||
- 合作商
|
||||
- v1.2.0
|
||||
/api/v1/cooperative/member_promotion/assistant_report:
|
||||
post:
|
||||
consumes:
|
||||
- application/json
|
||||
parameters:
|
||||
- description: 店员绩效模型
|
||||
in: body
|
||||
name: request
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/models.AssistantInviteMemberReportReq'
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
$ref: '#/definitions/models.AssistantInviteMemberReportListResp'
|
||||
summary: 店员绩效
|
||||
tags:
|
||||
- 门店管理
|
||||
- v1.2.0
|
||||
/api/v1/cooperative/member_promotion_statistic/list:
|
||||
post:
|
||||
consumes:
|
||||
- application/json
|
||||
parameters:
|
||||
- description: 租卡会员统计模型
|
||||
in: body
|
||||
name: request
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/models.CooperativeMemberPromotionStatisticReq'
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
$ref: '#/definitions/models.CooperativeMemberPromotionStatisticListResp'
|
||||
summary: 租卡会员统计
|
||||
tags:
|
||||
- 会员管理
|
||||
- V1.2.0
|
||||
/api/v1/cooperative/set_pay_info:
|
||||
post:
|
||||
consumes:
|
||||
- application/json
|
||||
parameters:
|
||||
- description: 设置支付信息模型
|
||||
in: body
|
||||
name: request
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/models.CooperativeSetPayInfoReq'
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
$ref: '#/definitions/app.Response'
|
||||
summary: 设置支付信息
|
||||
tags:
|
||||
- 合作商
|
||||
- v1.2.0
|
||||
/api/v1/db/columns/page:
|
||||
get:
|
||||
description: 数据库表列分页列表 / database table column page list
|
||||
|
@ -5043,6 +5732,28 @@ paths:
|
|||
summary: 登录日志列表
|
||||
tags:
|
||||
- system/日志
|
||||
/api/v1/mall/goods/user/vm_record:
|
||||
post:
|
||||
consumes:
|
||||
- application/json
|
||||
parameters:
|
||||
- description: 用户积分记录模型
|
||||
in: body
|
||||
name: request
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/models.MallUserVmRecordReq'
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
$ref: '#/definitions/models.MallUserVmRecordResp'
|
||||
summary: 用户积分记录
|
||||
tags:
|
||||
- 数据统计
|
||||
- V1.2.0
|
||||
/api/v1/menu:
|
||||
get:
|
||||
description: 获取JSON
|
||||
|
@ -6098,10 +6809,33 @@ paths:
|
|||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
$ref: '#/definitions/models.U'
|
||||
$ref: '#/definitions/models.NewUserListResp'
|
||||
summary: 所有用户
|
||||
tags:
|
||||
- 会员管理
|
||||
- V1.2.0
|
||||
/api/v1/user_info/new_user_invite_record_list:
|
||||
post:
|
||||
consumes:
|
||||
- application/json
|
||||
parameters:
|
||||
- description: 会员邀请记录模型
|
||||
in: body
|
||||
name: request
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/models.NewUserInviteRecordReq'
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
$ref: '#/definitions/models.UserInviteRecordListResp'
|
||||
summary: 会员邀请记录
|
||||
tags:
|
||||
- 会员管理
|
||||
- V1.2.0
|
||||
/api/v1/user_info/tel:
|
||||
post:
|
||||
consumes:
|
||||
|
|
1
go.mod
1
go.mod
|
@ -3,7 +3,6 @@ module go-admin
|
|||
go 1.16
|
||||
|
||||
require (
|
||||
github.com/360EntSecGroup-Skylar/excelize v1.4.1
|
||||
github.com/BurntSushi/toml v1.3.2 // indirect
|
||||
github.com/aliyun/aliyun-sts-go-sdk v0.0.0-20171106034748-98d3903a2309
|
||||
github.com/bytedance/sonic v1.10.2 // indirect
|
||||
|
|
3
go.sum
3
go.sum
|
@ -11,8 +11,6 @@ cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqCl
|
|||
cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
|
||||
cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw=
|
||||
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
|
||||
github.com/360EntSecGroup-Skylar/excelize v1.4.1 h1:l55mJb6rkkaUzOpSsgEeKYtS6/0gHwBYyfo5Jcjv/Ks=
|
||||
github.com/360EntSecGroup-Skylar/excelize v1.4.1/go.mod h1:vnax29X2usfl7HHkBrX5EvSCJcmH3dT9luvxzu8iGAE=
|
||||
github.com/AlecAivazis/survey/v2 v2.0.5/go.mod h1:WYBhg6f0y/fNYUuesWQc0PKbJcEliGcYHB9sNT3Bg74=
|
||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||
github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8=
|
||||
|
@ -517,7 +515,6 @@ github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSS
|
|||
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
|
||||
github.com/stretchr/testify v1.2.1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||
github.com/stretchr/testify v1.2.3-0.20181224173747-660f15d67dbb/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
||||
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
|
||||
|
|
|
@ -5,8 +5,10 @@ import (
|
|||
"fmt"
|
||||
"gorm.io/gorm"
|
||||
"log"
|
||||
"math"
|
||||
"runtime"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/google/uuid"
|
||||
|
@ -82,3 +84,17 @@ func GetOrm(c *gin.Context) (*gorm.DB, error) {
|
|||
return nil, errors.New(fmt.Sprintf("msgID[%s], db connect not exist", msgID))
|
||||
}
|
||||
}
|
||||
|
||||
// RoundFloat64 将float64类型四舍五入取整
|
||||
func RoundFloat64(input float64) int {
|
||||
rounded := int(math.Round(input))
|
||||
return rounded
|
||||
}
|
||||
|
||||
// ConvertTimeToString 将time类型转换为string
|
||||
func ConvertTimeToString(t time.Time) string {
|
||||
if t.IsZero() {
|
||||
return "" // 零值或 nil 返回空字符串
|
||||
}
|
||||
return t.Format("2006-01-02 15:04:05")
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user