Kaynağa Gözat

解决优惠卷ID长度不够问题

zhou.xiaoning 4 yıl önce
ebeveyn
işleme
e4b546ef1c
1 değiştirilmiş dosya ile 28 ekleme ve 27 silme
  1. 28 27
      models/hsby.go

+ 28 - 27
models/hsby.go

@@ -1639,15 +1639,15 @@ func GetHsbyMarketGoodsDetail(orderID int) (*HsbyMarketGoodsDetail, error) {
 
 // MyCoupon 我的优惠卷
 type MyCoupon struct {
-	Accountid     int64 `json:"accountid"  xorm:"'ACCOUNTID'" binding:"required"`       // 资金账户ID
-	Coupontypeid  int32 `json:"coupontypeid"  xorm:"'COUPONTYPEID'" binding:"required"` // 优惠券类型ID
-	Userid        int64 `json:"userid"  xorm:"'USERID'"`                                // 用户ID
-	Oriqty        int64 `json:"oriqty"  xorm:"'ORIQTY'"`                                // 期初数量
-	Orifreezeqty  int64 `json:"orifreezeqty"  xorm:"'ORIFREEZEQTY'"`                    // 期初冻结数量
-	Curqty        int64 `json:"curqty"  xorm:"'CURQTY'"`                                // 期末数量
-	Curfreezeqty  int64 `json:"curfreezeqty"  xorm:"'CURFREEZEQTY'"`                    // 期末冻结数量
-	Todayincrease int64 `json:"todayincrease"  xorm:"'TODAYINCREASE'"`                  // 今日增加
-	Todaydecrease int64 `json:"todaydecrease"  xorm:"'TODAYDECREASE'"`                  // 今日减少
+	Accountid     int64  `json:"accountid"  xorm:"'ACCOUNTID'" binding:"required"`          // 资金账户ID
+	Coupontypeid  string `json:"coupontypeid"  xorm:"'COUPONTYPEIDSTR'" binding:"required"` // 优惠券类型ID
+	Userid        int64  `json:"userid"  xorm:"'USERID'"`                                   // 用户ID
+	Oriqty        int64  `json:"oriqty"  xorm:"'ORIQTY'"`                                   // 期初数量
+	Orifreezeqty  int64  `json:"orifreezeqty"  xorm:"'ORIFREEZEQTY'"`                       // 期初冻结数量
+	Curqty        int64  `json:"curqty"  xorm:"'CURQTY'"`                                   // 期末数量
+	Curfreezeqty  int64  `json:"curfreezeqty"  xorm:"'CURFREEZEQTY'"`                       // 期末冻结数量
+	Todayincrease int64  `json:"todayincrease"  xorm:"'TODAYINCREASE'"`                     // 今日增加
+	Todaydecrease int64  `json:"todaydecrease"  xorm:"'TODAYDECREASE'"`                     // 今日减少
 
 	Areauserid      int64   `json:"areauserid"  xorm:"'AREAUSERID'"`           // 所属机构
 	Couponname      string  `json:"couponname"  xorm:"'COUPONNAME'"`           // 优惠券名称
@@ -1669,6 +1669,7 @@ func GetMyCoupons(accountIDs string, goodsID, sellUserID int) ([]MyCoupon, error
 
 	myCoupons := make([]MyCoupon, 0)
 	session := engine.Table("COUPONPOSITION CP").
+		Select("to_char(CP.COUPONTYPEID) COUPONTYPEIDSTR, CP.*").
 		Join("INNER", "COUPONTYPE CT", "CT.COUPONTYPEID = CP.COUPONTYPEID").
 		Where(fmt.Sprintf("CP.ACCOUNTID in (%s)", accountIDs))
 	if err := session.Find(&myCoupons); err != nil {
@@ -1715,23 +1716,23 @@ func GetMyCoupons(accountIDs string, goodsID, sellUserID int) ([]MyCoupon, error
 
 // MyCouponHold 我的优惠卷持仓
 type MyCouponHold struct {
-	Couponholdid    int64     `json:"couponholdid"  xorm:"'COUPONHOLDID'" binding:"required"` // 优惠券持仓ID(229+Unix秒时间戳(10位)+xxxxxx)
-	Giveapplyid     int64     `json:"giveapplyid"  xorm:"'GIVEAPPLYID'"`                      // 发放申请ID(SEQ_COUPONGIVEAPPLY)
-	Accountid       int64     `json:"accountid"  xorm:"'ACCOUNTID'"`                          // 资金账户ID
-	Coupontypeid    int32     `json:"coupontypeid"  xorm:"'COUPONTYPEID'"`                    // 优惠券类型ID - SEQ_COUPONTYPE
-	Couponcategroy  int32     `json:"couponcategroy"  xorm:"'COUPONCATEGROY'"`                // 种类 - 1:现金券 2:折扣券 3:折扣券(单个商品)
-	Conditionvalue  float64   `json:"conditionvalue"  xorm:"'CONDITIONVALUE'"`                // 条件阈值(可为0)
-	Couponvalue     float64   `json:"couponvalue"  xorm:"'COUPONVALUE'"`                      // 面值[1:现金券 - 抵扣值 2:折扣券-折扣值]
-	Limitedflag     int32     `json:"limitedflag"  xorm:"'LIMITEDFLAG'"`                      // 是否指定商品 - 0:不限 1:限制
-	Limitedgoodsids string    `json:"limitedgoodsids"  xorm:"'LIMITEDGOODSIDS'"`              // 指定商品IDs[逗号分隔]
-	Isgeneral       int32     `json:"isgeneral"  xorm:"'ISGENERAL'"`                          // 是否通用券 - 0:否 1:是
-	Userscope       string    `json:"userscope"  xorm:"'USERSCOPE'"`                          // 卖家范围(用户ID,逗号分隔) [IsGeneral =0时使用]
-	Userid          int64     `json:"userid"  xorm:"'USERID'"`                                // 用户ID
-	Qty             int64     `json:"qty"  xorm:"'QTY'"`                                      // 数量(按1平铺)
-	Startdate       time.Time `json:"startdate"  xorm:"'STARTDATE'"`                          // 开始日期
-	Holdstatus      int32     `json:"holdstatus"  xorm:"'HOLDSTATUS'"`                        // 持仓状态 - 1:未生效 2:已生效 3:已使用 4:已过期
-	Enddate         time.Time `json:"enddate"  xorm:"'ENDDATE'"`                              // 结束日期
-	Createtime      time.Time `json:"createtime"  xorm:"'CREATETIME'"`                        // 创建时间
+	Couponholdid    string    `json:"couponholdid"  xorm:"'COUPONHOLDIDSTR'" binding:"required"` // 优惠券持仓ID(229+Unix秒时间戳(10位)+xxxxxx)
+	Giveapplyid     int64     `json:"giveapplyid"  xorm:"'GIVEAPPLYID'"`                         // 发放申请ID(SEQ_COUPONGIVEAPPLY)
+	Accountid       int64     `json:"accountid"  xorm:"'ACCOUNTID'"`                             // 资金账户ID
+	Coupontypeid    string    `json:"coupontypeid"  xorm:"'COUPONTYPEIDSTR'"`                    // 优惠券类型ID - SEQ_COUPONTYPE
+	Couponcategroy  int32     `json:"couponcategroy"  xorm:"'COUPONCATEGROY'"`                   // 种类 - 1:现金券 2:折扣券 3:折扣券(单个商品)
+	Conditionvalue  float64   `json:"conditionvalue"  xorm:"'CONDITIONVALUE'"`                   // 条件阈值(可为0)
+	Couponvalue     float64   `json:"couponvalue"  xorm:"'COUPONVALUE'"`                         // 面值[1:现金券 - 抵扣值 2:折扣券-折扣值]
+	Limitedflag     int32     `json:"limitedflag"  xorm:"'LIMITEDFLAG'"`                         // 是否指定商品 - 0:不限 1:限制
+	Limitedgoodsids string    `json:"limitedgoodsids"  xorm:"'LIMITEDGOODSIDS'"`                 // 指定商品IDs[逗号分隔]
+	Isgeneral       int32     `json:"isgeneral"  xorm:"'ISGENERAL'"`                             // 是否通用券 - 0:否 1:是
+	Userscope       string    `json:"userscope"  xorm:"'USERSCOPE'"`                             // 卖家范围(用户ID,逗号分隔) [IsGeneral =0时使用]
+	Userid          int64     `json:"userid"  xorm:"'USERID'"`                                   // 用户ID
+	Qty             int64     `json:"qty"  xorm:"'QTY'"`                                         // 数量(按1平铺)
+	Startdate       time.Time `json:"startdate"  xorm:"'STARTDATE'"`                             // 开始日期
+	Holdstatus      int32     `json:"holdstatus"  xorm:"'HOLDSTATUS'"`                           // 持仓状态 - 1:未生效 2:已生效 3:已使用 4:已过期
+	Enddate         time.Time `json:"enddate"  xorm:"'ENDDATE'"`                                 // 结束日期
+	Createtime      time.Time `json:"createtime"  xorm:"'CREATETIME'"`                           // 创建时间
 
 	Couponname string `json:"couponname"  xorm:"'COUPONNAME'"` // 优惠券名称
 }
@@ -1742,7 +1743,7 @@ func GetMyCouponHolds(accountIDs string, holdStatus string) ([]MyCouponHold, err
 
 	myCouponHolds := make([]MyCouponHold, 0)
 	session := engine.Table("COUPONHOLD CH").
-		Select(`CH.*, CT.COUPONNAME`).
+		Select(`to_char(CH.COUPONHOLDID) COUPONHOLDIDSTR, to_char(CH.COUPONTYPEID) COUPONTYPEIDSTR, CH.*, CT.COUPONNAME`).
 		Join("INNER", "COUPONTYPE CT", "CT.COUPONTYPEID = CH.COUPONTYPEID").
 		Where(fmt.Sprintf("CH.ACCOUNTID in (%s)", accountIDs))
 	if len(holdStatus) > 0 {