Merge remote-tracking branch 'origin/jdshop' into jxact

This commit is contained in:
苏尹岚
2020-09-17 10:52:36 +08:00
37 changed files with 1168 additions and 128 deletions

View File

@@ -787,7 +787,7 @@ func GetOrders(db *DaoDB, ids []int64, isIncludeSku, isIncludeFake bool, fromDat
}
sql += `
FROM goods_order t1
LEFT JOIN waybill t2 ON t1.vendor_waybill_id = t2.vendor_waybill_id AND t1.waybill_vendor_id = t2.waybill_vendor_id
LEFT JOIN waybill t2 ON t1.vendor_waybill_id = t2.vendor_waybill_id AND t1.waybill_vendor_id = t2.waybill_vendor_id AND t1.vendor_order_id = t2.vendor_order_id
LEFT JOIN store t5 ON t5.id = IF(t1.jx_store_id <> 0, t1.jx_store_id, t1.store_id)
LEFT JOIN place city ON city.code = t5.city_code
LEFT JOIN place district ON district.code = t5.district_code`

View File

@@ -1,7 +1,6 @@
package dao
import (
"fmt"
"time"
"git.rosy.net.cn/baseapi/platformapi/aliupcapi"
@@ -231,8 +230,6 @@ func GetSkuCategoryWithVendor(db *DaoDB, vendorIDs []int, appOrgCodes []string,
sqlParams = append(sqlParams, parentCatID)
}
sql += " ORDER BY t1.seq"
fmt.Println(sql)
fmt.Println(sqlParams)
err = GetRows(db, &catList, sql, sqlParams...)
return catList, err
}

View File

@@ -813,3 +813,103 @@ func DeleteStoreCategroies(db *DaoDB, userName string, storeID int) (err error)
_, err = ExecuteSQL(db, sql, sqlParams)
return err
}
func GetStorePushClient(db *DaoDB, storeID int, cID string) (storePushClient []*model.StorePushClient, err error) {
sql := `
SELECT *
FROM store_push_client
WHERE deleted_at = ?
`
sqlParams := []interface{}{
utils.DefaultTimeValue,
}
if storeID > 0 {
sql += " AND store_id = ?"
sqlParams = append(sqlParams, storeID)
}
if cID != "" {
sql += " AND client_id = ?"
sqlParams = append(sqlParams, cID)
}
err = GetRows(db, &storePushClient, sql, sqlParams)
if err != nil {
return nil, err
}
return storePushClient, err
}
func GetStoreAudit(db *DaoDB, auditStatuss []int, userID, keyword string) (storeAudit []*model.StoreAudit, err error) {
sql := `
SELECT *
FROM store_audit
WHERE deleted_at = ?
`
sqlParams := []interface{}{
utils.DefaultTimeValue,
}
if len(auditStatuss) > 0 {
sql += " AND audit_status IN (" + GenQuestionMarks(len(auditStatuss)) + ")"
sqlParams = append(sqlParams, auditStatuss)
}
if userID != "" {
sql += " AND user_id = ?"
sqlParams = append(sqlParams, userID)
}
if keyword != "" {
sql += " AND (user_id LIKE ? OR name LIKE ? OR tel1 LIKE ? OR tel2 LIKE ? OR address LIKE ?)"
sqlParams = append(sqlParams, "%"+keyword+"%", "%"+keyword+"%", "%"+keyword+"%", "%"+keyword+"%", "%"+keyword+"%")
}
err = GetRows(db, &storeAudit, sql, sqlParams)
if err != nil {
return nil, err
}
return storeAudit, err
}
type tStoreAudit struct {
model.StoreAudit
UserName string `json:"userName"`
CityName string `json:"cityName"`
}
func GetStoreAuditPage(db *DaoDB, statuss []int, keyword string, applyTimeStart, applyTimeEnd, auditTimeStart, auditTimeEnd time.Time, pageSize, offset int) (pagedInfo *model.PagedInfo, err error) {
var requestList []*tStoreAudit
sql := `
SELECT SQL_CALC_FOUND_ROWS DISTINCT a.*, b.name user_name, c.name city_name
FROM store_audit a
JOIN user b ON b.user_id = a.user_id
JOIN place c ON c.code = a.city_code
WHERE a.deleted_at = ?
`
sqlParams := []interface{}{
utils.DefaultTimeValue,
}
if len(statuss) > 0 {
sql += " AND a.audit_status IN (" + GenQuestionMarks(len(statuss)) + ")"
sqlParams = append(sqlParams, statuss)
}
if applyTimeStart != utils.ZeroTimeValue && applyTimeEnd != utils.ZeroTimeValue {
sql += " AND a.created_at BETWEEN ? AND ?"
sqlParams = append(sqlParams, applyTimeStart, applyTimeEnd)
}
if auditTimeStart != utils.ZeroTimeValue && auditTimeEnd != utils.ZeroTimeValue {
sql += " AND a.updated_at BETWEEN ? AND ?"
sqlParams = append(sqlParams, auditTimeStart, auditTimeEnd)
}
if keyword != "" {
sql += " AND (a.user_id LIKE ? OR a.name LIKE ? OR a.tel1 LIKE ? OR a.tel2 LIKE ? OR a.address LIKE ?)"
sqlParams = append(sqlParams, "%"+keyword+"%", "%"+keyword+"%", "%"+keyword+"%", "%"+keyword+"%", "%"+keyword+"%")
}
sql += " ORDER BY a.updated_at LIMIT ? OFFSET ?"
pageSize = jxutils.FormalizePageSize(pageSize)
sqlParams = append(sqlParams, pageSize, offset)
Begin(db)
defer Commit(db)
if err = GetRows(db, &requestList, sql, sqlParams...); err == nil {
return &model.PagedInfo{
TotalCount: GetLastTotalRowCount(db),
Data: requestList,
}, nil
}
return pagedInfo, err
}

