|
@@ -3,17 +3,13 @@ package service
|
|
|
import (
|
|
|
"app.yhyue.com/moapp/jybase/common"
|
|
|
"app.yhyue.com/moapp/jybase/encrypt"
|
|
|
- elastic "app.yhyue.com/moapp/jybase/esv1"
|
|
|
"fmt"
|
|
|
IC "jyBXCore/rpc/init"
|
|
|
"jyBXCore/rpc/type/bxcore"
|
|
|
"strings"
|
|
|
- "time"
|
|
|
)
|
|
|
|
|
|
const (
|
|
|
- IndexProjectSet = "projectset" // 项目信息es index
|
|
|
- TypeProjectSet = "projectset" // 项目信息es type
|
|
|
TableEntnicheUser = "entniche_user" // 企业用户表
|
|
|
TableParticipateUser = "participate_user" // 参标用户表
|
|
|
PositionTypeEnt = 1 // 职位类型企业
|
|
@@ -22,7 +18,8 @@ const (
|
|
|
ButtonValueParticipated = 1 // 按钮显示值 列表页面 1-已参标
|
|
|
RoleEntManager = 1 // 企业管理员角色
|
|
|
RoleDepartManager = 2 // 部门管理员角色
|
|
|
-
|
|
|
+ BidTypeDirect = 1 // 直接投标
|
|
|
+ BidTypeChanel = 2 // 渠道投标
|
|
|
)
|
|
|
|
|
|
type ParticipateBid struct {
|
|
@@ -42,34 +39,6 @@ func NewParticipateBid(entId, entUserId, positionType, positionId int64) Partici
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-// GetProjectByInfoId 根据查询有效的参标项目id(未到开标时间及开标时间不存在的)
|
|
|
-func (p *ParticipateBid) GetProjectByInfoId(infoIds []string) *[]map[string]interface{} {
|
|
|
- if len(infoIds) == 0 {
|
|
|
- return nil
|
|
|
- }
|
|
|
- nowTime := time.Now().Unix()
|
|
|
- query := `{"_source":["_id","list.infoid"],"query": {"bool": {"must": [{"terms": {"list.infoid": ["` + strings.Join(infoIds, "\",\"") + `"]}},
|
|
|
- {"bool": {"should": [{"range": {"bidopentime": {"gte": ` + fmt.Sprint(nowTime) + `}}},
|
|
|
- {"constant_score": {"filter": {"missing": {"field": "bidopentime"
|
|
|
- } } } }] }}]}}}`
|
|
|
-
|
|
|
- projectResult := elastic.Get(IndexProjectSet, TypeProjectSet, query)
|
|
|
- return projectResult
|
|
|
-
|
|
|
-}
|
|
|
-
|
|
|
-// GetProject 根据信息id查询项目id
|
|
|
-func (p *ParticipateBid) GetProject(infoIds []string) *[]map[string]interface{} {
|
|
|
- if len(infoIds) == 0 {
|
|
|
- return nil
|
|
|
- }
|
|
|
- query := `{"_source":["_id","list.infoid","ids","bidopentime"],"query":{"bool":{"must":[{"terms":{"list.infoid":["` + strings.Join(infoIds, "\",\"") + `"]}}]}}}`
|
|
|
-
|
|
|
- projectResult := elastic.Get(IndexProjectSet, TypeProjectSet, query)
|
|
|
- return projectResult
|
|
|
-
|
|
|
-}
|
|
|
-
|
|
|
// PersonalExistProject 个人版要展示的参标按钮 查询出已经参标的项目信息 用于后边格式化数据
|
|
|
func (p *ParticipateBid) PersonalExistProject(projectId []string) map[string]struct{} {
|
|
|
// 1. 查询出已经参标的
|
|
@@ -136,11 +105,6 @@ func (p *ParticipateBid) EntExistProject(projectId []string) map[string]string {
|
|
|
}
|
|
|
|
|
|
// ListEntFormat 企业版 列表页数据格式化
|
|
|
-// 判断企业下是否有参标人
|
|
|
-// - 无参标人 展示参标按钮
|
|
|
-// - 有参标人 判断是否包含自己
|
|
|
-// 如果包含自己 显示已参标
|
|
|
-// 不包含自己 则判断企业是否允许多人参标 允许 则显示参标按钮 不允许 则不显示
|
|
|
func (p *ParticipateBid) ListEntFormat(existProjectMap, infoM map[string]string, isAllow bool) []*bxcore.ShowInfo {
|
|
|
// 处理成 要返回的返回数据
|
|
|
var formatList []*bxcore.ShowInfo
|
|
@@ -168,13 +132,6 @@ func (p *ParticipateBid) ListEntFormat(existProjectMap, infoM map[string]string,
|
|
|
}
|
|
|
|
|
|
// DetailEntFormat 企业版 详情页数据格式化 返回数据 参标按钮 终止参标按钮 转给同事按钮 参标人姓名
|
|
|
-// 判断企业下是否有参标人
|
|
|
-// - 无参标人&&没有到开标时间 展示参标按钮 其余按钮不显示
|
|
|
-// - 有参标人 展示参标人信息
|
|
|
-// - 未到开标时间
|
|
|
-// - 管理员 未到开标时间 展示 转给同事、终止参标
|
|
|
-// - 包含自己 展示终止参标 不包含自己如果允许多人参标 展示参标按钮
|
|
|
-//
|
|
|
func (p *ParticipateBid) DetailEntFormat(existProjectMap map[string]string, isValid, isAllow bool) (formatData *bxcore.ParticipateDetailInfo) {
|
|
|
// 处理成 要返回的返回数据
|
|
|
formatData = &bxcore.ParticipateDetailInfo{}
|
|
@@ -296,3 +253,35 @@ func GetNameByUserIds(ids string) *[]map[string]interface{} {
|
|
|
1. 验证参标人
|
|
|
2. 更新 存操作记录
|
|
|
*/
|
|
|
+// 更新投标状态
|
|
|
+func (p *ParticipateBid) updateBidStatus() {
|
|
|
+
|
|
|
+ // 更新
|
|
|
+
|
|
|
+ // 存操作记录
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+// 处理操作记录
|
|
|
+//var (
|
|
|
+// BidTypeKey = map[string]interface{}{
|
|
|
+//
|
|
|
+// }
|
|
|
+// ParticipateBidContentKey = map[string]interface{}{
|
|
|
+// "bidType":map[string]interface{}{
|
|
|
+// "name":"投标类型",
|
|
|
+// "updateAction":"调整",
|
|
|
+// "valueType":2,
|
|
|
+// "valueMap":map[int]interface{}{
|
|
|
+// BidTypeDirect:"直接投标",
|
|
|
+// BidTypeChanel:"渠道投标",
|
|
|
+// },
|
|
|
+// },
|
|
|
+// "isWin":map[string]interface{}{
|
|
|
+// "name":map[int]string{
|
|
|
+// 1:
|
|
|
+// },
|
|
|
+//
|
|
|
+// },
|
|
|
+// }
|
|
|
+//)
|