Files
LingXi-CRM/server/api/customer.go
T

125 lines
3.3 KiB
Go
Raw Normal View History

2022-11-28 16:38:30 +08:00
package api
import (
"crm/models"
"crm/response"
"crm/service"
2023-01-24 20:03:35 +08:00
"log"
2022-11-28 16:38:30 +08:00
"strconv"
"github.com/gin-gonic/gin"
)
type CustomerApi struct {
customerService *service.CustomerService
}
func NewCustomerApi() *CustomerApi {
customerApi := CustomerApi{
customerService: &service.CustomerService{},
}
return &customerApi
}
// 创建产品
func (c *CustomerApi) Create(context *gin.Context) {
var param models.CustomerCreateParam
uid, _ := strconv.Atoi(context.Request.Header.Get("uid"))
err := context.ShouldBind(&param)
if uid <= 0 || err != nil {
response.Result(response.ErrCodeParamInvalid, nil, context)
return
}
param.Creator = int64(uid)
errCode := c.customerService.Create(&param)
response.Result(errCode, nil, context)
}
// 更新产品
func (c *CustomerApi) Update(context *gin.Context) {
var param models.CustomerUpdateParam
if err := context.ShouldBind(&param); err != nil {
response.Result(response.ErrCodeParamInvalid, nil, context)
return
}
errCode := c.customerService.Update(&param)
response.Result(errCode, nil, context)
}
2023-01-24 20:03:35 +08:00
// 发送邮件给客户
func (c *CustomerApi) SendMail(context *gin.Context) {
var param models.CustomerSendMailParam
uid, _ := strconv.Atoi(context.Request.Header.Get("uid"))
err := context.ShouldBind(&param)
if uid <= 0 || err != nil {
response.Result(response.ErrCodeParamInvalid, nil, context)
log.Println(err)
return
}
param.Uid = int64(uid)
errCode := c.customerService.SendMail(&param)
response.Result(errCode, nil, context)
}
2022-11-28 16:38:30 +08:00
// 删除客户
func (c *CustomerApi) Delete(context *gin.Context) {
var param models.CustomerDeleteParam
if err := context.ShouldBind(&param); err != nil {
response.Result(response.ErrCodeParamInvalid, nil, context)
return
}
errCode := c.customerService.Delete(&param)
response.Result(errCode, nil, context)
}
// 查询客户列表
2023-01-25 16:10:16 +08:00
func (c *CustomerApi) GetList(context *gin.Context) {
2022-11-28 16:38:30 +08:00
var param models.CustomerQueryParam
uid, _ := strconv.Atoi(context.Request.Header.Get("uid"))
err := context.ShouldBind(&param)
if uid <= 0 || err != nil {
response.Result(response.ErrCodeParamInvalid, nil, context)
return
}
param.Creator = int64(uid)
2023-01-25 16:10:16 +08:00
customerList, rows, errCode := c.customerService.GetList(&param)
2022-11-28 16:38:30 +08:00
response.PageResult(errCode, customerList, rows, context)
}
// 查询客户信息
2023-01-25 16:10:16 +08:00
func (c *CustomerApi) GetInfo(context *gin.Context) {
2022-11-28 16:38:30 +08:00
var param models.CustomerQueryParam
if err := context.ShouldBind(&param); err != nil {
response.Result(response.ErrCodeParamInvalid, nil, context)
return
}
2023-01-25 16:10:16 +08:00
customerInfo, errCode := c.customerService.GetInfo(&param)
2022-11-28 16:38:30 +08:00
response.Result(errCode, customerInfo, context)
}
// 查询客户选项
2023-01-25 16:10:16 +08:00
func (c *CustomerApi) GetOption(context *gin.Context) {
2022-11-28 16:38:30 +08:00
uid, _ := strconv.Atoi(context.Request.Header.Get("uid"))
if uid <= 0 {
response.Result(response.ErrCodeParamInvalid, nil, context)
return
}
2023-01-25 16:10:16 +08:00
customerOption, errCode := c.customerService.GetOption(int64(uid))
2022-11-28 16:38:30 +08:00
response.Result(errCode, customerOption, context)
}
2022-12-27 19:18:58 +08:00
// 导出Excel文件
func (c *CustomerApi) Export(context *gin.Context) {
uid, _ := strconv.Atoi(context.Request.Header.Get("uid"))
if uid <= 0 {
response.Result(response.ErrCodeParamInvalid, nil, context)
return
}
file, errCode := c.customerService.Export(int64(uid))
if len(file) >= 0 && errCode != 0 {
response.Result(errCode, nil, context)
return
}
context.File(file)
}