Merge remote-tracking branch 'origin/mark' into don

This commit is contained in:
Rosy-zhudan
2019-09-06 11:29:17 +08:00
22 changed files with 347 additions and 119 deletions

View File

@@ -173,7 +173,7 @@ func GetActStoreSkuVendorInfo(db *DaoDB, actID int, vendorIDs, storeIDs, skuIDs
return actStoreSkuMap, err
}
func QueryActs(db *DaoDB, actID int, offset, pageSize int, keyword string, vendorID int, statusList, actTypeList, createTypeList []int,
func QueryActs(db *DaoDB, actID int, offset, pageSize int, syncStatus int, keyword string, vendorID int, statusList, actTypeList, createTypeList []int,
storeID, skuID, cityCode int, beginAt, endAt, createdAtFrom, createdAtTo time.Time) (pagedInfo *PagedActListInfo, err error) {
if actID == 0 && utils.IsTimeZero(createdAtFrom) && utils.IsTimeZero(beginAt) {
return nil, fmt.Errorf("actID,createdAtFrom和beginAt中至少要指定一个条件")
@@ -184,7 +184,7 @@ func QueryActs(db *DaoDB, actID int, offset, pageSize int, keyword string, vendo
sql := `
SELECT SQL_CALC_FOUND_ROWS
t1.id
DISTINCT t1.id
FROM act t1`
sqlParams := []interface{}{}
if isGetAll {
@@ -195,8 +195,14 @@ func QueryActs(db *DaoDB, actID int, offset, pageSize int, keyword string, vendo
FROM act t1
LEFT JOIN act_map t2 ON t2.act_id = t1.id AND t2.deleted_at = ?`
sqlParams = []interface{}{utils.DefaultTimeValue}
if syncStatus >= 0 {
sql += " AND (t2.sync_status = ? OR t2.sync_status & ? <> 0)"
sqlParams = append(sqlParams, syncStatus, syncStatus)
}
} else if syncStatus >= 0 {
sql += " JOIN act_map t2 ON t2.act_id = t1.id AND t2.deleted_at = ? AND (t2.sync_status = ? OR t2.sync_status & ? <> 0)"
sqlParams = append(sqlParams, utils.DefaultTimeValue, syncStatus, syncStatus)
}
sql += `
WHERE t1.deleted_at = ?`
sqlParams = append(sqlParams, utils.DefaultTimeValue)
@@ -289,6 +295,7 @@ func QueryActs(db *DaoDB, actID int, offset, pageSize int, keyword string, vendo
panic(r)
}
}()
// globals.SugarLogger.Debug(sql)
if err = GetRows(db, &idList, sql, sqlParams...); err != nil || len(idList) == 0 {
Rollback(db)
return pagedInfo, err
@@ -311,6 +318,7 @@ func QueryActs(db *DaoDB, actID int, offset, pageSize int, keyword string, vendo
}
}
var actList []*tActAndMap
// globals.SugarLogger.Debug(sql)
if err = GetRows(db, &actList, sql, sqlParams...); err != nil {
return nil, err
}

View File

@@ -445,16 +445,25 @@ func GetOpenedStoreCouriersByStoreID(db *DaoDB, storeID, vendorID int) (storeMap
return storeMaps, nil
}
func GetStoreList4Role(db *DaoDB, shortRoleName string) (storeList []*model.Store, err error) {
func GetStoreList(db *DaoDB, idList []int, mobileList []string, shortRoleName string) (storeList []*model.Store, err error) {
sql := `
SELECT t1.*
FROM store t1
WHERE t1.deleted_at = ? AND (t1.market_man_role = ? OR t1.operator_role = ? OR t1.operator_role2 = ?)`
WHERE t1.deleted_at = ?`
sqlParams := []interface{}{
utils.DefaultTimeValue,
shortRoleName,
shortRoleName,
shortRoleName,
}
if len(idList) > 0 {
sql += " AND t1.id IN (" + GenQuestionMarks(len(idList)) + ")"
sqlParams = append(sqlParams, idList)
}
if len(mobileList) > 0 {
sql += " AND (t1.tel1 IN (" + GenQuestionMarks(len(mobileList)) + ") OR t1.tel2 IN (" + GenQuestionMarks(len(mobileList)) + "))"
sqlParams = append(sqlParams, mobileList, mobileList)
}
if shortRoleName != "" {
sql += " AND (t1.market_man_role = ? OR t1.operator_role = ? OR t1.operator_role2 = ?)"
sqlParams = append(sqlParams, shortRoleName, shortRoleName, shortRoleName)
}
err = GetRows(db, &storeList, sql, sqlParams...)
return storeList, err

View File

@@ -32,7 +32,7 @@ func TestFormalizeStoreStatus(t *testing.T) {
}
func TestGetStoreList4Role(t *testing.T) {
storeList, err := GetStoreList4Role(GetDB(), "NiuBi")
storeList, err := GetStoreList(GetDB(), "NiuBi")
t.Log(utils.Format4Output(storeList, false))
if err != nil {
t.Fatal(err)

View File

@@ -32,6 +32,8 @@ type GoodsOrder struct {
WaybillTipMoney int64 `json:"waybillTipMoney"` // 京西加的平台配送小费
EarningPrice int64 `json:"earningPrice"` // 结算给门店老板的钱(未扣除可能的三方配送费)
Weight int `json:"weight"` // 单位为克
VendorUserID string `orm:"column(vendor_user_id);size(48)" json:"vendorUserID"`
UserID string `orm:"column(user_id);size(48)" json:"userID"`
ConsigneeName string `orm:"size(32)" json:"consigneeName"`
ConsigneeMobile string `orm:"size(32)" json:"consigneeMobile"`
ConsigneeMobile2 string `orm:"size(32)" json:"consigneeMobile2"`
@@ -65,7 +67,6 @@ type GoodsOrder struct {
// 以下只是用于传递数据
OriginalData string `orm:"-" json:"-"`
Skus []*OrderSku `orm:"-" json:"-"`
VendorUserID string `orm:"-" json:"-"`
}
func (o *GoodsOrder) TableUnique() [][]string {

View File

@@ -253,14 +253,14 @@ type Store struct {
DeliveryRangeType int8 `json:"deliveryRangeType"` // 参见相关常量定义
DeliveryRange string `orm:"type(text)" json:"deliveryRange"` // 如果DeliveryRangeType为DeliveryRangeTypePolygon则为逗号分隔坐标分号分隔的坐标点坐标与Lng和Lat一样都是整数比如 121361504,31189308;121420555,31150238。否则为半径单位为米
Status int `json:"status"`
ChangePriceType int8 `json:"changePriceType"` // 修改价格类型,即是否需要审核
PrinterDisabled int8 `orm:"default(0)" json:"printerDisabled"` // 是否禁用网络打印机
PrinterFontSize int8 `orm:"default(0)" json:"printerFontSize"` // 打印字体-10正常1
PrinterVendorID int `orm:"column(printer_vendor_id);" json:"printerVendorID"`
PrinterSN string `orm:"size(32);column(printer_sn);index" json:"printerSN"`
PrinterKey string `orm:"size(64)" json:"printerKey"`
PrinterBindInfo string `orm:"size(1024)" json:"-"`
ChangePriceType int8 `json:"changePriceType"` // 修改价格类型,即是否需要审核
SMSNotify int8 `orm:"column(sms_notify);" json:"smsNotify"` // 是否通过短信接收订单消息
PrinterDisabled int8 `orm:"default(0)" json:"printerDisabled"` // 是否禁用网络打印机
PrinterFontSize int8 `orm:"default(0)" json:"printerFontSize"` // 打印字体-10正常1
PrinterVendorID int `orm:"column(printer_vendor_id);" json:"printerVendorID"`
PrinterSN string `orm:"size(32);column(printer_sn);index" json:"printerSN"`
PrinterKey string `orm:"size(64)" json:"printerKey"`
PrinterBindInfo string `orm:"size(1024)" json:"-"`
IDCardFront string `orm:"size(255);column(id_card_front)" json:"idCardFront"`
IDCardBack string `orm:"size(255);column(id_card_back)" json:"idCardBack"`

View File

@@ -26,15 +26,20 @@ var (
type User struct {
ModelIDCULD
UserID string `orm:"size(48);column(user_id)" json:"userID" compact:"userID"` // 内部唯一标识
UserID2 string `orm:"size(48);column(user_id2)" json:"userID2" compact:"userID2"` // 外部唯一标识(一般用于登录)
Name string `orm:"size(48);index" json:"name" compact:"name"` // 外部显示标识(当前可以重复)
Mobile *string `orm:"size(32);null" json:"mobile" compact:"mobile"`
Email *string `orm:"size(32);null" json:"email" compact:"email"`
Status int8 `json:"status" compact:"status"`
Type int8 `json:"type" compact:"type"` // 用户类型
IDCardNo string `orm:"size(18);column(id_card_no)" json:"idCardNo" compact:"idCardNo"` // 身份证号
Remark string `orm:"size(255)" json:"remark"`
UserID string `orm:"size(48);column(user_id)" json:"userID" compact:"userID"` // 内部唯一标识
UserID2 string `orm:"size(48);column(user_id2)" json:"userID2" compact:"userID2"` // 外部唯一标识(一般用于登录)
Name string `orm:"size(48);index" json:"name" compact:"name"` // 外部显示标识(当前可以重复)
Mobile *string `orm:"size(32);null" json:"mobile" compact:"mobile"`
Email *string `orm:"size(32);null" json:"email" compact:"email"`
Status int8 `json:"status" compact:"status"`
Type int8 `json:"type" compact:"type"` // 用户类型
CityCode int `orm:"default(0)" json:"cityCode"`
DistrictCode int `orm:"default(0);index" json:"districtCode"`
Address string `orm:"size(255)" json:"address"`
IDCardNo string `orm:"size(18);column(id_card_no)" json:"idCardNo" compact:"idCardNo"` // 身份证号
Remark string `orm:"size(255)" json:"remark"`
}
func (*User) TableUnique() [][]string {