| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 | package controllersimport (	"Medical_ERP/common/actions"	"Medical_ERP/common/global"	_ "Medical_ERP/common/response"	"Medical_ERP/conf"	"Medical_ERP/dto"	"Medical_ERP/models"	"Medical_ERP/services"	"encoding/json"	"errors"	"github.com/go-resty/resty/v2"	"gogs.baozhida.cn/zoie/OAuth-core/pkg/jwtauth/beegouser")type ProductCodeController struct {	BaseController}// Gen 生成条码// @Summary 生成条码// @Description 生成条码// @Tags 产品条码// @Param body body dto.BarcodePageReq true "body"// @Success 200 {object} response.Page "{"code": 200, "data": [...]}"// @Router /sales/list [post]// @Security Bearerfunc (c ProductCodeController) Gen() {	s := services.ProductCode{}	reqData := dto.GenProductCodePageReq{}	if err := c.ParseAndValidate(&c.Ctx.Input.RequestBody, &reqData); err != nil {		err = errors.New("解析表单数据异常")		c.Error(global.ParseFormErr, err, err.Error())		return	}	deptId := beegouser.GetDeptId(c.Ctx)	err := s.CreateProductCode(&reqData, deptId)	if err != nil {		c.Error(500, err, err.Error())		return	}	client := resty.New()	resp, err := client.R().		SetBody(map[string]interface{}{			"product_name":    reqData.Product,			"enterprise_name": reqData.Enterprise,			"spec_name":       reqData.Spec,			"batch_number":    reqData.BatchNumber,			"quantity":        reqData.Quantity,		}).		Post(conf.BZD_pcodeUrl)	if err != nil {		c.Error(400, err, err.Error())		return	}	type Resp struct {		Code int    `json:"Code"`		Msg  string `json:"Msg"`		Data string `json:"Data"`	}	var res Resp	if err = json.Unmarshal(resp.Body(), &res); err != nil {		c.Error(400, err, err.Error())		return	}	if res.Code != 200 {		err = errors.New(res.Msg)		c.Error(400, err, err.Error())	}	c.OK(res.Data, "生成成功")}// List 通过关键字查询条码信息// @Summary 生成条码// @Description 生成条码// @Tags 产品条码// @Param body body dto.BarcodePageReq true "body"// @Success 200 {object} response.Page "{"code": 200, "data": [...]}"// @Router /sales/list [post]// @Security Bearerfunc (c ProductCodeController) List() {	s := services.ProductCode{}	reqData := dto.ProductCodePageReq{}	if err := c.ParseAndValidate(&c.Ctx.Input.RequestBody, &reqData); err != nil {		err = errors.New("解析表单数据异常")		c.Error(global.ParseFormErr, err, err.Error())		return	}	list := make([]models.ProductCode, 0)	var count int64	//数据权限检查	p := actions.GetPermissionFromContext(c.Ctx)	err := s.GetPage(&reqData, &list, &count, p)	if err != nil {		c.Error(global.BadRequest, err, err.Error())		return	}	c.PageOK(list, int(count), reqData.GetPageIndex(), reqData.GetPageSize(), "查询成功")}
 |