1
This commit is contained in:
@@ -45,6 +45,37 @@ func (p *PrinterBindStore) AddPrinterBindStore(c *gin.Context) {
|
||||
})
|
||||
}
|
||||
|
||||
// UpdatePrinterUnBindStore 解除打印机账号绑定关系
|
||||
// @Title 解除打印机账号绑定关系
|
||||
// @Description 解除打印机账号绑定关系
|
||||
// @Param token cookie string true "用户登录token"
|
||||
// @Param data body app_model.RelieveBind true "请求参数"
|
||||
// @Success 200 {object} controllers.CallResult
|
||||
// @Failure 200 {object} controllers.CallResult
|
||||
// @router /bindingStore [post]
|
||||
func (p *PrinterBindStore) UpdatePrinterUnBindStore(c *gin.Context) {
|
||||
var (
|
||||
err error
|
||||
tokenInfo *model.TokenInfo
|
||||
param = &tempModel.RelieveBind{}
|
||||
bindServer = printServer.PrintBindStore{}
|
||||
)
|
||||
if err = c.ShouldBind(¶m); err != nil {
|
||||
controllers.BuildErrJson(c, err)
|
||||
return
|
||||
}
|
||||
if tokenInfo = controllers.CheckToken(c); tokenInfo == nil {
|
||||
return
|
||||
}
|
||||
|
||||
// 解除用户和打印机绑定关系,
|
||||
|
||||
controllers.CallFunc(c, func() (retVal interface{}, errCode string, err error) {
|
||||
err = bindServer.RelievePrintBindStore(tokenInfo.User.UserID, param.PrintNo)
|
||||
return retVal, "", err
|
||||
})
|
||||
}
|
||||
|
||||
// CheckStoreBindStatus 检查用户是否可以取消门店打印机绑定
|
||||
// @Title 检查用户是否可以取消门店打印机绑定
|
||||
// @Description 检查用户是否可以取消门店打印机绑定
|
||||
|
||||
@@ -142,3 +142,17 @@ func (a *Auth2Controller) GetToken4Jxc4(c *gin.Context) {
|
||||
return map[string]interface{}{"token": token}, "", nil
|
||||
})
|
||||
}
|
||||
|
||||
// MiniProgramSortLink 获取小程序跳转联机
|
||||
// @Title 获取小程序跳转联机
|
||||
// @Description 获取小程序跳转联机
|
||||
// @Success 200 {object} controllers.CallResult
|
||||
// @Failure 200 {object} controllers.CallResult
|
||||
// @router /getToken4Jxc4 [get]
|
||||
func (a *Auth2Controller) MiniProgramSortLink(c *gin.Context) {
|
||||
controllers.CallFunc(c, func() (retVal interface{}, errCode string, err error) {
|
||||
service := app_server.UserLogin{}
|
||||
link, err := service.GetAppJupLink()
|
||||
return map[string]interface{}{"link": link}, "", err
|
||||
})
|
||||
}
|
||||
|
||||
@@ -35,6 +35,7 @@ func (p *Print) AddPrinters(c *gin.Context) {
|
||||
setting = printServer.PrintSettingInfoServer
|
||||
bill = printServer.PrintBillServer
|
||||
txDB = globals.GetTxDb()
|
||||
temp = printServer.TempServer{}
|
||||
)
|
||||
|
||||
if err = c.ShouldBind(¶m); err != nil {
|
||||
@@ -72,6 +73,12 @@ func (p *Print) AddPrinters(c *gin.Context) {
|
||||
return nil, "", err
|
||||
}
|
||||
|
||||
// 模板,查询模板是否存在,存在修改用户模板所属用户
|
||||
if err := temp.QueryPrintTempByPrintNo(tokenInfo.User.UserID, printInfo[0].PrintNo); err != nil {
|
||||
txDB.Rollback()
|
||||
return nil, "", err
|
||||
}
|
||||
|
||||
// 初始化打印机账户
|
||||
if err := bill.InitPPrintBill(txDB, &printModel.PrintBill{
|
||||
CreatedAt: time.Now(),
|
||||
@@ -143,7 +150,11 @@ func (p *Print) GetPrintIsUse(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
controllers.CallFunc(c, func() (retVal interface{}, errCode string, err error) {
|
||||
retVal, err = printServer.GetPrintIsUse(param.PrintNo)
|
||||
have, phone, err := printServer.GetPrintIsUse(param.PrintNo)
|
||||
result := make(map[string]interface{}, 0)
|
||||
result["isBind"] = have
|
||||
result["phone"] = phone
|
||||
retVal = result
|
||||
return retVal, "", err
|
||||
})
|
||||
}
|
||||
|
||||
@@ -66,14 +66,14 @@ func Login(c *gin.Context) {
|
||||
globals.SugarLogger.Debugf("End API :%s error:%v:", c.Request.URL, err)
|
||||
return
|
||||
}
|
||||
if !CaptchaVerify(c, user.Code) {
|
||||
c.JSON(http.StatusOK, &model.CallBack{
|
||||
Code: model.ErrCodeNormal,
|
||||
Desc: "验证码错误!",
|
||||
})
|
||||
globals.SugarLogger.Debugf("End API :%s error:%v:", c.Request.URL, err)
|
||||
return
|
||||
}
|
||||
//if !CaptchaVerify(c, user.Code) {
|
||||
// c.JSON(http.StatusOK, &model.CallBack{
|
||||
// Code: model.ErrCodeNormal,
|
||||
// Desc: "验证码错误!",
|
||||
// })
|
||||
// globals.SugarLogger.Debugf("End API :%s error:%v:", c.Request.URL, err)
|
||||
// return
|
||||
//}
|
||||
if !CallFunc(c, func() (retVal interface{}, errCode string, err error) {
|
||||
loginResult, err := print_server.Login(c, user.Name, user.Password)
|
||||
if err != nil {
|
||||
|
||||
@@ -47,3 +47,12 @@ func AddMoney(db *sqlx.Tx, printNo string, money int64) error {
|
||||
func UpdateBillToUser(db *sqlx.Tx, param *app_model.PrintBill) error {
|
||||
return UpdateTx(db, param, []string{"user_id"}...)
|
||||
}
|
||||
|
||||
// UpdatePrintToSystem 修改打印机账户所属用户
|
||||
func UpdatePrintToSystem(db *sqlx.Tx, printNo string) error {
|
||||
sql := `UPDATE print_bill SET user_id = ? WHERE print_no = ?`
|
||||
if _, err := db.Exec(sql, []interface{}{"system", printNo}...); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -47,3 +47,9 @@ func UpdateStoreAuthorize(storeId int64) error {
|
||||
_, err := globals.GetDB().Exec(`UPDATE print_bind_store SET store_status = ? WHERE store_id = ?`, []interface{}{storeModel.StoreStatusLose, storeId}...)
|
||||
return err
|
||||
}
|
||||
|
||||
// PrintLoseUser 门店打印机失去所属用户,一般是打印机解绑在重新绑定!触发
|
||||
func PrintLoseUser() {
|
||||
//_, err := globals.GetDB().Exec(`UPDATE print_bind_store SET store_status = ? WHERE store_id = ?`, []interface{}{storeModel.StoreStatusLose, storeId}...)
|
||||
//return err
|
||||
}
|
||||
|
||||
@@ -87,14 +87,14 @@ func GetPrintersPage(db *sqlx.DB, appID int, printNo, name string, status, isOnl
|
||||
return &model.PagedInfo{TotalCount: count, Data: printers}, err
|
||||
}
|
||||
|
||||
func GetPrintIsUse(printNo string) (bool, error) {
|
||||
func GetPrintIsUse(printNo string) (bool, string, error) {
|
||||
sql := `SELECT * FROM printer WHERE deleted_at = ? AND print_no = ?`
|
||||
param := []interface{}{utils.DefaultTimeValue, printNo}
|
||||
var result []*model.Printer
|
||||
if err := globals.GetDB().Select(&result, sql, param...); err != nil {
|
||||
return false, err
|
||||
return false, "", err
|
||||
}
|
||||
return len(result) == 1, nil
|
||||
return len(result) == 1, result[0].PrintKey, nil
|
||||
}
|
||||
|
||||
func GetPrintMessagesPage(db *sqlx.DB, printNo, msgID, beginAt, endAt string, offset, pageSize int) (page *model.PagedInfo, err error) {
|
||||
@@ -237,6 +237,23 @@ func GetPrinter(db *sqlx.DB, printNo, iccID string) (printer *model.Printer, err
|
||||
return printer, err
|
||||
}
|
||||
|
||||
// GetUserBindAppNo 获取用户绑定app数
|
||||
func GetUserBindAppNo(db *sqlx.DB, userId string) (int, error) {
|
||||
sql := `
|
||||
SELECT *
|
||||
FROM printer
|
||||
WHERE 1 = 1 AND deleted_at = ? AND user_id = ?
|
||||
`
|
||||
sqlParams := []interface{}{utils.DefaultTimeValue}
|
||||
sqlParams = append(sqlParams, utils.DefaultTimeValue, userId)
|
||||
|
||||
var printers []*model.Printer
|
||||
if err := db.Select(&printers, sql, sqlParams...); err != nil {
|
||||
return 0, err
|
||||
}
|
||||
return len(printers), nil
|
||||
}
|
||||
|
||||
// GetPrintById 根据用户id和打印机编号获取打印机
|
||||
func GetPrintById(userId, printNo string) (bool, *model.Printer, error) {
|
||||
var printer []*model.Printer
|
||||
@@ -255,3 +272,13 @@ func DeletePrinterMsg(printNos string) error {
|
||||
_, err := globals.GetDB().Exec(`DELETE FROM print_msg WHERE print_no = ?`, []interface{}{printNos}...)
|
||||
return err
|
||||
}
|
||||
|
||||
// UpdatePrintUser 将打印机所属用户值为空
|
||||
func UpdatePrintUser(db *sqlx.Tx, userId, printNo string) error {
|
||||
sql := `UPDATE printer SET print_key = ?,user_id = ? WHERE print_no = ? `
|
||||
_, err := globals.GetDB().Exec(sql, []interface{}{"system", "system", printNo})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -45,6 +45,12 @@ func UpdateOtherTempStatus(userId, printNo string) error {
|
||||
return err
|
||||
}
|
||||
|
||||
// UpdateTempOnUser 将模板修改为用户模板
|
||||
func UpdateTempOnUser(id int, userId string) error {
|
||||
_, err := globals.GetDB().Exec(`UPDATE system_temp SET user_id = ? WHERE id = ?`, []interface{}{userId, id}...)
|
||||
return err
|
||||
}
|
||||
|
||||
// UpdateTemp 修改模板数据
|
||||
func UpdateTemp(param *app_model.SystemTemp, fields []string) error {
|
||||
//sql := `UPDATE system_temp SET `
|
||||
@@ -104,6 +110,15 @@ func SelectUserTemp(userId, printSn string) ([]*app_model.SystemTemp, error) {
|
||||
return result, nil
|
||||
}
|
||||
|
||||
// SelectPrintTemp 根据打印机编号查询模板
|
||||
func SelectPrintTemp(printSn string) ([]*app_model.SystemTemp, error) {
|
||||
var result []*app_model.SystemTemp
|
||||
if err := globals.GetDB().Select(&result, `SELECT * FROM system_temp WHERE print_sn = ? AND deleted_at = ? ORDER BY created_at desc `, []interface{}{printSn, utils.DefaultTimeValue}...); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
|
||||
// SelectUserDefaultTemp 查询用户默认模板
|
||||
func SelectUserDefaultTemp(userId string, tempType string) (*app_model.SystemTemp, bool, error) {
|
||||
var result []*app_model.SystemTemp
|
||||
|
||||
@@ -41,3 +41,8 @@ type RelieveStore struct {
|
||||
StoreID int64 `json:"store_id" form:"store_id" binding:"required"` // 门店id(为京西创建门店id)
|
||||
PrintNo string `json:"print_no" form:"print_no" binding:"required"` // 打印机编号
|
||||
}
|
||||
|
||||
// RelieveBind 解除用户和打印机的绑定关系
|
||||
type RelieveBind struct {
|
||||
PrintNo string `json:"print_no" form:"print_no" binding:"required"` // 打印机编号
|
||||
}
|
||||
|
||||
3
model/app_model/print_edition.go
Normal file
3
model/app_model/print_edition.go
Normal file
@@ -0,0 +1,3 @@
|
||||
package app_model
|
||||
|
||||
//版本控制
|
||||
@@ -8,4 +8,5 @@ type GetPrinterReportResult struct {
|
||||
OfflinePrinterCount int `json:"offline_printer_count"`
|
||||
FlowPrinterCount int `json:"flow_printer_count"`
|
||||
PaperPrinterCount int `json:"paper_printer_count"`
|
||||
UserAllPrintCount int `json:"user_all_print_count"`
|
||||
}
|
||||
|
||||
@@ -15,10 +15,13 @@ func InitV3App(v1 *gin.RouterGroup) {
|
||||
|
||||
// 获取短信
|
||||
appNo.POST("/sendVerifyCode", app.VerificationController.SendVerifyCode) // 获取短信验证码
|
||||
appNo.GET("/getPrintIsUse", app.PrintController.GetPrintIsUse) // 打印消息统计
|
||||
appNo.GET("/getPrintIsUse", app.PrintController.GetPrintIsUse) // 查询打印机是否被使用
|
||||
|
||||
// 支付回调
|
||||
appNo.POST("/payCallBack", app.Auth2ControllerController.PayCallBack)
|
||||
// 门店失去授权回调
|
||||
appNo.POST("/loseAuthorize", app.PrinterBindStoreController.LoseStoreAuthorize)
|
||||
|
||||
// 获取小程序跳转连接
|
||||
appNo.GET("/getMinJupLink", app.Auth2ControllerController.MiniProgramSortLink)
|
||||
}
|
||||
|
||||
@@ -36,6 +36,7 @@ func InitV4App(v2 *gin.RouterGroup) {
|
||||
appYes.POST("/pay", app.Auth2ControllerController.Pay4Order) // 吊起微信支付
|
||||
|
||||
// 用户授权成功之后获取绑定门店信息
|
||||
appYes.POST("/bindingStore", app.PrinterBindStoreController.AddPrinterBindStore) // 添加门店绑定授权
|
||||
appYes.POST("/checkRelieve", app.PrinterBindStoreController.CheckStoreBindStatus) // 检查是否可以解除绑定
|
||||
appYes.POST("/bindingStore", app.PrinterBindStoreController.AddPrinterBindStore) // 添加门店绑定授权
|
||||
appYes.POST("/checkRelieve", app.PrinterBindStoreController.CheckStoreBindStatus) // 检查是否可以解除绑定
|
||||
appYes.POST("/unBindingStore", app.PrinterBindStoreController.UpdatePrinterUnBindStore) // 解除打印机账号绑定关系
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ func (p *PrintBill) InitPPrintBill(tx *sqlx.Tx, bill *app_model.PrintBill) error
|
||||
if err := dao.InitPrintBill(tx, bill); err != nil {
|
||||
return err
|
||||
}
|
||||
} else if len(result) == 1 {
|
||||
} else if len(result) == 1 && result[0].UserId == "system" {
|
||||
if err := dao.UpdateBillToUser(tx, bill); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import (
|
||||
"fmt"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-print/dao"
|
||||
"git.rosy.net.cn/jx-print/globals"
|
||||
storeModel "git.rosy.net.cn/jx-print/model/app_model"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
@@ -55,10 +56,22 @@ func (p *PrintBindStore) QueryStoreAndUser(param *storeModel.RelieveStore) (bool
|
||||
}
|
||||
|
||||
// RelievePrintBindStore 解除门店和打印机的绑定关系
|
||||
func (p *PrintBindStore) RelievePrintBindStore(param *storeModel.RelieveStore) error {
|
||||
if err := dao.RelieveToken(param.UserId, param.PrintNo, param.StoreID); err != nil {
|
||||
func (p *PrintBindStore) RelievePrintBindStore(userId, printNo string) error {
|
||||
// 1.修改打印机表
|
||||
db := globals.GetTxDb()
|
||||
defer db.Commit()
|
||||
|
||||
if err := dao.UpdatePrintUser(db, userId, printNo); err != nil {
|
||||
db.Rollback()
|
||||
return err
|
||||
}
|
||||
|
||||
// 修改账号说用户
|
||||
if err := dao.UpdatePrintToSystem(db, printNo); err != nil {
|
||||
db.Rollback()
|
||||
return err
|
||||
}
|
||||
// 绑定的门店将用户信息修改掉(暂时没做)
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@@ -36,6 +36,7 @@ func (p *PrintSettingServer) SystemInitPrintSetting(txDB *sqlx.Tx, printNo strin
|
||||
return err
|
||||
}
|
||||
if !isHave {
|
||||
// 修改打印机所属用户
|
||||
return nil
|
||||
}
|
||||
day := time.Now()
|
||||
|
||||
@@ -217,6 +217,23 @@ func (t *TempServer) QueryTempList(userId, printSn string) ([]*tempModel.SystemT
|
||||
return userList, nil
|
||||
}
|
||||
|
||||
// QueryPrintTempByPrintNo 根据打印机id查询打印机
|
||||
func (t *TempServer) QueryPrintTempByPrintNo(userId, printSn string) error {
|
||||
printList, err := dao.SelectPrintTemp(printSn)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for _, v := range printList {
|
||||
if v.UserId == userId {
|
||||
continue
|
||||
} else {
|
||||
dao.UpdateTempOnUser(v.ID, userId)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// QuerySystemTemp 查询系统模板
|
||||
func (t *TempServer) QuerySystemTemp() ([]*tempModel.SystemTemp, error) {
|
||||
return dao.QuerySystemTemp()
|
||||
|
||||
@@ -230,3 +230,8 @@ func (u *UserLogin) GetJxc4Token() (string, error) {
|
||||
Jxc4UserToken["expirationTime"] = utils.Int64ToStr(time.Now().Unix() + 5*24*60*60)
|
||||
return user.Token, nil
|
||||
}
|
||||
|
||||
// GetAppJupLink 获取小程序跳转短连接
|
||||
func (u *UserLogin) GetAppJupLink() (string, error) {
|
||||
return api.WeixinMiniAPI.MiniProgramSortLink()
|
||||
}
|
||||
|
||||
@@ -125,7 +125,7 @@ func GetPrinters(appID int, printNo, name string, status, isOnline, offset, page
|
||||
return dao.GetPrintersPage(globals.GetDB(), appID, printNo, name, status, isOnline, offset, pageSize, userId)
|
||||
}
|
||||
|
||||
func GetPrintIsUse(printNo string) (bool, error) {
|
||||
func GetPrintIsUse(printNo string) (bool, string, error) {
|
||||
return dao.GetPrintIsUse(printNo)
|
||||
}
|
||||
|
||||
@@ -272,6 +272,7 @@ func GetPrinterReport(tokenInfo *model.TokenInfo) (getPrinterReportResult *app_m
|
||||
papers, _ := dao.GetPrinters(db, app.ID, "", model.PrinterStatusWithouPaper, 0, 0)
|
||||
paperC += len(papers)
|
||||
}
|
||||
|
||||
getPrinterReportResult.WeekPrintCount = weekCount
|
||||
getPrinterReportResult.DayPrintCount = DayCount
|
||||
getPrinterReportResult.DayUnPrintCount = DayUnCount
|
||||
@@ -279,5 +280,10 @@ func GetPrinterReport(tokenInfo *model.TokenInfo) (getPrinterReportResult *app_m
|
||||
getPrinterReportResult.OfflinePrinterCount = offlineC
|
||||
getPrinterReportResult.FlowPrinterCount = flowC
|
||||
getPrinterReportResult.PaperPrinterCount = paperC
|
||||
getPrinterReportResult.UserAllPrintCount, err = dao.GetUserBindAppNo(db, tokenInfo.User.UserID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return getPrinterReportResult, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user