浏览代码

Merge branch 'master' of https://git.i2edu.net/i2/i2-bill-api

2637309949 4 年之前
父节点
当前提交
94d40fdc8e

+ 5 - 2
i2bill.api

@@ -123,7 +123,7 @@ type Response {
 service i2bill-api {
 	@handler Hello
 	get /api/hello
-	
+
 	@handler LoginByWeixin
 	post /api/auth/loginByWeixin(loginByWeixinRequest) returns(loginByWeixinResponse)
 }
@@ -156,9 +156,12 @@ service i2bill-api {
 service i2bill-api {
 	@handler  PartTimeUserAdd
 	post /api/v1/part_time_user/add (partTimeUserAddRequest) returns(Response)
-	
+
 	@handler  PartTimeUserUpdate
 	post /api/v1/part_time_user/update (partTimeUserAddRequest) returns(Response)
+
+	@handler  PartTimeUserGet
+	get /api/v1/part_time_user/get  returns(Response)
 }
 
 // 收单模块

+ 22 - 0
internal/handler/part_time_user/parttimeusergethandler.go

@@ -0,0 +1,22 @@
+package part_time_user
+
+import (
+	"net/http"
+
+	"git.i2edu.net/i2/go-zero/rest/httpx"
+	logic "git.i2edu.net/i2/i2-bill-api/internal/logic/part_time_user"
+	"git.i2edu.net/i2/i2-bill-api/internal/svc"
+)
+
+func PartTimeUserGetHandler(ctx *svc.ServiceContext) http.HandlerFunc {
+	return func(w http.ResponseWriter, r *http.Request) {
+
+		l := logic.NewPartTimeUserGetLogic(r.Context(), ctx)
+		resp, err := l.PartTimeUserGet()
+		if err != nil {
+			httpx.Error(w, err)
+		} else {
+			httpx.OkJson(w, resp)
+		}
+	}
+}

+ 5 - 0
internal/handler/routes.go

@@ -67,6 +67,11 @@ func RegisterHandlers(engine *rest.Server, serverCtx *svc.ServiceContext) {
 				Path:    "/api/v1/part_time_user/update",
 				Handler: part_time_user.PartTimeUserUpdateHandler(serverCtx),
 			},
+			{
+				Method:  http.MethodGet,
+				Path:    "/api/v1/part_time_user/get",
+				Handler: part_time_user.PartTimeUserGetHandler(serverCtx),
+			},
 		},
 		rest.WithJwt(serverCtx.Config.JwtAuth.AccessSecret),
 	)

+ 0 - 1
internal/logic/part_time_user/parttimeuseraddlogic.go

@@ -45,7 +45,6 @@ func (l *PartTimeUserAddLogic) PartTimeUserAdd(req types.PartTimeUserAddRequest)
 			return &types.Response{Code: 500, Msg: "你已经是兼职人员:", Data: nil}, nil
 		}
 	}
