1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- /*
- * @description:项目用户相关数据处理
- * @Author: CP
- * @Date: 2020-08-27 17:23:58
- * @FilePath: \construction_management\services\project_account_service.go
- */
- package services
- import (
- "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
- }
- //创建项目用户service
- func 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)
- viewAccountData.Id = aesId
- 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
- }
|