| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 | /* * @description:项目用户相关数据处理 * @Author: CP * @Date: 2020-08-27 17:23:58 * @FilePath: \construction_management\services\project_account_service.go */package servicesimport (	"log"	"strconv"	"github.com/kataras/iris/v12"	"go.mod/comm"	"go.mod/conf"	"go.mod/models"	"go.mod/web/viewmodels"	"go.mod/dao"	"go.mod/datasource")//定义项目用户Service接口type ProjectAccountService interface {	ValidRule(ctx iris.Context) (viewmodels.ProjectAccount, error)	Save(viewAccount viewmodels.ProjectAccount, in int) error	Get(id int) *viewmodels.ProjectAccount}//返回service操作类type projectAccountService struct {	dao *dao.ProjectAccountDao}//创建项目用户servicefunc NewProjectAccountService() ProjectAccountService {	return &projectAccountService{		dao: dao.NewProjectAccountDao(datasource.InstanceDbMaster()),	}}// 获得一个项目用户func (s *projectAccountService) Get(id int) *viewmodels.ProjectAccount {	modelsAccount := s.dao.Get(id)	viewAccountData := viewmodels.ProjectAccount{}	if modelsAccount.Id == 0 {		viewAccountData.Id = "0"		return &viewAccountData	}	aesId, _ := comm.AesEncrypt(strconv.Itoa(modelsAccount.Id), conf.SignSecret)	aesProjectId, _ := comm.AesEncrypt(strconv.Itoa(modelsAccount.ProjectId), conf.SignSecret)	viewAccountData.Id = aesId	viewAccountData.ProjectId = aesProjectId	viewAccountData.Account = modelsAccount.Account	viewAccountData.Name = modelsAccount.Name	viewAccountData.Company = modelsAccount.Company	viewAccountData.Role = modelsAccount.Role	viewAccountData.Mobile = modelsAccount.Mobile	viewAccountData.Telephone = modelsAccount.Telephone	return &viewAccountData}// 用户规则验证func (s *projectAccountService) ValidRule(ctx iris.Context) (viewmodels.ProjectAccount, error) {	accountVaild := viewmodels.ProjectAccount{}	err := ctx.ReadForm(&accountVaild)	if err != nil {		log.Println("account-ValidRule-ReadForm转换异常, error=", err)		return accountVaild, err	}	err = accountVaild.Validate()	if err != nil {		log.Println("用户验证, error=", err)		return accountVaild, err	}	return accountVaild, nil}// 保存用户信息func (s *projectAccountService) Save(viewAccount viewmodels.ProjectAccount, id int) error {	account := models.CmProjectAccount{}	account.Id = id	account.Name = viewAccount.Name	account.Company = viewAccount.Company	account.Role = viewAccount.Role	account.Mobile = viewAccount.Mobile	account.Telephone = viewAccount.Telephone	err := s.dao.Update(&account, []string{"Name", "Company", "Role", "Mobile", "Telephone"})	return err}
 |