View File

@@ -111,15 +111,16 @@ type GoodsOrder struct {
ModelTimeInfo `json:"-"`
Flag int `json:"flag"` //非运单调整相关的其它状态
InvoiceTitle string `orm:"size(64)" json:"invoiceTitle"` // 发票抬头
InvoiceTaxerID string `orm:"size(32);column(invoice_taxer_id)" json:"invoiceTaxerID"` // 发票纳税人识别码
InvoiceEmail string `orm:"size(64)" json:"invoiceEmail"` // 发票邮箱
VendorOrgCode string `orm:"size(64)" json:"vendorOrgCode"` // 同一平台下不同的商户代码,如果只有一个,可以为空
FromStoreID int `orm:"column(from_store_id)" json:"fromStoreID"` //物料配送门店
EclpOutID string `orm:"column(eclp_out_id)" json:"eclpOutID"` //物料配送的出库单号
AddressID int64 `orm:"column(address_id)" json:"addressID"` //配送地址ID
EarningType int `json:"earningType"` //订单结算方式2为扣点1为报价
OrderType int `json:"orderType"` //订单类型0为普通订单1为物料订单2为进货订单
InvoiceTitle string `orm:"size(64)" json:"invoiceTitle"` // 发票抬头
InvoiceTaxerID string `orm:"size(32);column(invoice_taxer_id)" json:"invoiceTaxerID"` // 发票纳税人识别码
InvoiceEmail string `orm:"size(64)" json:"invoiceEmail"` // 发票邮箱
VendorOrgCode string `orm:"size(64)" json:"vendorOrgCode"` // 同一平台下不同的商户代码,如果只有一个,可以为空
FromStoreID int `orm:"column(from_store_id)" json:"fromStoreID"` //物料配送门店
EclpOutID string `orm:"column(eclp_out_id)" json:"eclpOutID"` //物料配送的出库单号
AddressID int64 `orm:"column(address_id)" json:"addressID"` //配送地址ID
EarningType int `json:"earningType"` //订单结算方式2为扣点1为报价
OrderType int `json:"orderType"` //订单类型0为普通订单1为物料订单2为进货订单
OrderPayPercentage int `json:"orderPayPercentage"`
// 以下只是用于传递数据
OriginalData string `orm:"-" json:"-"`

View File

@@ -685,3 +685,75 @@ func (*StoreCategoryMap) TableUnique() [][]string {
[]string{"StoreID", "CategoryID", "DeletedAt"},
}
}
type StorePushClient struct {
ModelIDCULD
StoreID int `orm:"column(store_id)" json:"storeID"`
ClientID string `orm:"column(client_id);size(255)" json:"clientID"`
}
func (*StorePushClient) TableUnique() [][]string {
return [][]string{
[]string{"StoreID", "ClientID"},
}
}
type StoreAudit struct {
ModelIDCULD
Name string `orm:"size(255)" json:"name"`
CityCode int `orm:"default(0);null" json:"cityCode"` // todo ?
DistrictCode int `orm:"default(0);null" json:"districtCode"` // todo ?
Address string `orm:"size(255)" json:"address"`
Tel1 string `orm:"size(32);index" json:"tel1"`
Tel2 string `orm:"size(32);index" json:"tel2"`
OpenTime1 int16 `json:"openTime1" validate:"max=2359,min=1,ltfield=CloseTime1"` // 930就表示9点半用两个的原因是为了支持中午休息1与2的时间段不能交叉为0表示没有
CloseTime1 int16 `json:"closeTime1" validate:"max=2359,min=1` // 格式同上
OpenTime2 int16 `json:"openTime2" validate:"max=2359,min=1,ltfield=CloseTime2"` // 格式同上
CloseTime2 int16 `json:"closeTime2" validate:"max=2359,min=1` // 格式同上
Lng int `json:"-"` // 乘了10的6次方
Lat int `json:"-"` // 乘了10的6次方
DeliveryRangeType int8 `json:"deliveryRangeType"` // 参见相关常量定义
DeliveryRange string `orm:"type(text)" json:"deliveryRange"` // 如果DeliveryRangeType为DeliveryRangeTypePolygon则为逗号分隔坐标分号分隔的坐标点坐标与Lng和Lat一样都是整数比如 121361504,31189308;121420555,31150238。否则为半径单位为米
Status int `json:"status"`
SMSNotify int8 `orm:"column(sms_notify);" json:"smsNotify"` // 是否通过短信接收订单消息(每天只推一条)
IDCardFront string `orm:"size(255);column(id_card_front)" json:"idCardFront"`
IDCardBack string `orm:"size(255);column(id_card_back)" json:"idCardBack"`
IDCardHand string `orm:"size(255);column(id_card_hand)" json:"idCardHand"`
Licence string `orm:"size(255)" json:"licence"` // 营业执照图片
LicenceCode string `orm:"size(32)" json:"licenceCode"`
LicenceType int8 `json:"licenceType"` // 营业执照类型0个人1公司
LicenceCorpName string `orm:"size(64)" json:"licenceCorpName"` // 营业执照公司名称
LicenceOwnerName string `orm:"size(8)" json:"licenceOwnerName"` // 法人姓名
LicenceAddress string `orm:"size(255)" json:"licenceAddress"` // 地址
LicenceValid string `orm:"size(32)" json:"licenceValid"` // 有效期开始
LicenceExpire string `orm:"size(32)" json:"licenceExpire"` // 有效期结束
IDName string `orm:"size(8);column(id_name)" json:"idName"` // 身份证姓名
IDCode string `orm:"size(32);column(id_code)" json:"idCode"` // 身份证号
IDValid string `orm:"column(id_valid);size(32)" json:"idValid"` // 有效期开始
IDExpire string `orm:"column(id_expire);size(32)" json:"idExpire"` // 有效期结束
Licence2Image string `orm:"size(255)" json:"licence2Image"` // 食品经营许可证
Licence2Code string `orm:"size(32)" json:"licence2Code"` // 食品经营许可证编号
Licence2Valid string `orm:"size(32)" json:"licence2Valid"` // 有效期开始
Licence2Expire string `orm:"size(32)" json:"licence2Expire"` // 有效期结束
UserID string `orm:"column(user_id);size(32)" json:"userID"` //谁发起的审核就把谁添加到这个门店里
AuditStatus int `json:"auditStatus"` //0是待审核1是通过-1是不通过
Remark string `orm:"size(255)" json:"remark"` //不通过原因
}
func (*StoreAudit) TableUnique() [][]string {
return [][]string{
[]string{"Name"},
}
}
func (*StoreAudit) TableIndex() [][]string {
return [][]string{
[]string{"UserID"},
}
}