mh_goadmin_server/app/admin/apis/basic/cashier.go
chenlin c160f02a41 1.收付款方式设置调整,银行名称和账号改为非必填;
2.收付款方式默认配置的type为0,新增的type为1;
3.商品分类调整,如果父类被隐藏或显示,其子类也做对应修改;
4.新增商品资料入参调整,串码类型改为非必填;
5.新增商品资料调整,相同名称商品不允许新建;
6.零售订单审核优化,记录审核时间;
7.零售订单付款接口优化;
8.新增零售订单付款状态查询接口;
9.日志部分init时进行设置,避免test报错;
10.QueryTimeFormat格式调整,跟前端保持一致;
11.新增河马付相关密钥文件;
2023-12-21 17:36:13 +08:00

220 lines
5.6 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package basic
import (
"errors"
"github.com/gin-gonic/gin"
"go-admin/app/admin/models"
"go-admin/logger"
"go-admin/tools"
"go-admin/tools/app"
"net/http"
)
type CashierCreateRequest struct {
Name string `json:"name" binding:"required"` // 账号名称
BankName string `json:"bank_name"` // 银行全称
BankAccount string `json:"bank_account"` // 银行账号
StoreNums []uint32 `json:"store_num" binding:"required"` // 门店编号
}
// CashierCreate 新增收付款账号
// @Summary 新增收付款账号
// @Tags 收付款账号设置
// @Produce json
// @Accept json
// @Param request body CashierCreateRequest true "新增收付款账号模型"
// @Success 200 {object} app.Response
// @Router /api/v1/cashier/create [post]
func CashierCreate(c *gin.Context) {
var req = new(CashierCreateRequest)
if err := c.ShouldBindJSON(&req); err != nil {
logger.Errorf("CashierCreate ShouldBindJSON err:", err.Error())
app.Error(c, http.StatusBadRequest, errors.New("param err"), "参数错误")
return
}
err := tools.Validate(req)
if err != nil {
app.Error(c, http.StatusBadRequest, err, err.Error())
return
}
if len(req.StoreNums) <= 0 {
app.Error(c, http.StatusBadRequest, errors.New("param err"), "有效店铺为空")
return
}
cashier := &models.ErpCashier{
Name: req.Name,
BankName: req.BankName,
BankAccount: req.BankAccount,
State: 1,
Type: 1, //默认为1新增的收付款方式
Remark: "",
}
err = models.CreateAccount(cashier, req.StoreNums)
if err != nil {
app.Error(c, http.StatusBadRequest, err, err.Error())
return
}
app.OK(c, nil, "OK")
return
}
type CashierEditRequest struct {
CashierId uint32 `json:"cashier_id" binding:"required"` // 账号id
CashierCreateRequest
}
// CashierEdit 编辑收付款账号
// @Summary 编辑收付款账号
// @Tags 收付款账号设置
// @Produce json
// @Accept json
// @Param request body CashierEditRequest true "编辑收付款账号模型"
// @Success 200 {object} app.Response
// @Router /api/v1/cashier/edit [post]
func CashierEdit(c *gin.Context) {
var req = new(CashierEditRequest)
if err := c.ShouldBindJSON(&req); err != nil {
logger.Errorf("CashierEdit ShouldBindJSON err:", err.Error())
app.Error(c, http.StatusBadRequest, errors.New("param err"), "参数错误")
return
}
err := tools.Validate(req)
if err != nil {
app.Error(c, http.StatusBadRequest, err, err.Error())
return
}
if len(req.StoreNums) <= 0 {
app.Error(c, http.StatusBadRequest, errors.New("param err"), "有效店铺为空")
return
}
cashier := &models.ErpCashier{
Name: req.Name,
BankName: req.BankName,
BankAccount: req.BankAccount,
State: 1,
Remark: "",
}
cashier.ID = req.CashierId
err = models.UpdateAccount(cashier, req.StoreNums)
if err != nil {
app.Error(c, http.StatusBadRequest, err, err.Error())
return
}
app.OK(c, nil, "OK")
return
}
// CashierDelete 删除收付款账号
// @Summary 删除收付款账号
// @Tags 收付款账号设置
// @Produce json
// @Accept json
// @Param request body CashierDetailRequest true "删除收付款账号模型"
// @Success 200 {object} app.Response
// @Router /api/v1/cashier/delete [post]
func CashierDelete(c *gin.Context) {
var req = new(CashierDetailRequest)
if err := c.ShouldBindJSON(&req); err != nil {
//logger.Error(err)
app.Error(c, http.StatusBadRequest, errors.New("param err"), "参数错误")
return
}
err := tools.Validate(req)
if err != nil {
app.Error(c, http.StatusBadRequest, err, err.Error())
return
}
err = models.DeleteAccount(req.CashierId)
if err != nil {
app.Error(c, http.StatusBadRequest, err, err.Error())
return
}
app.OK(c, nil, "OK")
return
}
type CashierListRequest struct {
StoreId uint32 `json:"store_id"` // 门店编号
PageIndex int `json:"pageIndex"` // 页码
PageSize int `json:"pageSize"` // 页条数
}
// CashierList 查询收付款账号列表
// @Summary 查询收付款账号列表
// @Tags 收付款账号设置
// @Produce json
// @Accept json
// @Param request body CashierListRequest true "查询收付款账号列表模型"
// @Success 200 {object} models.ErpCashierListResp
// @Router /api/v1/cashier/list [post]
func CashierList(c *gin.Context) {
var req = new(CashierListRequest)
if err := c.ShouldBindJSON(&req); err != nil {
//logger.Error(err)
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
return
}
list, err := models.GetAccountList(int(req.StoreId), req.PageSize, req.PageIndex)
if err != nil {
app.Error(c, http.StatusBadRequest, err, err.Error())
return
}
app.OK(c, list, "OK")
return
}
type CashierDetailRequest struct {
CashierId uint32 `json:"cashier_id" binding:"required"` // 账号id
}
// CashierDetail 查询收付款账号详情
// @Summary 查询收付款账号详情
// @Tags 收付款账号设置
// @Produce json
// @Accept json
// @Param request body CashierDetailRequest true "查询收付款账号详情模型"
// @Success 200 {object} models.ErpCashierDetail
// @Router /api/v1/cashier/detail [post]
func CashierDetail(c *gin.Context) {
var req = new(CashierDetailRequest)
if err := c.ShouldBindJSON(&req); err != nil {
//logger.Error(err)
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
return
}
err := tools.Validate(req)
if err != nil {
app.Error(c, http.StatusBadRequest, err, err.Error())
return
}
list, err := models.GetAccountDetail(int(req.CashierId))
if err != nil {
app.Error(c, http.StatusBadRequest, err, err.Error())
return
}
app.OK(c, list, "OK")
return
}