-
 	bean = &model.I2billMktPartTimeUser{
 		CreateTime:     time.Now(),
 		LastUpdateTime: time.Now(),

+ 40 - 0
internal/logic/part_time_user/parttimeusergetlogic.go

@@ -0,0 +1,40 @@
+package part_time_user
+
+import (
+	"context"
+	"git.i2edu.net/i2/go-zero/core/stores/sqlx"
+	"git.i2edu.net/i2/i2-bill-api/model"
+
+	"git.i2edu.net/i2/i2-bill-api/internal/svc"
+	"git.i2edu.net/i2/i2-bill-api/internal/types"
+
+	"git.i2edu.net/i2/go-zero/core/logx"
+)
+
+type PartTimeUserGetLogic struct {
+	logx.Logger
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+}
+
+func NewPartTimeUserGetLogic(ctx context.Context, svcCtx *svc.ServiceContext) PartTimeUserGetLogic {
+	return PartTimeUserGetLogic{
+		Logger: logx.WithContext(ctx),
+		ctx:    ctx,
+		svcCtx: svcCtx,
+	}
+}
+
+func (l *PartTimeUserGetLogic) PartTimeUserGet() (*types.Response, error) {
+	// todo: add your logic here and delete this line
+	userId := l.svcCtx.GetUserIdByJwt(l.ctx)
+	partTimeUser := new(model.I2billMktPartTimeUser)
+	err := l.svcCtx.SqlConn.QueryRow(partTimeUser, "select * from i2bill_mkt_part_time_user where user_id = ? and del_flag = 0", userId)
+	if err == sqlx.ErrNotFound {
+		return &types.Response{Code: 500, Msg: "你还没有申请成为兼职人员!", Data: nil}, nil
+	}
+	if err != nil {
+		return &types.Response{Code: 500, Msg: err.Error(), Data: nil}, nil
+	}
+	return &types.Response{Code: 200, Msg: "", Data: partTimeUser}, nil
+}

+ 2 - 0
internal/logic/part_time_user/parttimeuserupdatelogic.go

@@ -52,6 +52,8 @@ func (l *PartTimeUserUpdateLogic) PartTimeUserUpdate(req types.PartTimeUserAddRe
 	bean.CityId = req.CityId
 	bean.Sex = req.Sex
 	bean.Name = req.Name
+	bean.MkId = req.MkId
+	bean.IponeNumber = req.IponeNumber
 	bean.LastUpdateBy = userId
 	err = model.NewI2billMktPartTimeUserModel(l.svcCtx.SqlConn).Update(*bean)
 	if err != nil {

+ 3 - 3
model/i2bill_mkt_part_time_user.sql

@@ -1,4 +1,3 @@
---兼职人员表--
 DROP TABLE IF EXISTS `i2bill_mkt_part_time_user`;
 CREATE TABLE `i2bill_mkt_part_time_user`  (
   `id` int(0) NOT NULL AUTO_INCREMENT,
@@ -19,6 +18,7 @@ CREATE TABLE `i2bill_mkt_part_time_user`  (
   PRIMARY KEY (`id`) USING BTREE,
   INDEX `IDX_mkt_part_time_user_ipone_number`(`ipone_number`) USING BTREE,
   INDEX `IDX_mkt_part_time_user_name`(`name`) USING BTREE,
-  INDEX `IDX_mkt_part_time_user_sex`(`sex`) USING BTREE
+  INDEX `IDX_mkt_part_time_user_sex`(`sex`) USING BTREE,
+  INDEX `IDX_mkt_part_time_user_id`(`user_id`) USING BTREE,
+INDEX `IDX_mkt_part_time_mk_id`(`mk_id`) USING BTREE
 ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-

+ 21 - 44
model/i2billacquirermktqrmodel.go

@@ -5,7 +5,6 @@ import (
 	"fmt"
 	"strings"
 
-	"git.i2edu.net/i2/go-zero/core/stores/cache"
 	"git.i2edu.net/i2/go-zero/core/stores/sqlc"
 	"git.i2edu.net/i2/go-zero/core/stores/sqlx"
 	"git.i2edu.net/i2/go-zero/core/stringx"
@@ -17,8 +16,6 @@ var (
 	i2billAcquirerMktQrRows                = strings.Join(i2billAcquirerMktQrFieldNames, ",")
 	i2billAcquirerMktQrRowsExpectAutoSet   = strings.Join(stringx.Remove(i2billAcquirerMktQrFieldNames, "`id`", "`create_time`", "`update_time`"), ",")
 	i2billAcquirerMktQrRowsWithPlaceHolder = strings.Join(stringx.Remove(i2billAcquirerMktQrFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?"
-
-	cacheI2billAcquirerMktQrIdPrefix = "cache:i2billAcquirerMktQr:id:"
 )
 
 type (
@@ -30,45 +27,41 @@ type (
 	}
 
 	defaultI2billAcquirerMktQrModel struct {
-		sqlc.CachedConn
+		conn  sqlx.SqlConn
 		table string
 	}
 
 	I2billAcquirerMktQr struct {
-		CreateBy       sql.NullString `db:"create_by"`
-		UserId         sql.NullInt64  `db:"user_id"`     // 用户id
-		ActivityId     sql.NullString `db:"activity_id"` // 活动id
-		Qr             sql.NullString `db:"qr"`          // 二维码url
-		DelFlag        sql.NullString `db:"del_flag"`
-		CreateTime     sql.NullTime   `db:"create_time"`
-		LastUpdateTime sql.NullTime   `db:"last_update_time"`
-		LastUpdateBy   sql.NullString `db:"last_update_by"`
-		Id             int64          `db:"id"`       // 主键
-		QudaoId        sql.NullString `db:"qudao_id"` // 渠道id
+		DelFlag        sql.NullString `db:"del_flag" json:"del_flag"`
+		UserId         sql.NullInt64  `db:"user_id" json:"user_id"`         // 用户id
+		Qr             sql.NullString `db:"qr" json:"qr"`                   // 二维码url
+		ActivityId     sql.NullString `db:"activity_id" json:"activity_id"` // 活动id
+		CreateTime     sql.NullTime   `db:"create_time" json:"create_time"`
+		CreateBy       sql.NullString `db:"create_by" json:"create_by"`
+		LastUpdateTime sql.NullTime   `db:"last_update_time" json:"last_update_time"`
+		LastUpdateBy   sql.NullString `db:"last_update_by" json:"last_update_by"`
+		Id             int64          `db:"id" json:"id"`             // 主键
+		QudaoId        sql.NullString `db:"qudao_id" json:"qudao_id"` // 渠道id
 	}
 )
 
-func NewI2billAcquirerMktQrModel(conn sqlx.SqlConn, c cache.CacheConf) I2billAcquirerMktQrModel {
+func NewI2billAcquirerMktQrModel(conn sqlx.SqlConn) I2billAcquirerMktQrModel {
 	return &defaultI2billAcquirerMktQrModel{
-		CachedConn: sqlc.NewConn(conn, c),
-		table:      "`i2bill_acquirer_mkt_qr`",
+		conn:  conn,
+		table: "`i2bill_acquirer_mkt_qr`",
 	}
 }
 
 func (m *defaultI2billAcquirerMktQrModel) Insert(data I2billAcquirerMktQr) (sql.Result, error) {
 	query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?, ?, ?)", m.table, i2billAcquirerMktQrRowsExpectAutoSet)
-	ret, err := m.ExecNoCache(query, data.CreateBy, data.UserId, data.ActivityId, data.Qr, data.DelFlag, data.LastUpdateTime, data.LastUpdateBy, data.QudaoId)
-
+	ret, err := m.conn.Exec(query, data.DelFlag, data.UserId, data.Qr, data.ActivityId, data.CreateBy, data.LastUpdateTime, data.LastUpdateBy, data.QudaoId)
 	return ret, err
 }
 
 func (m *defaultI2billAcquirerMktQrModel) FindOne(id int64) (*I2billAcquirerMktQr, error) {
-	i2billAcquirerMktQrIdKey := fmt.Sprintf("%s%v", cacheI2billAcquirerMktQrIdPrefix, id)
+	query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", i2billAcquirerMktQrRows, m.table)
 	var resp I2billAcquirerMktQr
-	err := m.QueryRow(&resp, i2billAcquirerMktQrIdKey, func(conn sqlx.SqlConn, v interface{}) error {
-		query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", i2billAcquirerMktQrRows, m.table)
-		return conn.QueryRow(v, query, id)
-	})
+	err := m.conn.QueryRow(&resp, query, id)
 	switch err {
 	case nil:
 		return &resp, nil
@@ -80,29 +73,13 @@ func (m *defaultI2billAcquirerMktQrModel) FindOne(id int64) (*I2billAcquirerMktQ
 }
 
 func (m *defaultI2billAcquirerMktQrModel) Update(data I2billAcquirerMktQr) error {
-	i2billAcquirerMktQrIdKey := fmt.Sprintf("%s%v", cacheI2billAcquirerMktQrIdPrefix, data.Id)
-	_, err := m.Exec(func(conn sqlx.SqlConn) (result sql.Result, err error) {
-		query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, i2billAcquirerMktQrRowsWithPlaceHolder)
-		return conn.Exec(query, data.CreateBy, data.UserId, data.ActivityId, data.Qr, data.DelFlag, data.LastUpdateTime, data.LastUpdateBy, data.QudaoId, data.Id)
-	}, i2billAcquirerMktQrIdKey)
+	query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, i2billAcquirerMktQrRowsWithPlaceHolder)
+	_, err := m.conn.Exec(query, data.DelFlag, data.UserId, data.Qr, data.ActivityId, data.CreateBy, data.LastUpdateTime, data.LastUpdateBy, data.QudaoId, data.Id)
 	return err
 }
 
 func (m *defaultI2billAcquirerMktQrModel) Delete(id int64) error {
-
-	i2billAcquirerMktQrIdKey := fmt.Sprintf("%s%v", cacheI2billAcquirerMktQrIdPrefix, id)
-	_, err := m.Exec(func(conn sqlx.SqlConn) (result sql.Result, err error) {
-		query := fmt.Sprintf("delete from %s where `id` = ?", m.table)
-		return conn.Exec(query, id)
-	}, i2billAcquirerMktQrIdKey)
+	query := fmt.Sprintf("delete from %s where `id` = ?", m.table)
+	_, err := m.conn.Exec(query, id)
 	return err
 }
-
-func (m *defaultI2billAcquirerMktQrModel) formatPrimary(primary interface{}) string {
-	return fmt.Sprintf("%s%v", cacheI2billAcquirerMktQrIdPrefix, primary)
-}
-
-func (m *defaultI2billAcquirerMktQrModel) queryPrimary(conn sqlx.SqlConn, v, primary interface{}) error {
-	query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", i2billAcquirerMktQrRows, m.table)
-	return conn.QueryRow(v, query, primary)
-}

+ 27 - 50
model/i2billacquirerstudentmodel.go

@@ -5,7 +5,6 @@ import (
 	"fmt"
 	"strings"
 
-	"git.i2edu.net/i2/go-zero/core/stores/cache"
 	"git.i2edu.net/i2/go-zero/core/stores/sqlc"
 	"git.i2edu.net/i2/go-zero/core/stores/sqlx"
 	"git.i2edu.net/i2/go-zero/core/stringx"
@@ -17,8 +16,6 @@ var (
 	I2billAcquirerStudentRows                = strings.Join(I2billAcquirerStudentFieldNames, ",")
 	I2billAcquirerStudentRowsExpectAutoSet   = strings.Join(stringx.Remove(I2billAcquirerStudentFieldNames, "`create_time`", "`update_time`"), ",")
 	I2billAcquirerStudentRowsWithPlaceHolder = strings.Join(stringx.Remove(I2billAcquirerStudentFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?"
-
-	cacheI2billAcquirerStudentIdPrefix = "cache:i2billAcquirerStudent:id:"
 )
 
 type (
@@ -30,51 +27,47 @@ type (
 	}
 
 	defaultI2billAcquirerStudentModel struct {
-		sqlc.CachedConn
+		conn  sqlx.SqlConn
 		table string
 	}
 
 	I2billAcquirerStudent struct {
-		StuPhone        sql.NullString `db:"stu_phone"` // 联系方式
-		SchId           sql.NullInt64  `db:"sch_id"`    // 意向校区
-		DelFlag         sql.NullString `db:"del_flag"`
-		CheckState      sql.NullInt64  `db:"check_state"`     // 收单宝状态
-		UserId          sql.NullInt64  `db:"user_id"`         // 收单宝用户id
-		StuLinkPerson   sql.NullString `db:"stu_link_person"` // 联系人
-		CheckTime       sql.NullTime   `db:"check_time"`      // 审核日期
-		CheckBy         sql.NullString `db:"check_by"`        // 审核人
-		AgeGroup        string         `db:"age_group"`       // 学员年龄
-		Address         sql.NullString `db:"address"`         // 当前位置
-		CreateTime      sql.NullTime   `db:"create_time"`
-		Id              int64          `db:"id"` // 主键
-		PartTimeUserId  sql.NullInt64  `db:"part_time_user_id"`
-		NetworkDetailId sql.NullString `db:"network_detail_id"` // 渠道
-		MkId            sql.NullString `db:"mk_id"`             // 所属mk erp id
-		StuName         sql.NullString `db:"stu_name"`          // 学员名称
+		AgeGroup        string         `db:"age_group" json:"age_group"`                 // 学员年龄
+		StuPhone        sql.NullString `db:"stu_phone" json:"stu_phone"`                 // 联系方式
+		Address         sql.NullString `db:"address" json:"address"`                     // 当前位置
+		NetworkDetailId sql.NullString `db:"network_detail_id" json:"network_detail_id"` // 渠道
+		Id              int64          `db:"id" json:"id"`                               // 主键
+		MkId            sql.NullString `db:"mk_id" json:"mk_id"`                         // 所属mk erp id
+		PartTimeUserId  sql.NullInt64  `db:"part_time_user_id" json:"part_time_user_id"`
+		DelFlag         sql.NullString `db:"del_flag" json:"del_flag"`
+		CheckBy         sql.NullString `db:"check_by" json:"check_by"`               // 审核人
+		CheckState      sql.NullInt64  `db:"check_state" json:"check_state"`         // 收单宝状态
+		CheckTime       sql.NullTime   `db:"check_time" json:"check_time"`           // 审核日期
+		UserId          sql.NullInt64  `db:"user_id" json:"user_id"`                 // 收单宝用户id
+		StuName         sql.NullString `db:"stu_name" json:"stu_name"`               // 学员名称
+		StuLinkPerson   sql.NullString `db:"stu_link_person" json:"stu_link_person"` // 联系人
+		SchId           sql.NullInt64  `db:"sch_id" json:"sch_id"`                   // 意向校区
+		CreateTime      sql.NullTime   `db:"create_time" json:"create_time"`
 	}
 )
 
-func NewI2billAcquirerStudentModel(conn sqlx.SqlConn, c cache.CacheConf) I2billAcquirerStudentModel {
+func NewI2billAcquirerStudentModel(conn sqlx.SqlConn) I2billAcquirerStudentModel {
 	return &defaultI2billAcquirerStudentModel{
-		CachedConn: sqlc.NewConn(conn, c),
-		table:      "`i2bill_acquirer_student`",
+		conn:  conn,
+		table: "`i2bill_acquirer_student`",
 	}
 }
 
 func (m *defaultI2billAcquirerStudentModel) Insert(data I2billAcquirerStudent) (sql.Result, error) {
 	query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", m.table, I2billAcquirerStudentRowsExpectAutoSet)
-	ret, err := m.ExecNoCache(query, data.StuPhone, data.SchId, data.DelFlag, data.CheckState, data.UserId, data.StuLinkPerson, data.CheckTime, data.CheckBy, data.AgeGroup, data.Address, data.Id, data.PartTimeUserId, data.NetworkDetailId, data.MkId, data.StuName)
-
+	ret, err := m.conn.Exec(query, data.AgeGroup, data.StuPhone, data.Address, data.NetworkDetailId, data.Id, data.MkId, data.PartTimeUserId, data.DelFlag, data.CheckBy, data.CheckState, data.CheckTime, data.UserId, data.StuName, data.StuLinkPerson, data.SchId)
 	return ret, err
 }
 
 func (m *defaultI2billAcquirerStudentModel) FindOne(id int64) (*I2billAcquirerStudent, error) {
-	i2billAcquirerStudentIdKey := fmt.Sprintf("%s%v", cacheI2billAcquirerStudentIdPrefix, id)
+	query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", I2billAcquirerStudentRows, m.table)
 	var resp I2billAcquirerStudent
-	err := m.QueryRow(&resp, i2billAcquirerStudentIdKey, func(conn sqlx.SqlConn, v interface{}) error {
-		query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", I2billAcquirerStudentRows, m.table)
-		return conn.QueryRow(v, query, id)
-	})
+	err := m.conn.QueryRow(&resp, query, id)
 	switch err {
 	case nil:
 		return &resp, nil
@@ -86,29 +79,13 @@ func (m *defaultI2billAcquirerStudentModel) FindOne(id int64) (*I2billAcquirerSt
 }
 
 func (m *defaultI2billAcquirerStudentModel) Update(data I2billAcquirerStudent) error {
-	i2billAcquirerStudentIdKey := fmt.Sprintf("%s%v", cacheI2billAcquirerStudentIdPrefix, data.Id)
-	_, err := m.Exec(func(conn sqlx.SqlConn) (result sql.Result, err error) {
-		query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, I2billAcquirerStudentRowsWithPlaceHolder)
-		return conn.Exec(query, data.StuPhone, data.SchId, data.DelFlag, data.CheckState, data.UserId, data.StuLinkPerson, data.CheckTime, data.CheckBy, data.AgeGroup, data.Address, data.PartTimeUserId, data.NetworkDetailId, data.MkId, data.StuName, data.Id)
-	}, i2billAcquirerStudentIdKey)
+	query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, I2billAcquirerStudentRowsWithPlaceHolder)
+	_, err := m.conn.Exec(query, data.AgeGroup, data.StuPhone, data.Address, data.NetworkDetailId, data.MkId, data.PartTimeUserId, data.DelFlag, data.CheckBy, data.CheckState, data.CheckTime, data.UserId, data.StuName, data.StuLinkPerson, data.SchId, data.Id)
 	return err
 }
 
 func (m *defaultI2billAcquirerStudentModel) Delete(id int64) error {
-
-	i2billAcquirerStudentIdKey := fmt.Sprintf("%s%v", cacheI2billAcquirerStudentIdPrefix, id)
-	_, err := m.Exec(func(conn sqlx.SqlConn) (result sql.Result, err error) {
-		query := fmt.Sprintf("delete from %s where `id` = ?", m.table)
-		return conn.Exec(query, id)
-	}, i2billAcquirerStudentIdKey)
+	query := fmt.Sprintf("delete from %s where `id` = ?", m.table)
+	_, err := m.conn.Exec(query, id)
 	return err
 }
-
-func (m *defaultI2billAcquirerStudentModel) formatPrimary(primary interface{}) string {
-	return fmt.Sprintf("%s%v", cacheI2billAcquirerStudentIdPrefix, primary)
-}
-
-func (m *defaultI2billAcquirerStudentModel) queryPrimary(conn sqlx.SqlConn, v, primary interface{}) error {
-	query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", I2billAcquirerStudentRows, m.table)
-	return conn.QueryRow(v, query, primary)
-}

+ 15 - 15
model/i2billmktparttimeusermodel.go

@@ -33,21 +33,21 @@ type (
 	}
 
 	I2billMktPartTimeUser struct {
-		CheckDesc      string    `db:"check_desc"` // 审核失败描述
-		UserId         int64     `db:"user_id"`    // user_id
-		DelFlag        int64     `db:"del_flag"`
-		Name           string    `db:"name"`
-		Sex            int64     `db:"sex"`
-		CheckState     int64     `db:"check_state"` // 审核状态
-		CreateTime     time.Time `db:"create_time"`
-		LastUpdateTime time.Time `db:"last_update_time"`
-		LastUpdateBy   int64     `db:"last_update_by"`
-		Id             int64     `db:"id"`
-		IponeNumber    string    `db:"ipone_number"`
-		Target         int64     `db:"target"`  // 目标人数
-		MkId           string    `db:"mk_id"`   // 所属erp mk id
-		CityId         int64     `db:"city_id"` // 城市
-		CreateBy       int64     `db:"create_by"`
+		CheckDesc      string    `db:"check_desc" json:"check_desc"` // 审核失败描述
+		UserId         int64     `db:"user_id" json:"user_id"`       // user_id
+		DelFlag        int64     `db:"del_flag" json:"del_flag"`
+		Name           string    `db:"name" json:"name"`
+		Sex            int64     `db:"sex" json:"sex"`
+		CheckState     int64     `db:"check_state" json:"check_state"` // 审核状态
+		CreateTime     time.Time `db:"create_time" json:"create_time"`
+		LastUpdateTime time.Time `db:"last_update_time" json:"last_update_time"`
+		LastUpdateBy   int64     `db:"last_update_by" json:"last_update_by"`
+		Id             int64     `db:"id" json:"id"`
+		IponeNumber    string    `db:"ipone_number" json:"ipone_number"`
+		Target         int64     `db:"target" json:"target"`   // 目标人数
+		MkId           string    `db:"mk_id" json:"mk_id"`     // 所属erp mk id
+		CityId         int64     `db:"city_id" json:"city_id"` // 城市
+		CreateBy       int64     `db:"create_by" json:"create_by"`
 	}
 )