list
This commit is contained in:
parent
cb1a1c6f42
commit
f05158e5bd
|
@ -66,7 +66,7 @@ type StaffUpdateReq struct {
|
||||||
PayeeBankCard string `json:"payee_bank_card"`
|
PayeeBankCard string `json:"payee_bank_card"`
|
||||||
PayeeAlipayUid string `json:"payee_alipay_uid"`
|
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) {
|
func (s *StaffUser) From(m *model.StaffUser) {
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
package controller
|
package controller
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
|
||||||
"enterprise/common/config"
|
|
||||||
"enterprise/common/dao"
|
"enterprise/common/dao"
|
||||||
"enterprise/server/api"
|
"enterprise/server/api"
|
||||||
"enterprise/server/service"
|
"enterprise/server/service"
|
||||||
|
@ -50,34 +48,7 @@ func (s *Staff) List(ctx *gin.Context) {
|
||||||
var req api.StaffListReq
|
var req api.StaffListReq
|
||||||
session.CheckParamError(ctx.ShouldBind(&req))
|
session.CheckParamError(ctx.ShouldBind(&req))
|
||||||
req.Default()
|
req.Default()
|
||||||
|
total, items := service.NewStaffUser().List(sess, &req)
|
||||||
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)
|
|
||||||
}
|
|
||||||
|
|
||||||
ctx.JSON(http.StatusOK, session.NewListRsp(total, items))
|
ctx.JSON(http.StatusOK, session.NewListRsp(total, items))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@ package service
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"enterprise/common/config"
|
||||||
"enterprise/common/dao"
|
"enterprise/common/dao"
|
||||||
"enterprise/common/model"
|
"enterprise/common/model"
|
||||||
"enterprise/server/api"
|
"enterprise/server/api"
|
||||||
|
@ -50,6 +51,36 @@ func (s *StaffUser) Login(sess *session.AdminSession, req *api.StaffLoginReq) in
|
||||||
return data
|
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) {
|
func (s *StaffUser) Create(sess *session.AdminSession, req *api.StaffCreateReq) {
|
||||||
|
|
||||||
staffUser, err := dao.NewStaffUserDao().GetByUsername(sess.GetAdmin().CorpId, req.Username)
|
staffUser, err := dao.NewStaffUserDao().GetByUsername(sess.GetAdmin().CorpId, req.Username)
|
||||||
|
|
Loading…
Reference in New Issue