|
@@ -3,6 +3,7 @@ package eta_business
|
|
|
import (
|
|
|
"encoding/json"
|
|
|
"fmt"
|
|
|
+ "github.com/rdlucklib/rdluck_tools/paging"
|
|
|
"hongze/hz_crm_api/controllers"
|
|
|
"hongze/hz_crm_api/models"
|
|
|
"hongze/hz_crm_api/models/eta_business"
|
|
@@ -26,8 +27,8 @@ type EtaBusinessController struct {
|
|
|
// @Param SigningStatus query string false "签约状态: 1-首次签约; 2-续约中; 3-已终止"
|
|
|
// @Param Province query string false "省份筛选"
|
|
|
// @Param City query string false "城市筛选"
|
|
|
-// @Param SortParam query string false "排序字段: SignTime-签约时间; ExpireTime-到期时间; CreateTime-创建时间; UserMax-用户上限"
|
|
|
-// @Param SortType query string false "排序类型: Asc-正序; Desc-倒序"
|
|
|
+// @Param SortParam query int false "排序字段: 1-签约时间; 2-到期时间; 3-创建时间; 4-用户上限"
|
|
|
+// @Param SortType query int false "排序类型: 1-正序; 2-倒序"
|
|
|
// @Success 200 Ret=200 获取成功
|
|
|
// @router /page_list [get]
|
|
|
func (this *EtaBusinessController) PageList() {
|
|
@@ -46,8 +47,21 @@ func (this *EtaBusinessController) PageList() {
|
|
|
br.Ret = 408
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+ // 分页
|
|
|
+ pageSize, _ := this.GetInt("PageSize")
|
|
|
+ currentIndex, _ := this.GetInt("CurrentIndex")
|
|
|
+ var startSize int
|
|
|
+ if pageSize <= 0 {
|
|
|
+ pageSize = utils.PageSize20
|
|
|
+ }
|
|
|
+ if currentIndex <= 0 {
|
|
|
+ currentIndex = 1
|
|
|
+ }
|
|
|
+ startSize = utils.StartIndex(currentIndex, pageSize)
|
|
|
+
|
|
|
// 权限校验
|
|
|
- resp := make([]*eta_business.EtaBusinessItem, 0)
|
|
|
+ resp := new(eta_business.EtaBusinessListResp)
|
|
|
ok, e := etaBusinessService.CheckEtaBusinessOperateAuth(sysUser.RoleTypeCode)
|
|
|
if e != nil {
|
|
|
br.Msg = "操作失败"
|
|
@@ -55,6 +69,7 @@ func (this *EtaBusinessController) PageList() {
|
|
|
return
|
|
|
}
|
|
|
if !ok {
|
|
|
+ resp.Paging = paging.GetPaging(currentIndex, pageSize, 0)
|
|
|
br.Data = resp
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
@@ -64,82 +79,121 @@ func (this *EtaBusinessController) PageList() {
|
|
|
|
|
|
cond := ``
|
|
|
pars := make([]interface{}, 0)
|
|
|
- order := ``
|
|
|
- // 关键词
|
|
|
- keyword := this.GetString("Keyword", "")
|
|
|
- keyword = strings.TrimSpace(keyword)
|
|
|
- if keyword != "" {
|
|
|
- kw := fmt.Sprint("%", keyword, "%")
|
|
|
- cond += fmt.Sprintf(` AND (%s = ? OR %s = ? OR %s = ?)`, eta_business.EtaBusinessColumns.BusinessName, eta_business.EtaBusinessColumns.BusinessCode, eta_business.EtaBusinessColumns.CreditCode)
|
|
|
- pars = append(pars, kw, kw, kw)
|
|
|
- }
|
|
|
- // 销售
|
|
|
- sellerIds := this.GetString("SellerIds", "")
|
|
|
- if sellerIds != "" {
|
|
|
- arr := strings.Split(sellerIds, ",")
|
|
|
- ids := make([]int, 0)
|
|
|
- for _, s := range arr {
|
|
|
- v, e := strconv.Atoi(s)
|
|
|
- if e != nil {
|
|
|
- br.Msg = "销售ID有误"
|
|
|
+ // 筛选项
|
|
|
+ {
|
|
|
+ // 关键词
|
|
|
+ keyword := this.GetString("Keyword", "")
|
|
|
+ keyword = strings.TrimSpace(keyword)
|
|
|
+ if keyword != "" {
|
|
|
+ kw := fmt.Sprint("%", keyword, "%")
|
|
|
+ cond += fmt.Sprintf(` AND (%s LIKE ? OR %s LIKE ? OR %s LIKE ?)`, eta_business.EtaBusinessColumns.BusinessName, eta_business.EtaBusinessColumns.BusinessCode, eta_business.EtaBusinessColumns.CreditCode)
|
|
|
+ pars = append(pars, kw, kw, kw)
|
|
|
+ }
|
|
|
+
|
|
|
+ // 销售
|
|
|
+ sellerIds := this.GetString("SellerIds", "")
|
|
|
+ if sellerIds != "" {
|
|
|
+ arr := strings.Split(sellerIds, ",")
|
|
|
+ ids := make([]int, 0)
|
|
|
+ for _, s := range arr {
|
|
|
+ v, e := strconv.Atoi(s)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "销售ID有误"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ ids = append(ids, v)
|
|
|
+ }
|
|
|
+ if len(ids) == 0 {
|
|
|
+ resp.Paging = paging.GetPaging(currentIndex, pageSize, 0)
|
|
|
+ br.Data = resp
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
return
|
|
|
}
|
|
|
- ids = append(ids, v)
|
|
|
+ cond += fmt.Sprintf(` AND %s IN (%s)`, eta_business.EtaBusinessColumns.SellerId, utils.GetOrmInReplace(len(ids)))
|
|
|
+ pars = append(pars, ids)
|
|
|
}
|
|
|
- if len(ids) == 0 {
|
|
|
- br.Data = resp
|
|
|
- br.Ret = 200
|
|
|
- br.Success = true
|
|
|
- br.Msg = "获取成功"
|
|
|
- return
|
|
|
+
|
|
|
+ // 签约状态
|
|
|
+ signingStatus, _ := this.GetInt("SigningStatus", 0)
|
|
|
+ if signingStatus > 0 {
|
|
|
+ cond += fmt.Sprintf(` AND %s = ?`, eta_business.EtaBusinessColumns.SigningStatus)
|
|
|
+ pars = append(pars, signingStatus)
|
|
|
}
|
|
|
- cond += fmt.Sprintf(` AND %s IN (%s)`, eta_business.EtaBusinessColumns.SellerId, utils.GetOrmInReplace(len(ids)))
|
|
|
- pars = append(pars, ids)
|
|
|
- }
|
|
|
- // 签约状态
|
|
|
- signingStatus, _ := this.GetInt("SigningStatus", 0)
|
|
|
- if signingStatus > 0 {
|
|
|
- cond += fmt.Sprintf(` AND %s = ?`, eta_business.EtaBusinessColumns.SigningStatus)
|
|
|
- pars = append(pars, signingStatus)
|
|
|
- }
|
|
|
- // TODO:商家地址(多选)
|
|
|
- province := this.GetString("Province", "")
|
|
|
- province = strings.TrimSpace(province)
|
|
|
- if province != "" {
|
|
|
|
|
|
+ // 商家地址
|
|
|
+ province := this.GetString("Province", "")
|
|
|
+ province = strings.TrimSpace(province)
|
|
|
+ if province != "" {
|
|
|
+ provinceArr := strings.Split(province, ",")
|
|
|
+ if len(provinceArr) == 0 {
|
|
|
+ resp.Paging = paging.GetPaging(currentIndex, pageSize, 0)
|
|
|
+ br.Data = resp
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ cond += fmt.Sprintf(` AND %s IN (%s)`, eta_business.EtaBusinessColumns.Province, utils.GetOrmInReplace(len(provinceArr)))
|
|
|
+ pars = append(pars, provinceArr)
|
|
|
+ }
|
|
|
+ city := this.GetString("City", "")
|
|
|
+ city = strings.TrimSpace(city)
|
|
|
+ if city != "" {
|
|
|
+ cityArr := strings.Split(city, ",")
|
|
|
+ if len(cityArr) == 0 {
|
|
|
+ resp.Paging = paging.GetPaging(currentIndex, pageSize, 0)
|
|
|
+ br.Data = resp
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ cond += fmt.Sprintf(` AND %s IN (%s)`, eta_business.EtaBusinessColumns.City, utils.GetOrmInReplace(len(cityArr)))
|
|
|
+ pars = append(pars, cityArr)
|
|
|
+ }
|
|
|
}
|
|
|
- //if province != "" {
|
|
|
- // var provinceSql string
|
|
|
- // slice := strings.Split(province, ",")
|
|
|
- // for _, v := range slice {
|
|
|
- // provinceSql += "'" + v + "'" + ","
|
|
|
- // }
|
|
|
- // provinceSql = strings.TrimRight(provinceSql, ",")
|
|
|
- // condition += ` AND a.province IN (` + provinceSql + `) `
|
|
|
- //}
|
|
|
- //
|
|
|
- //if city != "" {
|
|
|
- // var citySql string
|
|
|
- // slice := strings.Split(city, ",")
|
|
|
- // for _, v := range slice {
|
|
|
- // citySql += "'" + v + "'" + ","
|
|
|
- // }
|
|
|
- // citySql = strings.TrimRight(citySql, ",")
|
|
|
- // condition += ` AND a.city IN (` + citySql + `) `
|
|
|
- //}
|
|
|
|
|
|
- // @Param SortParam query string false "排序字段: SignTime-签约时间; ExpireTime-到期时间; CreateTime-创建时间; UserMax-用户上限"
|
|
|
- // @Param SortType query string false "排序类型: Asc-正序; Desc-倒序"
|
|
|
- // TODO:排序
|
|
|
+ order := ``
|
|
|
+ // 排序
|
|
|
+ {
|
|
|
+ fieldArr := []int{1, 2, 3, 4}
|
|
|
+ typeArr := []int{1, 2}
|
|
|
+ fieldMap := map[int]string{
|
|
|
+ 1: "signing_time",
|
|
|
+ 2: "expired_time",
|
|
|
+ 3: "create_time",
|
|
|
+ 4: "user_max",
|
|
|
+ }
|
|
|
+ typeMap := map[int]string{
|
|
|
+ 1: "ASC",
|
|
|
+ 2: "DESC",
|
|
|
+ }
|
|
|
+
|
|
|
+ sortParam, _ := this.GetInt("SortParam", 0)
|
|
|
+ sortType, _ := this.GetInt("SortType", 0)
|
|
|
+ if utils.InArrayByInt(fieldArr, sortParam) && utils.InArrayByInt(typeArr, sortType) {
|
|
|
+ order = fmt.Sprintf("%s %s", fieldMap[sortParam], typeMap[sortType])
|
|
|
+ }
|
|
|
+ fmt.Println("order: ", order)
|
|
|
+ }
|
|
|
|
|
|
// 获取列表
|
|
|
businessOb := new(eta_business.EtaBusiness)
|
|
|
- list, e := businessOb.GetItemsByCondition(cond, pars, []string{}, order)
|
|
|
+ total, e := businessOb.GetCountByCondition(cond, pars)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取商家总数失败, Err: " + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ list, e := businessOb.GetPageItemsByCondition(cond, pars, []string{}, order, startSize, pageSize)
|
|
|
if e != nil {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = "获取商家列表失败, Err: " + e.Error()
|
|
|
return
|
|
|
}
|
|
|
+ items := make([]*eta_business.EtaBusinessItem, 0)
|
|
|
for _, v := range list {
|
|
|
b := new(eta_business.EtaBusinessItem)
|
|
|
b.EtaBusinessId = v.EtaBusinessId
|
|
@@ -162,9 +216,11 @@ func (this *EtaBusinessController) PageList() {
|
|
|
b.ExpiredTime = v.ExpiredTime.Format(utils.FormatDate)
|
|
|
b.CreateTime = v.CreateTime.Format(utils.FormatDateTime)
|
|
|
b.ModifyTime = v.ModifyTime.Format(utils.FormatDateTime)
|
|
|
- resp = append(resp, b)
|
|
|
+ items = append(items, b)
|
|
|
}
|
|
|
|
|
|
+ resp.List = items
|
|
|
+ resp.Paging = paging.GetPaging(currentIndex, pageSize, total)
|
|
|
br.Data = resp
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
@@ -321,7 +377,7 @@ func (this *EtaBusinessController) Add() {
|
|
|
br.Data = true
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
|
- br.Msg = "操作成功"
|
|
|
+ br.Msg = "校验通过"
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -352,6 +408,7 @@ func (this *EtaBusinessController) Add() {
|
|
|
businessItem.BusinessName = req.BusinessName
|
|
|
businessItem.BusinessCode = businessCode
|
|
|
businessItem.CreditCode = req.CreditCode
|
|
|
+ businessItem.RegionType = req.RegionType
|
|
|
businessItem.Province = req.Province
|
|
|
businessItem.City = req.City
|
|
|
businessItem.Address = req.Province + req.City
|
|
@@ -957,6 +1014,7 @@ func (this *EtaBusinessController) ContractList() {
|
|
|
now := time.Now().Local()
|
|
|
for _, v := range list {
|
|
|
b := new(eta_business.EtaBusinessContractItem)
|
|
|
+ b.EtaBusinessContractId = v.EtaBusinessContractId
|
|
|
b.EtaBusinessId = v.EtaBusinessId
|
|
|
b.SigningTime = v.SigningTime.Format(utils.FormatDate)
|
|
|
b.ExpiredTime = v.ExpiredTime.Format(utils.FormatDate)
|
|
@@ -971,7 +1029,7 @@ func (this *EtaBusinessController) ContractList() {
|
|
|
}
|
|
|
b.ExpireDay = "-"
|
|
|
if now.After(v.SigningTime) && now.Before(endTime) {
|
|
|
- diff := utils.GetDiffDays(now, v.ExpiredTime)
|
|
|
+ diff := utils.GetDiffDays(v.ExpiredTime, now)
|
|
|
b.ExpireDay = strconv.Itoa(diff)
|
|
|
b.Using = true
|
|
|
}
|