1
This commit is contained in:
@@ -9,9 +9,10 @@ import (
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
// 获取招标信息
|
||||
// GetBiddingMsg 获取招标信息
|
||||
func GetBiddingMsg(ctx *jxcontext.Context, param map[string]interface{}) (result []*model.BiddingInfo, err error) {
|
||||
sql := `select * from cg a where 1=1`
|
||||
|
||||
@@ -129,3 +130,67 @@ func UpdateTiktokOrderPhoneAddress() error {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// CreateSupermarketSign 保存超市签约数据
|
||||
func CreateSupermarketSign(supermarket []*model.SupermarketSign, lastOperator string) []string {
|
||||
db := dao.GetDB()
|
||||
errors := make([]string, 0, 0)
|
||||
for i := 0; i < len(supermarket); i++ {
|
||||
dao.WrapAddIDCULDEntity(supermarket[i], lastOperator)
|
||||
if err := dao.CreateEntity(db, supermarket[i]); err != nil {
|
||||
errors = append(errors, fmt.Sprintf("%s-%s:%v", supermarket[i].StoreName, supermarket[i].StoreID, err))
|
||||
}
|
||||
}
|
||||
|
||||
return errors
|
||||
}
|
||||
|
||||
func QuerySupermarketSign(storeId, storeName, cityName, storeType, signPeople string, start, end, page, size int) (result []*model.SupermarketSign, totalCount int, err error) {
|
||||
sql := `SELECT SQL_CALC_FOUND_ROWS * FROM supermarket_sign WHERE 1 = 1 `
|
||||
param := make([]interface{}, 0, 0)
|
||||
|
||||
if start != 0 {
|
||||
startTime := time.Unix(int64(start), 0)
|
||||
sql += ` AND sign_start_time >= ?`
|
||||
param = append(param, startTime)
|
||||
}
|
||||
if end != 0 {
|
||||
endTime := time.Unix(int64(end), 0)
|
||||
sql += ` AND sign_end_time < ?`
|
||||
param = append(param, endTime)
|
||||
}
|
||||
if storeId != "" {
|
||||
sql += ` AND store_id = ?`
|
||||
param = append(param, storeId)
|
||||
}
|
||||
if storeName != "" {
|
||||
sql += ` AND store_name like ?`
|
||||
param = append(param, "%"+storeName+"%")
|
||||
}
|
||||
if cityName != "" {
|
||||
sql += ` AND code_name like ?`
|
||||
param = append(param, "%"+cityName+"%")
|
||||
}
|
||||
if storeType != "" {
|
||||
sql += ` AND store_type = ?`
|
||||
param = append(param, storeType)
|
||||
}
|
||||
if signPeople != "" {
|
||||
sql += ` AND sign_people = ?`
|
||||
param = append(param, signPeople)
|
||||
}
|
||||
|
||||
sql += " limit ? offset ? "
|
||||
param = append(param, size)
|
||||
param = append(param, (utils.MustInterface2Int64(page)-1)*utils.MustInterface2Int64(size))
|
||||
|
||||
db := dao.GetDB()
|
||||
txDB, _ := dao.Begin(db)
|
||||
defer dao.Commit(db, txDB)
|
||||
if err = dao.GetRowsTx(txDB, &result, sql, param...); err == nil {
|
||||
totalCount = dao.GetLastTotalRowCount2(db, txDB)
|
||||
return result, totalCount, nil
|
||||
}
|
||||
|
||||
return nil, 0, err
|
||||
}
|
||||
|
||||
@@ -171,6 +171,9 @@ func (c *OrderManager) OnOrderComments(orderCommentList []*model.OrderComment) (
|
||||
}
|
||||
|
||||
if err == nil {
|
||||
if comment2.OrderFlag == "1" {
|
||||
globals.SugarLogger.Debugf("---------------comment2-isNewComment :%s", utils.Format4Output(comment2, false))
|
||||
}
|
||||
if isNewComment {
|
||||
err = dao.CreateEntity(db, comment2)
|
||||
} else if comment2 != nil {
|
||||
@@ -178,12 +181,18 @@ func (c *OrderManager) OnOrderComments(orderCommentList []*model.OrderComment) (
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if comment2.OrderFlag == "1" {
|
||||
globals.SugarLogger.Debugf("---------------comment2-UpdateEntity :%s", utils.Format4Output(comment2, false))
|
||||
}
|
||||
if orderComment.VendorOrderID2 != "" {
|
||||
comment2.VendorOrderId = orderComment.VendorOrderID2
|
||||
_, err = dao.UpdateEntity(db, comment2)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if comment2.OrderFlag == "1" {
|
||||
globals.SugarLogger.Debugf("---------------comment2-UpdateEntity2 :%s", utils.Format4Output(comment2, false))
|
||||
}
|
||||
comment2.VendorOrderId = orderComment.VendorOrderID2
|
||||
_, err = dao.UpdateEntity(db, comment2, "VendorOrderId")
|
||||
}
|
||||
|
||||
28
business/model/supermarket_sign.go
Normal file
28
business/model/supermarket_sign.go
Normal file
@@ -0,0 +1,28 @@
|
||||
package model
|
||||
|
||||
import "time"
|
||||
|
||||
type SupermarketSign struct {
|
||||
ModelIDCULD
|
||||
StoreID string `orm:"column(store_id);size(32)" json:"storeID"` // 门店ID
|
||||
StoreName string `orm:"column(store_name);size(128)" json:"storeName"` // 门店名称
|
||||
CodeName string `orm:"column(code_name);size(32)" json:"codeName"` // 门店所属城市
|
||||
StoreType string `orm:"column(store_type);size(16)" json:"storeType"` // 门店类型
|
||||
SalesVolume int64 `orm:"column(sales_volume);size(16)" json:"salesVolume"` // 销量
|
||||
Points float64 `orm:"column(points);size(4)" json:"points"` // 扣点
|
||||
ContractFee float64 `orm:"column(contract_fee);size(8)" json:"contractFee"` // 签约收费
|
||||
SignStartTime time.Time `orm:"column(sign_start_time);type(datetime)" json:"signStartTime"` // 签约开始时间
|
||||
SignEndTime time.Time `orm:"column(sign_end_time);type(datetime)" json:"signEndTime"` // 签约结束时间
|
||||
SignPeople string `orm:"column(sign_people);size(36)" json:"signPeople"` // 签约人
|
||||
Status string `orm:"column(status);size(36)" json:"status"` // 签约状态
|
||||
Remake string `orm:"column(remake);size(512)" json:"remake"` // 备注
|
||||
Reward string `orm:"column(reward);size(512)" json:"reward"` // 奖励信息
|
||||
CreateCrowd string `orm:"column(create_crowd);size(16)" json:"createCrowd"` // 群状态
|
||||
}
|
||||
|
||||
func (*SupermarketSign) TableIndex() [][]string {
|
||||
return [][]string{
|
||||
[]string{"StoreID", "StoreName", "CodeName"},
|
||||
[]string{"SignStartTime"},
|
||||
}
|
||||
}
|
||||
@@ -60,6 +60,7 @@ func (c *PurchaseHandler) RefreshComment(fromTime, toTime time.Time) (err error)
|
||||
}
|
||||
// 查询门店差评
|
||||
commentList, _ := getAPI(storeDetail.VendorOrgCode, storeID, storeDetail.VendorStoreID).CommentQuery(storeDetail.VendorStoreID, startDateStr, endDateStr, 0, 0, mtwmapi.CommentReplyStatusNotReplied)
|
||||
globals.SugarLogger.Debugf("--------------commentList := %d", len(commentList))
|
||||
var orderCommentList []*model.OrderComment
|
||||
if len(commentList) == model.NO || commentList == nil {
|
||||
return nil, nil
|
||||
@@ -130,6 +131,7 @@ func (c *PurchaseHandler) RefreshComment(fromTime, toTime time.Time) (err error)
|
||||
orderComment := result.(*model.OrderComment)
|
||||
orderCommentList = append(orderCommentList, orderComment)
|
||||
}
|
||||
globals.SugarLogger.Debugf("--------------orderCommentList := %d", len(orderCommentList))
|
||||
if len(orderCommentList) > 0 {
|
||||
err = partner.CurOrderManager.OnOrderComments(orderCommentList)
|
||||
}
|
||||
|
||||
@@ -1,14 +1,20 @@
|
||||
package controllers
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/bidding"
|
||||
"git.rosy.net.cn/jx-callback/business/jxcallback/scheduler"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/excel"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/tasksch"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/partner"
|
||||
"git.rosy.net.cn/jx-callback/globals/api"
|
||||
"github.com/astaxie/beego/server/web"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
type BiddingController struct {
|
||||
@@ -125,3 +131,117 @@ func (c *BiddingController) JXPrintAfsOrder() {
|
||||
return nil, "", err
|
||||
})
|
||||
}
|
||||
|
||||
// CreateSupermarketSign 创建超市签约信息
|
||||
// @Title 创建超市签约信息
|
||||
// @Description 创建超市签约信息:记录已经签约的门店信息
|
||||
// @Param signObj formData string true "model.SupermarketSign"
|
||||
// @Param token header string false "认证token"
|
||||
// @Success 200 {object} controllers.CallResult
|
||||
// @Failure 200 {object} controllers.CallResult
|
||||
// @router /CreateSupermarketSign [post]
|
||||
func (c *BiddingController) CreateSupermarketSign() {
|
||||
c.callCreateSupermarketSign(func(params *tBindCreateSupermarketSignParams) (retVal interface{}, hint string, err error) {
|
||||
supermarket := make([]*model.SupermarketSign, 0, 0)
|
||||
if err = json.Unmarshal([]byte(params.SignObj), &supermarket); err != nil {
|
||||
return nil, "", err
|
||||
}
|
||||
|
||||
//retVal = bidding.CreateSupermarketSign(supermarket, params.Ctx.GetUserID())
|
||||
retVal = bidding.CreateSupermarketSign(supermarket, "liulei")
|
||||
return retVal, "", nil
|
||||
})
|
||||
}
|
||||
|
||||
// GetSupermarketSign 查询超市签约信息
|
||||
// @Title 查询超市签约信息
|
||||
// @Description 查询超市签约信息:记录已经签约的门店信息
|
||||
// @Param storeID formData string false "美团门店ID"
|
||||
// @Param storeName formData string false "美团门店名称"
|
||||
// @Param startTime formData int64 false "签约开始时间"
|
||||
// @Param endTime formData int64 false "签约结束时间"
|
||||
// @Param cityName formData string false "门店城市"
|
||||
// @Param storeType formData string false "门店类型"
|
||||
// @Param signPeople formData string false "签约人"
|
||||
// @Param page formData int64 true "页码"
|
||||
// @Param size formData int64 true "页数"
|
||||
// @Param token header string false "认证token"
|
||||
// @Success 200 {object} controllers.CallResult
|
||||
// @Failure 200 {object} controllers.CallResult
|
||||
// @router /GetSupermarketSign [post]
|
||||
func (c *BiddingController) GetSupermarketSign() {
|
||||
c.callGetSupermarketSign(func(params *tBindGetSupermarketSignParams) (retVal interface{}, hint string, err error) {
|
||||
retVal, count, err := bidding.QuerySupermarketSign(params.StoreID, params.StoreName, params.CityName, params.StoreType, params.SignPeople, params.StartTime, params.EndTime, params.Page, params.Size)
|
||||
|
||||
return map[string]interface{}{"data": retVal, "page": count}, "", err
|
||||
})
|
||||
}
|
||||
|
||||
// DownSupermarketSign 下载超市签约信息
|
||||
// @Title 下载超市签约信息
|
||||
// @Description 下载超市签约信息
|
||||
// @Param storeID formData string false "美团门店ID"
|
||||
// @Param storeName formData string false "美团门店名称"
|
||||
// @Param startTime formData int64 false "签约开始时间"
|
||||
// @Param endTime formData int64 false "签约结束时间"
|
||||
// @Param cityName formData string false "门店城市"
|
||||
// @Param storeType formData string false "门店类型"
|
||||
// @Param signPeople formData string false "签约人"
|
||||
// @Param token header string true "认证token"
|
||||
// @Success 200 {object} controllers.CallResult
|
||||
// @Failure 200 {object} controllers.CallResult
|
||||
// @router /DownSupermarketSign [post]
|
||||
func (c *BiddingController) DownSupermarketSign() {
|
||||
c.callGetSupermarketSign(func(params *tBindGetSupermarketSignParams) (retVal interface{}, hint string, err error) {
|
||||
var (
|
||||
stores []*model.SupermarketSign
|
||||
excelBin []byte
|
||||
)
|
||||
task := tasksch.NewSeqTask("导出签约门店", params.Ctx,
|
||||
func(task *tasksch.SeqTask, step int, params2 ...interface{}) (result interface{}, err error) {
|
||||
switch step {
|
||||
case 0:
|
||||
stores, _, _ = bidding.QuerySupermarketSign(params.StoreID, params.StoreName, params.CityName, params.StoreType, params.SignPeople, params.StartTime, params.EndTime, 1, model.UnlimitedPageSize)
|
||||
case 1:
|
||||
excelConf := &excel.Obj2ExcelSheetConfig{
|
||||
Title: "签约门店导出",
|
||||
Data: stores,
|
||||
CaptionList: []string{
|
||||
"createdAt",
|
||||
"updatedAt",
|
||||
"storeID",
|
||||
"storeName",
|
||||
"codeName",
|
||||
"storeType",
|
||||
"salesVolume",
|
||||
"points",
|
||||
"contractFee",
|
||||
"signStartTime",
|
||||
"signEndTime",
|
||||
"signPeople",
|
||||
"status",
|
||||
"remake",
|
||||
"reward",
|
||||
"createCrowd",
|
||||
},
|
||||
}
|
||||
excelBin = excel.Obj2Excel([]*excel.Obj2ExcelSheetConfig{excelConf})
|
||||
case 2:
|
||||
keyPart := []string{
|
||||
params.Ctx.GetUserName(),
|
||||
}
|
||||
keyPart = append(keyPart, time.Now().Format("20060102T150405")+".xlsx")
|
||||
key := "export/" + strings.Join(keyPart, "_")
|
||||
excelURL, err2 := jxutils.UploadExportContent(excelBin, key)
|
||||
if err = err2; err == nil {
|
||||
task.SetNoticeMsg(excelURL)
|
||||
}
|
||||
}
|
||||
return nil, err
|
||||
}, 2)
|
||||
|
||||
tasksch.ManageTask(task).Run()
|
||||
hint = task.GetID()
|
||||
return "", hint, err
|
||||
})
|
||||
}
|
||||
|
||||
@@ -10,20 +10,14 @@ import (
|
||||
)
|
||||
|
||||
func Init() {
|
||||
// set default database
|
||||
// orm.RegisterDataBase(aliasName, driverName, dataSource, params)
|
||||
//正式服务器
|
||||
orm.RegisterDataBase("default", "mysql", web.AppConfig.DefaultString("dbConnectStr", ""))
|
||||
orm.RegisterDataBase("c4beta", "mysql", "ubuntu:WebServer@1@tcp(111.231.218.230:3306)/jxd_dev_0?charset=utf8mb4&loc=Local&parseTime=true")
|
||||
orm.RegisterDataBase("api", "mysql", "root:WebServer@1@tcp(127.0.0.1:3306)/api?charset=utf8mb4&loc=Local&parseTime=true")
|
||||
// 本地测试服调试
|
||||
// orm.RegisterDataBase("default", "mysql", web.AppConfig.DefaultString("dbConnectStr", ""))
|
||||
//orm.RegisterDataBase("api", "mysql", "root:WebServer@1@tcp(127.0.0.1:3306)/api?charset=utf8mb4&loc=Local&parseTime=true")
|
||||
//orm.RegisterDataBase("c4beta", "mysql", "ubuntu:WebServer@1@tcp(127.0.0.1:3306)/jxd_dev_0?charset=utf8mb4&loc=Local&parseTime=true")
|
||||
|
||||
// 开启sql打印
|
||||
//orm.Debug = true
|
||||
|
||||
orm.RegisterModel(&model.SupermarketSign{})
|
||||
orm.RegisterModel(new(legacymodel.Config))
|
||||
orm.RegisterModel(new(legacymodel.BlackClient))
|
||||
orm.RegisterModel(new(legacymodel.JxBadComments))
|
||||
@@ -31,10 +25,7 @@ func Init() {
|
||||
// if !globals.DisableWXAuth1 {
|
||||
// orm.RegisterModel(new(legacymodel.WeiXins))
|
||||
// }
|
||||
// 这个注册的2022年之前的表,包括2022年数据
|
||||
orm.RegisterModel(new(model.GoodsOrder))
|
||||
// 这个注册的是当前年份下一年的表,实现分表。不包括当前年份。
|
||||
//orm.RegisterModelWithSuffix("_"+strconv.Itoa(time.Now().Year()+1), new(model.GoodsOrder))
|
||||
orm.RegisterModel(new(model.GoodsOrderOriginal))
|
||||
orm.RegisterModel(new(model.TempGoodsOrderMobile))
|
||||
orm.RegisterModel(new(model.OrderSku))
|
||||
|
||||
@@ -4450,6 +4450,33 @@ func init() {
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
// 创建签约门店
|
||||
web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:BiddingController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:BiddingController"],
|
||||
web.ControllerComments{
|
||||
Method: "CreateSupermarketSign",
|
||||
Router: `/CreateSupermarketSign`,
|
||||
AllowHTTPMethods: []string{"post"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
// 查询签约门店
|
||||
web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:BiddingController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:BiddingController"],
|
||||
web.ControllerComments{
|
||||
Method: "GetSupermarketSign",
|
||||
Router: `/GetSupermarketSign`,
|
||||
AllowHTTPMethods: []string{"post"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
// 下载报表
|
||||
web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:BiddingController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:BiddingController"],
|
||||
web.ControllerComments{
|
||||
Method: "DownSupermarketSign",
|
||||
Router: `/DownSupermarketSign`,
|
||||
AllowHTTPMethods: []string{"post"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
// 版本设置
|
||||
web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:VersionController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:VersionController"],
|
||||
|
||||
Reference in New Issue
Block a user