package controllers

import (
	"wechat-conf/models"
	"wechat-conf/utils"
)

/**
* Context 说明
* - 所有 stuct 类型均不是指针
* - 包含内容如下
* user					SysUser 									用户基本信息
* customer			TaCustomer 								会员基本信息
* userMap				TaUserMapping 						用户/会员 映射第三方账户
* cases					[]SysUserCase 						用户所有案场信息
* currentCase		SysUserCase 							当前案场
* org						SysOrg 										用户当前组织
**/

// initContext 初始化 Context
func (c *BaseController) initContext() {
	c.Context = utils.NewContext(models.DBEngine, nil)
	c.Context.Ready()
}

// initContext 销毁 Context
func (c *BaseController) destroyContext(ok ...bool) {
	if len(ok) == 0 || ok[0] {
		c.Context.DB.Commit()
	} else {
		c.Context.DB.Rollback()
	}

	c.Context.Destroy()
}

func (c *BaseController) DestroyContext() {
	c.destroyContext()
}