|
@@ -651,6 +651,162 @@ func (this *UserController) List() {
|
|
|
br.Msg = "获取成功"
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+func (this *UserController) PotentialList() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ pageSize, _ := this.GetInt("PageSize")
|
|
|
+ currentIndex, _ := this.GetInt("CurrentIndex")
|
|
|
+ keyWord := this.GetString("KeyWord")
|
|
|
+ registerStartDate := this.GetString("RegisterStartDate")
|
|
|
+ registerEndDate := this.GetString("RegisterEndDate")
|
|
|
+ lastUpdateStartDate := this.GetString("LastUpdateStartDate")
|
|
|
+ lastUpdateEndDate := this.GetString("LastUpdateEndDate")
|
|
|
+ sortParma := this.GetString("SortParam")
|
|
|
+ sortType := this.GetString("SortType")
|
|
|
+
|
|
|
+ var sortCondition string
|
|
|
+ var condition string
|
|
|
+ var pars []interface{}
|
|
|
+
|
|
|
+ if keyWord != "" {
|
|
|
+ condition += ` AND ( u.phone LIKE ? OR u.email LIKE ?) `
|
|
|
+ pars = utils.GetLikeKeywordPars(pars, keyWord, 2)
|
|
|
+ }
|
|
|
+
|
|
|
+ if pageSize <= 0 {
|
|
|
+ pageSize = utils.PageSize20
|
|
|
+ } else if pageSize > utils.PageSize100 {
|
|
|
+ pageSize = utils.PageSize100
|
|
|
+ }
|
|
|
+ if currentIndex <= 0 {
|
|
|
+ currentIndex = 1
|
|
|
+ }
|
|
|
+
|
|
|
+ if sortParma != "" && sortType != "" {
|
|
|
+ sortCondition = " ORDER BY "
|
|
|
+ var param, sort string
|
|
|
+ switch sortParma {
|
|
|
+ case "RegisterTime":
|
|
|
+ param = "u.register_time"
|
|
|
+ case "LastUpdateTime":
|
|
|
+ param = "last_update_time"
|
|
|
+ case "ReadCnt":
|
|
|
+ param = "read_cnt"
|
|
|
+ }
|
|
|
+ switch sortType {
|
|
|
+ case "asc":
|
|
|
+ sort = " ASC "
|
|
|
+ case "desc":
|
|
|
+ sort = " DESC "
|
|
|
+ }
|
|
|
+ if param != "" && sort != "" {
|
|
|
+ sortCondition += param + " " + sort
|
|
|
+ } else {
|
|
|
+ sortCondition = ""
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if registerStartDate != "" {
|
|
|
+ registerStartTime, er := time.Parse(utils.FormatDate, registerStartDate)
|
|
|
+ if er != nil {
|
|
|
+ br.Msg = "日期格式有误"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ condition += " AND u.register_time>? "
|
|
|
+ pars = append(pars, registerStartTime)
|
|
|
+ }
|
|
|
+ if registerEndDate != "" {
|
|
|
+ registerEndTime, er := time.Parse(utils.FormatDate, registerEndDate)
|
|
|
+ if er != nil {
|
|
|
+ br.Msg = "日期格式有误"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ condition += " AND u.register_time<? "
|
|
|
+ pars = append(pars, registerEndTime)
|
|
|
+ }
|
|
|
+ if lastUpdateStartDate != "" {
|
|
|
+ lastUpdateStartTime, er := time.Parse(utils.FormatDate, lastUpdateStartDate)
|
|
|
+ if er != nil {
|
|
|
+ br.Msg = "日期格式有误"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ condition += " AND ur.create_time>? "
|
|
|
+ pars = append(pars, lastUpdateStartTime)
|
|
|
+ }
|
|
|
+ if lastUpdateEndDate != "" {
|
|
|
+ lastUpdateEndTime, er := time.Parse(utils.FormatDate, lastUpdateEndDate)
|
|
|
+ if er != nil {
|
|
|
+ br.Msg = "日期格式有误"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ condition += " AND ur.create_time<? "
|
|
|
+ pars = append(pars, lastUpdateEndTime)
|
|
|
+ }
|
|
|
+ if pageSize <= 0 {
|
|
|
+ pageSize = utils.PageSize20
|
|
|
+ } else if pageSize > utils.PageSize100 {
|
|
|
+ pageSize = utils.PageSize100
|
|
|
+ }
|
|
|
+ if currentIndex <= 0 {
|
|
|
+ currentIndex = 1
|
|
|
+ }
|
|
|
+ startSize := utils.StartIndex(currentIndex, pageSize)
|
|
|
+
|
|
|
+ total, err := models.GetPotentialUserCountByConditon(condition, pars)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ resp := new(response.UserListResp)
|
|
|
+ if total == 0 {
|
|
|
+ page := paging.GetPaging(currentIndex, pageSize, total)
|
|
|
+ resp.Paging = page
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Data = resp
|
|
|
+ return
|
|
|
+ }
|
|
|
+ userIds, err := models.GetPotentialUserIdsByConditon(condition, pars)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "查询用户失败"
|
|
|
+ br.Msg = "查询用户失败,系统错误,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ userList, err := models.GetPotentialUserListByConditonSort(userIds, sortCondition, startSize, pageSize)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "查询用户失败"
|
|
|
+ br.Msg = "查询用户失败,系统错误,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ page := paging.GetPaging(currentIndex, pageSize, total)
|
|
|
+ resp.Paging = page
|
|
|
+ resp.List = userList
|
|
|
+
|
|
|
+ br.Data = resp
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+}
|
|
|
+
|
|
|
|
|
|
|
|
|
|