123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447 |
- package admin
- import (
- "github.com/gin-gonic/gin"
- "os"
- "server/dao"
- "server/global"
- "server/model/common/request"
- "server/model/common/response"
- "strconv"
- )
- type FinanceApi struct{}
- func (fa *FinanceApi) QueryDailyExpensesList(c *gin.Context) {
- var info request.SearchDailyFee
- err := c.ShouldBindJSON(&info)
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("QueryDailyExpensesList ====== " + err.Error())
- return
- }
- list, total, err := financeService.QueryDailyExpensesList(info)
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("QueryDailyExpensesList ====== " + err.Error())
- return
- }
- response.OkWithDetailed(response.PageResult{
- List: list,
- Total: total,
- Page: info.PageInfo.Page,
- PageSize: info.PageInfo.PageSize,
- }, "获取成功", c)
- }
- func (fa *FinanceApi) QueryDailyExpenses(c *gin.Context) {
- v := c.Query("id")
- id, err := strconv.Atoi(v)
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("QueryDailyExpenses ====== " + err.Error())
- return
- }
- expenses, err := financeService.QueryDailyExpenses(id)
- if err != nil {
- }
- details, err := dao.QueryDailyFeeDetails(int(expenses.ID))
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("QueryDailyExpenses ====== " + err.Error())
- return
- }
- response.OkWithData(details, c)
- }
- func (fa *FinanceApi) QueryExpensesGenre(c *gin.Context) {
- genre, err := financeService.QueryExpensesGenre()
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("QueryExpensesGenre ====== " + err.Error())
- return
- }
- response.OkWithData(genre, c)
- }
- func (fa *FinanceApi) QueryProjectFeeGenre(c *gin.Context) {
- genre, err := financeService.QueryProjectFeeGenre()
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("QueryProjectFeeGenre ====== " + err.Error())
- return
- }
- response.OkWithData(genre, c)
- }
- func (fa *FinanceApi) QueryBorrowingList(c *gin.Context) {
- var info request.SearchNameTime
- err := c.ShouldBindJSON(&info)
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("QueryBorrowingList ====== " + err.Error())
- return
- }
- list, total, err := financeService.QueryBorrowingList(info)
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("QueryBorrowingList ====== " + err.Error())
- return
- }
- response.OkWithDetailed(response.PageResult{
- List: list,
- Total: total,
- Page: info.PageInfo.Page,
- PageSize: info.PageInfo.PageSize,
- }, "获取成功", c)
- }
- func (fa *FinanceApi) QueryBorrowing(c *gin.Context) {
- v := c.Query("id")
- id, err := strconv.Atoi(v)
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("QueryBorrowing ====== " + err.Error())
- return
- }
- borrowing, err := financeService.QueryBorrowing(id)
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("QueryBorrowing ====== " + err.Error())
- return
- }
- response.OkWithData(borrowing, c)
- }
- func (fa *FinanceApi) QueryDailyFileList(c *gin.Context) {
- var info request.SearchIdNameGenre
- err := c.ShouldBindJSON(&info)
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("QueryDailyFileList ====== " + err.Error())
- return
- }
- list, total, err := financeService.QueryDailyFileList(info)
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("QueryDailyFileList ====== " + err.Error())
- return
- }
- response.OkWithDetailed(response.PageResult{
- List: list,
- Total: total,
- Page: info.PageInfo.Page,
- PageSize: info.PageInfo.PageSize,
- }, "获取成功", c)
- }
- func (fa *FinanceApi) QueryProjectFinance(c *gin.Context) {
- code := c.Query("code")
- finance, err := financeService.QueryProjectFinance(code)
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("QueryProjectFinance ====== " + err.Error())
- return
- }
- response.OkWithData(finance, c)
- }
- func (fa *FinanceApi) CreateDailyExpenses(c *gin.Context) {
- var expenses dao.DailyExpenses
- err := c.ShouldBindJSON(&expenses)
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("CreateDailyExpenses ====== " + err.Error())
- return
- }
- err = financeService.CreateDailyExpenses(expenses)
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("CreateDailyExpenses ====== " + err.Error())
- return
- }
- response.OkWithMessage("新增成功", c)
- }
- func (fa *FinanceApi) CreateExpensesGenre(c *gin.Context) {
- var expensesGenre dao.ExpensesGenre
- err := c.ShouldBindJSON(&expensesGenre)
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("CreateExpensesGenre ====== " + err.Error())
- return
- }
- err = financeService.CreateExpensesGenre(expensesGenre)
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("CreateExpensesGenre ====== " + err.Error())
- return
- }
- response.OkWithMessage("新增成功", c)
- }
- func (fa *FinanceApi) CreateProjectFeeGenre(c *gin.Context) {
- var projectFeeGenre dao.ProjectFeeGenre
- err := c.ShouldBindJSON(&projectFeeGenre)
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("CreateProjectFeeGenre ====== " + err.Error())
- return
- }
- err = financeService.CreateProjectFeeGenre(projectFeeGenre)
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("CreateProjectFeeGenre ====== " + err.Error())
- return
- }
- response.OkWithMessage("新增成功", c)
- }
- func (fa *FinanceApi) CreateBorrowing(c *gin.Context) {
- var borrowing dao.Borrowing
- err := c.ShouldBindJSON(&borrowing)
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("CreateBorrowing ====== " + err.Error())
- return
- }
- err = financeService.CreateBorrowing(borrowing)
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("CreateBorrowing ====== " + err.Error())
- return
- }
- response.OkWithMessage("新增成功", c)
- }
- func (fa *FinanceApi) CreateDailyFile(c *gin.Context) {
- form, err := c.MultipartForm()
- if err != nil {
- response.FailWithMessage("失败", c)
- return
- }
- files := form.File["file"]
- genre := c.PostForm("genre")
- if len(genre) <= 0 {
- response.FailWithMessage("类型为空", c)
- return
- }
- id := c.PostForm("id")
- genreId, err := strconv.Atoi(genre)
- if err != nil {
- response.FailWithMessage("错误", c)
- global.GVA_LOG.Error("CreateDailyFile ====== " + err.Error())
- return
- }
- userId, err := strconv.Atoi(id)
- if err != nil {
- response.FailWithMessage("错误", c)
- global.GVA_LOG.Error("CreateDailyFile ====== " + err.Error())
- return
- }
- fileGenre, err := fileService.QueryFileGenreById(genreId)
- if err != nil {
- response.FailWithMessage("错误", c)
- global.GVA_LOG.Error("CreateDailyFile ====== " + err.Error())
- return
- }
- for _, file := range files {
- dst := file.Filename
- var path = "./uploads/file/" + id + "/" + fileGenre.Name + "/" + dst
- dailFile := dao.DailyFile{
- UserId: userId,
- Name: dst,
- Genre: genreId,
- Path: path,
- }
- // gin 简单做了封装,拷贝了文件流
- if err := c.SaveUploadedFile(file, path); err != nil {
- response.FailWithMessage("上传失败", c)
- return
- }
- err = financeService.CreateDailyFile(dailFile)
- if err != nil {
- response.FailWithMessage("上传失败", c)
- return
- }
- }
- response.OkWithMessage("上传成功", c)
- }
- func (fa *FinanceApi) UpdateDailyExpenses(c *gin.Context) {
- var expenses dao.DailyExpenses
- err := c.ShouldBindJSON(&expenses)
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("UpdateDailyExpenses ====== " + err.Error())
- return
- }
- err = financeService.UpdateDailyExpenses(expenses)
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("UpdateDailyExpenses ====== " + err.Error())
- return
- }
- response.OkWithMessage("更新成功", c)
- }
- func (fa *FinanceApi) UpdateExpensesGenre(c *gin.Context) {
- var expensesGenre dao.ExpensesGenre
- err := c.ShouldBindJSON(&expensesGenre)
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("UpdateExpensesGenre ====== " + err.Error())
- return
- }
- err = financeService.UpdateExpensesGenre(expensesGenre)
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("UpdateExpensesGenre ====== " + err.Error())
- return
- }
- response.OkWithMessage("更新成功", c)
- }
- func (fa *FinanceApi) UpdateProjectFeeGenre(c *gin.Context) {
- var projectFeeGenre dao.ProjectFeeGenre
- err := c.ShouldBindJSON(&projectFeeGenre)
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("UpdateProjectFeeGenre ====== " + err.Error())
- return
- }
- err = financeService.UpdateProjectFeeGenre(projectFeeGenre)
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("UpdateProjectFeeGenre ====== " + err.Error())
- return
- }
- response.OkWithMessage("更新成功", c)
- }
- func (fa *FinanceApi) UpdateBorrowing(c *gin.Context) {
- var borrowing dao.Borrowing
- err := c.ShouldBindJSON(&borrowing)
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("UpdateBorrowing ====== " + err.Error())
- return
- }
- err = financeService.UpdateBorrowing(borrowing)
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("UpdateBorrowing ====== " + err.Error())
- return
- }
- response.OkWithMessage("更新成功", c)
- }
- func (fa *FinanceApi) DeleteDailyExpenses(c *gin.Context) {
- var expenses dao.DailyExpenses
- err := c.ShouldBindJSON(&expenses)
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("DeleteDailyExpenses ====== " + err.Error())
- return
- }
- err = financeService.DeleteDailyExpenses(expenses)
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("DeleteDailyExpenses ====== " + err.Error())
- return
- }
- response.OkWithMessage("删除成功", c)
- }
- func (fa *FinanceApi) DeleteExpensesGenre(c *gin.Context) {
- var expensesGenre dao.ExpensesGenre
- err := c.ShouldBindJSON(&expensesGenre)
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("DeleteExpensesGenre ====== " + err.Error())
- return
- }
- err = financeService.DeleteExpensesGenre(expensesGenre)
- if err != nil {
- if err.Error() == "费用类型正在被使用" {
- response.FailWithMessage("费用类型正在被使用", c)
- global.GVA_LOG.Error("DeleteExpensesGenre ====== " + err.Error())
- return
- }
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("DeleteExpensesGenre ====== " + err.Error())
- return
- }
- response.OkWithMessage("删除成功", c)
- }
- func (fa *FinanceApi) DeleteProjectFeeGenre(c *gin.Context) {
- var projectFeeGenre dao.ProjectFeeGenre
- err := c.ShouldBindJSON(&projectFeeGenre)
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("DeleteProjectFeeGenre ====== " + err.Error())
- return
- }
- err = financeService.DeleteProjectFeeGenre(projectFeeGenre)
- if err != nil {
- if err.Error() == "项目收费类型正在被使用" {
- response.FailWithMessage("项目收费类型正在被使用", c)
- global.GVA_LOG.Error("DeleteProjectFeeGenre ====== " + err.Error())
- return
- }
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("DeleteProjectFeeGenre ====== " + err.Error())
- return
- }
- response.OkWithMessage("删除成功", c)
- }
- func (fa *FinanceApi) DeleteBorrowing(c *gin.Context) {
- var borrowing dao.Borrowing
- err := c.ShouldBindJSON(&borrowing)
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("DeleteBorrowing ====== " + err.Error())
- return
- }
- err = financeService.DeleteBorrowing(borrowing)
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("DeleteBorrowing ====== " + err.Error())
- return
- }
- response.OkWithMessage("删除成功", c)
- }
- func (fa *FinanceApi) DeleteDailyFile(c *gin.Context) {
- var dailyFile dao.DailyFile
- err := c.ShouldBindJSON(&dailyFile)
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("DeleteDailyFile ====== " + err.Error())
- return
- }
- err = os.Remove(dailyFile.Path)
- if err != nil {
- // 如果发生错误,打印错误信息
- response.FailWithMessage("删除文件时发生错误", c)
- global.GVA_LOG.Error("删除文件时发生错误: " + err.Error())
- return
- }
- err = financeService.DeleteDailyFile(dailyFile)
- if err != nil {
- response.FailWithMessage("失败", c)
- global.GVA_LOG.Error("DeleteDailyFile ====== " + err.Error())
- return
- }
- response.OkWithMessage("删除成功", c)
- }
|