|
@@ -651,6 +651,162 @@ func (this *UserController) List() {
|
|
|
br.Msg = "获取成功"
|
|
|
}
|
|
|
|
|
|
+// PotentialList
|
|
|
+// @Title 潜在用户列表
|
|
|
+// @Description 潜在用户列表
|
|
|
+// @Param PageSize query int true "每页数据条数"
|
|
|
+// @Param CurrentIndex query int true "当前页页码,从1开始"
|
|
|
+// @Param KeyWord query string true "手机号/邮箱"
|
|
|
+// @Param RegisterStartDate query string true "注册开始时间"
|
|
|
+// @Param RegisterEndDate query string true "注册结束时间"
|
|
|
+// @Param LastUpdateStartDate query string true "最后一次阅读开始时间"
|
|
|
+// @Param LastUpdateEndDate query string true "最后一次阅读结束时间"
|
|
|
+// @Param SortParam query string true "排序字段"
|
|
|
+// @Param SortType query string true "排序方式"
|
|
|
+// @Success 200 {object} response.UserListResp
|
|
|
+// @router /potential/list [get]
|
|
|
+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 = "获取成功"
|
|
|
+}
|
|
|
+
|
|
|
// Detail
|
|
|
// @Title 用户详情信息
|
|
|
// @Description 用户详情信息
|