| | |
| | | package v1 |
| | | |
| | | import ( |
| | | "aps_crm/constvar" |
| | | "aps_crm/model" |
| | | "aps_crm/model/request" |
| | | "aps_crm/model/response" |
| | | "aps_crm/pkg/contextx" |
| | | "aps_crm/pkg/ecode" |
| | | "aps_crm/utils" |
| | | "errors" |
| | | "github.com/gin-gonic/gin" |
| | | "strconv" |
| | | "time" |
| | | ) |
| | | |
| | |
| | | return |
| | | } |
| | | |
| | | count, err := model.NewFollowRecordSearch().SetNumber(followRecord.Number).Count() |
| | | if err != nil { |
| | | ctx.FailWithMsg(ecode.UnknownErr, "编码验证失败") |
| | | return |
| | | } |
| | | if count > 0 { |
| | | ctx.FailWithMsg(ecode.UnknownErr, "编码已存在") |
| | | return |
| | | } |
| | | |
| | | if followRecord.MemberId == 0 { |
| | | userInfo := utils.GetUserInfo(c) |
| | | if userInfo.UserType == constvar.UserTypeSub { |
| | | followRecord.MemberId = userInfo.CrmUserId |
| | | } |
| | | } |
| | | |
| | | errCode = followRecordService.AddFollowRecord(followRecord) |
| | | if errCode != ecode.OK { |
| | | ctx.Fail(errCode) |
| | |
| | | // @Tags FollowRecord |
| | | // @Summary 删除跟进记录 |
| | | // @Produce application/json |
| | | // @Param id path string true "跟进记录id" |
| | | // @Param object body request.DeleteFollowRecord true "查询参数" |
| | | // @Success 200 {object} contextx.Response{} |
| | | // @Router /api/followRecord/delete/{id} [delete] |
| | | // @Router /api/followRecord/delete [delete] |
| | | func (fr *FollowRecordApi) Delete(c *gin.Context) { |
| | | ctx, ok := contextx.NewContext(c, nil) |
| | | var params request.DeleteFollowRecord |
| | | ctx, ok := contextx.NewContext(c, ¶ms) |
| | | if !ok { |
| | | return |
| | | } |
| | | |
| | | id, _ := strconv.Atoi(c.Param("id")) |
| | | errCode := followRecordService.DeleteFollowRecord(id) |
| | | errCode := followRecordService.DeleteFollowRecord(params.Ids) |
| | | if errCode != ecode.OK { |
| | | ctx.Fail(errCode) |
| | | return |
| | |
| | | followRecordModel.Purpose = followRecord.Purpose |
| | | followRecordModel.Content = followRecord.Content |
| | | followRecordModel.Record = followRecord.Record |
| | | followRecordModel.CodeStandID = followRecord.CodeStandID |
| | | |
| | | return ecode.OK, &followRecordModel |
| | | } |
| | | |
| | | // checkTimeFormat |
| | | // 检查时间格式 |
| | | func checkTimeFormat(t string) (time.Time, error) { |
| | | func checkTimeFormat(t string) (*model.CustomTime, error) { |
| | | if t == "" { |
| | | t = "1900-01-01T00:00:00+08:00" |
| | | return nil, nil |
| | | } |
| | | |
| | | location, err := time.LoadLocation("Asia/Shanghai") |
| | | if err != nil { |
| | | return time.Time{}, err |
| | | return nil, err |
| | | } |
| | | |
| | | tt, err := time.Parse("2006-01-02T15:04:05.000Z", t) |
| | | tt, err := time.Parse("2006-01-02", t) |
| | | if err == nil { |
| | | return tt.In(location), nil |
| | | ret := tt.In(location) |
| | | tmp := model.CustomTime(ret) |
| | | return &tmp, nil |
| | | } |
| | | |
| | | tt, err = time.Parse("2006-01-02T15:04:05-07:00", t) |
| | | tt, err = time.Parse("2006-01-02 15:04:05", t) |
| | | if err == nil { |
| | | return tt.In(location), nil |
| | | ret := tt.In(location) |
| | | tmp := model.CustomTime(ret) |
| | | return &tmp, nil |
| | | } |
| | | |
| | | return time.Time{}, err |
| | | //tt, err = time.Parse("2006-01-02T15:04:05-07:00", t) |
| | | //if err == nil { |
| | | // ret := tt.In(location) |
| | | // return &ret, nil |
| | | //} |
| | | |
| | | return nil, errors.New("invalid time format") |
| | | } |
| | | |
| | | // List |
| | |
| | | return |
| | | } |
| | | |
| | | followRecords, total, errCode := followRecordService.GetFollowRecordList(params.Page, params.PageSize, params.Keyword) |
| | | userInfo := utils.GetUserInfo(c) |
| | | if userInfo.UserType == constvar.UserTypeSub { |
| | | if params.SearchMap == nil { |
| | | params.SearchMap = make(map[string]interface{}, 0) |
| | | } |
| | | params.SearchMap["member_ids"] = userInfo.SubUserIds |
| | | } |
| | | |
| | | followRecords, total, errCode := followRecordService.GetFollowRecordList(params.Page, params.PageSize, params.SearchMap) |
| | | if errCode != ecode.OK { |
| | | ctx.Fail(errCode) |
| | | return |
| | |
| | | List: followRecords, |
| | | Count: int(total), |
| | | }) |
| | | } |
| | | } |