Ver código fonte

新增停止卡活动接口,判断活动是否结束

k.zhang 1 ano atrás
pai
commit
169fc3e75a

+ 1 - 0
apis/shanghu/base.go

@@ -21,6 +21,7 @@ func InitShangHuRouter(engine *gin.RouterGroup) {
 		v1.POST("/merchant/get", GetMerchant)                               //获取商户信息
 		v1.POST("/merchant/list", MerchantList)                             //获取商户列表
 		v1.POST("/merchant/update", UpdateMerchant)                         //更新商户信息
+		v1.POST("/merchant/stop", StopMerchantCard)                         //停止商户卡
 		v1.POST("/client/card/list", ClientCardList)                        //客户端卡列表
 		v1.POST("/client/card/info", GetClientCard)                         //获取客户卡信息
 		v1.POST("/client/qr/get", GetClientCardQR)                          //获取二维码

+ 23 - 0
apis/shanghu/merchant.card.go

@@ -249,6 +249,11 @@ func GetMerchantCanvasCard(c *gin.Context) {
 		return
 	}
 
+	if merchantCard.ActivityEndTime <= time.Now().Unix() {
+		app.Error(c, 500, errors.New("活动已结束"), "活动已结束")
+		return
+	}
+
 	outData.Static.Background = "/images/背景.jpg"
 	var swiperList []models.SwiperList
 	var rightButton models.RightButton
@@ -650,6 +655,24 @@ func UpdateMerchantCardWXYZ(c *gin.Context) {
 	app.OK(c, nil, app.Success)
 }
 
+func StopMerchantCard(c *gin.Context) {
+	var inData models.StopMerchantCardRequest
+	var sqlData shanghu.MerchantCard
+	err := c.ShouldBindJSON(&inData)
+	if err != nil {
+		app.Error(c, 400, err, err.Error())
+		return
+	}
+	sqlData.ID = inData.ID
+	err = sqlData.StopMerchantActivityEndTime()
+	if err != nil {
+		app.Error(c, 400, err, err.Error())
+		return
+	}
+	app.OK(c, nil, app.Success)
+
+}
+
 // 核销次数
 func CancelNumber(c *gin.Context) {
 	var inData models.CancelCardRequest

+ 4 - 0
apis/shanghu/models/card.go

@@ -175,3 +175,7 @@ type CardProjectInfo struct {
 	ProjectUnitPrice string `json:"project_unit_price"` //单价
 	ProjectUnit      string `json:"project_unit"`       //产品单位
 }
+
+type StopMerchantCardRequest struct {
+	ID int64 `json:"id"`
+}

+ 11 - 0
models/shanghu/merchant_card.go

@@ -157,3 +157,14 @@ func (m *MerchantCard) UpdateMerchantWHXY() error {
 
 	return nil
 }
+
+func (m *MerchantCard) StopMerchantActivityEndTime() error {
+	if err := orm.ShMysql.Table(m.TableName()).Model(&m).Where("id = ? ", m.ID).Updates(
+		map[string]interface{}{
+			"activity_end_time": time.Now().Unix(),
+			"updated_at":        tools.GetCurrntTimeStr()}).Error; err != nil {
+		return err
+	}
+
+	return nil
+}