list
This commit is contained in:
parent
cb1a1c6f42
commit
f05158e5bd
|
@ -66,7 +66,7 @@ type StaffUpdateReq struct {
|
|||
PayeeBankCard string `json:"payee_bank_card"`
|
||||
PayeeAlipayUid string `json:"payee_alipay_uid"`
|
||||
|
||||
Config map[string]interface{} `json:"config"`
|
||||
Config map[string]string `json:"config"`
|
||||
}
|
||||
|
||||
func (s *StaffUser) From(m *model.StaffUser) {
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
package controller
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"enterprise/common/config"
|
||||
"enterprise/common/dao"
|
||||
"enterprise/server/api"
|
||||
"enterprise/server/service"
|
||||
|
@ -50,34 +48,7 @@ func (s *Staff) List(ctx *gin.Context) {
|
|||
var req api.StaffListReq
|
||||
session.CheckParamError(ctx.ShouldBind(&req))
|
||||
req.Default()
|
||||
|
||||
staffs, total, err := dao.NewStaffUserDao().Query(req.Page, req.Size, sess.GetCorpId(), cast.ToInt(req.Status), req.Username, req.Realname, req.Phone, req.Idno)
|
||||
session.CheckDBError(err)
|
||||
items := make([]*api.StaffUser, 0)
|
||||
|
||||
corpStaffConfig := cast.ToSlice(config.GetCorpConfig(sess.GetCorpId(), "staff_config", nil))
|
||||
|
||||
for _, st := range staffs {
|
||||
i := new(api.StaffUser)
|
||||
i.From(st)
|
||||
calculator, _ := dao.NewSalaryCalculatorDao().Get(cast.ToInt64(i.SalaryCalculator))
|
||||
if calculator != nil {
|
||||
i.SalaryCalculatorName = calculator.Name
|
||||
}
|
||||
|
||||
// config
|
||||
var staffConfig map[string]interface{}
|
||||
json.Unmarshal([]byte(st.Config), &staffConfig)
|
||||
config := make([]map[string]interface{}, 0)
|
||||
for _, kv := range corpStaffConfig {
|
||||
obj := cast.ToStringMap(kv)
|
||||
obj["value"] = staffConfig[cast.ToString(obj["key"])]
|
||||
config = append(config, obj)
|
||||
}
|
||||
i.Config = config
|
||||
items = append(items, i)
|
||||
}
|
||||
|
||||
total, items := service.NewStaffUser().List(sess, &req)
|
||||
ctx.JSON(http.StatusOK, session.NewListRsp(total, items))
|
||||
}
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@ package service
|
|||
|
||||
import (
|
||||
"encoding/json"
|
||||
"enterprise/common/config"
|
||||
"enterprise/common/dao"
|
||||
"enterprise/common/model"
|
||||
"enterprise/server/api"
|
||||
|
@ -50,6 +51,36 @@ func (s *StaffUser) Login(sess *session.AdminSession, req *api.StaffLoginReq) in
|
|||
return data
|
||||
}
|
||||
|
||||
func (s *StaffUser) List(sess *session.AdminSession, req *api.StaffListReq) (int64, interface{}) {
|
||||
|
||||
staffs, total, err := dao.NewStaffUserDao().Query(req.Page, req.Size, sess.GetCorpId(), cast.ToInt(req.Status), req.Username, req.Realname, req.Phone, req.Idno)
|
||||
session.CheckDBError(err)
|
||||
items := make([]*api.StaffUser, 0)
|
||||
|
||||
corpStaffConfig := cast.ToSlice(config.GetCorpConfig(sess.GetCorpId(), "staff_config", nil))
|
||||
|
||||
for _, st := range staffs {
|
||||
i := new(api.StaffUser)
|
||||
i.From(st)
|
||||
calculator, _ := dao.NewSalaryCalculatorDao().Get(cast.ToInt64(i.SalaryCalculator))
|
||||
if calculator != nil {
|
||||
i.SalaryCalculatorName = calculator.Name
|
||||
}
|
||||
|
||||
// config
|
||||
var staffConfig map[string]interface{}
|
||||
json.Unmarshal([]byte(st.Config), &staffConfig)
|
||||
config := make([]map[string]interface{}, 0)
|
||||
for _, kv := range corpStaffConfig {
|
||||
obj := cast.ToStringMap(kv)
|
||||
obj["value"] = cast.ToString(staffConfig[cast.ToString(obj["key"])])
|
||||
config = append(config, obj)
|
||||
}
|
||||
i.Config = config
|
||||
items = append(items, i)
|
||||
}
|
||||
return total, items
|
||||
}
|
||||
func (s *StaffUser) Create(sess *session.AdminSession, req *api.StaffCreateReq) {
|
||||
|
||||
staffUser, err := dao.NewStaffUserDao().GetByUsername(sess.GetAdmin().CorpId, req.Username)
|
||||
|
|
Loading…
Reference in New Issue