config2
This commit is contained in:
parent
cafc163b5e
commit
a3236808fa
|
@ -41,7 +41,6 @@ type QyWeixin struct {
|
||||||
CheckinAgent string `toml:"checkin_agent"`
|
CheckinAgent string `toml:"checkin_agent"`
|
||||||
CheckinSecret string `toml:"checkin_secret"`
|
CheckinSecret string `toml:"checkin_secret"`
|
||||||
CheckinGroup string `toml:"checkin_group"`
|
CheckinGroup string `toml:"checkin_group"`
|
||||||
CheckinPayMoney string `toml:"checkin_pay_money"`
|
|
||||||
CheckinPayTitle string `toml:"checkin_pay_title"`
|
CheckinPayTitle string `toml:"checkin_pay_title"`
|
||||||
CheckinPayThresold float64 `toml:"checkin_pay_thresold"`
|
CheckinPayThresold float64 `toml:"checkin_pay_thresold"`
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@ type CheckinMoney struct {
|
||||||
CheckinId int64
|
CheckinId int64
|
||||||
CheckinType string
|
CheckinType string
|
||||||
BillNo string
|
BillNo string
|
||||||
|
BillAmount int64
|
||||||
CreateTime int64
|
CreateTime int64
|
||||||
UpdateTime int64
|
UpdateTime int64
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,6 +15,7 @@ addr="127.0.0.1:6379"
|
||||||
db=0
|
db=0
|
||||||
password=""
|
password=""
|
||||||
|
|
||||||
|
|
||||||
[qyweixin]
|
[qyweixin]
|
||||||
corpid = "ww43c49db2e88a17f8"
|
corpid = "ww43c49db2e88a17f8"
|
||||||
hr_agent = "3010185"
|
hr_agent = "3010185"
|
||||||
|
@ -24,6 +25,7 @@ enterprise_secret = "oMB24UhKe50-XPTg7vhnwoTuhEXaq5XeiHPAUtF4hOs"
|
||||||
checkin_agent = "3010011"
|
checkin_agent = "3010011"
|
||||||
checkin_secret = "6ljYNGt4DonZLmr9SCtgkTlOvtqmsOchBrTWwGl_GpU"
|
checkin_secret = "6ljYNGt4DonZLmr9SCtgkTlOvtqmsOchBrTWwGl_GpU"
|
||||||
checkin_group = "1,2"
|
checkin_group = "1,2"
|
||||||
|
checkin_pay_title = "工作餐补贴"
|
||||||
checkin_pay_thresold = 11
|
checkin_pay_thresold = 11
|
||||||
pay_secret = "JCGsxntR4E7wrEEQvWGr8_wdKtRlw48n-W6zd8lbwc4"
|
pay_secret = "JCGsxntR4E7wrEEQvWGr8_wdKtRlw48n-W6zd8lbwc4"
|
||||||
pay_agent = "3010046"
|
pay_agent = "3010046"
|
||||||
|
|
|
@ -24,7 +24,6 @@ enterprise_secret = "oMB24UhKe50-XPTg7vhnwoTuhEXaq5XeiHPAUtF4hOs"
|
||||||
checkin_agent = "3010011"
|
checkin_agent = "3010011"
|
||||||
checkin_secret = "6ljYNGt4DonZLmr9SCtgkTlOvtqmsOchBrTWwGl_GpU"
|
checkin_secret = "6ljYNGt4DonZLmr9SCtgkTlOvtqmsOchBrTWwGl_GpU"
|
||||||
checkin_group = "1,2"
|
checkin_group = "1,2"
|
||||||
checkin_pay_money = 20
|
|
||||||
checkin_pay_title = "工作餐补贴"
|
checkin_pay_title = "工作餐补贴"
|
||||||
checkin_pay_thresold = 11
|
checkin_pay_thresold = 11
|
||||||
pay_secret = "JCGsxntR4E7wrEEQvWGr8_wdKtRlw48n-W6zd8lbwc4"
|
pay_secret = "JCGsxntR4E7wrEEQvWGr8_wdKtRlw48n-W6zd8lbwc4"
|
||||||
|
|
|
@ -40,11 +40,12 @@ func NotifyCheckinOnDuty(checkin *model.Checkin) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if cast.ToBool(userConfig.Get(model.CheckinOndutyMoneyEnable)) == true {
|
if isOndutyPay(checkin, userConfig) {
|
||||||
payMoney := cast.ToInt64(userConfig.Get(model.CheckinOndutyMoney))
|
payMoney := cast.ToInt64(userConfig.Get(model.CheckinOndutyMoney))
|
||||||
if payMoney >= 100 && payMoney <= 20000 {
|
if payMoney == 0 {
|
||||||
autoPayMoney(checkin, checkOndutyName, payMoney)
|
payMoney = 2000
|
||||||
}
|
}
|
||||||
|
autoPayMoney(checkin, checkOndutyName, payMoney)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -68,16 +69,35 @@ func NotifyCheckinOffDuty(checkin *model.Checkin) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if cast.ToBool(userConfig.Get(model.CheckinOffdutyMoneyEnable)) == true {
|
|
||||||
payMoney := cast.ToInt64(userConfig.Get(model.CheckinOffdutyMoney))
|
payMoney := cast.ToInt64(userConfig.Get(model.CheckinOffdutyMoney))
|
||||||
if payMoney >= 100 && payMoney <= 20000 {
|
if payMoney == 0 {
|
||||||
|
payMoney = 2000
|
||||||
|
}
|
||||||
autoPayMoney(checkin, checkOffdutyName, payMoney)
|
autoPayMoney(checkin, checkOffdutyName, payMoney)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func isOndutyPay(checkin *model.Checkin, userConfig *model.UserConfig) bool {
|
||||||
|
hour := time.Unix(checkin.StartTime, 0).Hour()
|
||||||
|
if hour >= 10 {
|
||||||
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 配置了上班打卡的直接发放
|
||||||
|
if cast.ToBool(userConfig.Get(model.CheckinOndutyMoneyEnable)) == true {
|
||||||
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 周六加班也直接发放
|
||||||
|
if time.Now().Weekday() == time.Saturday {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
func autoPayMoney(checkin *model.Checkin, checkinType string, payMoney int64) error {
|
func autoPayMoney(checkin *model.Checkin, checkinType string, payMoney int64) error {
|
||||||
cfg := config.GetConfig()
|
//cfg := config.GetConfig()
|
||||||
|
|
||||||
checkinMoneyDao := dao.NewCheckinMoneyDao()
|
checkinMoneyDao := dao.NewCheckinMoneyDao()
|
||||||
checkinMoney, err := checkinMoneyDao.GetByDay(checkin.Username, checkin.Day, checkinType)
|
checkinMoney, err := checkinMoneyDao.GetByDay(checkin.Username, checkin.Day, checkinType)
|
||||||
|
@ -91,7 +111,8 @@ func autoPayMoney(checkin *model.Checkin, checkinType string, payMoney int64) er
|
||||||
|
|
||||||
var req weixin.RedMoneyReq
|
var req weixin.RedMoneyReq
|
||||||
req.TotalAmount = payMoney
|
req.TotalAmount = payMoney
|
||||||
req.Title = cfg.QyWeixin.CheckinPayTitle
|
req.Title = checkinType
|
||||||
|
|
||||||
req.BillNo = fmt.Sprintf("QY%s%s", time.Now().Format("20060102150405"), butil.RandomStr(6))
|
req.BillNo = fmt.Sprintf("QY%s%s", time.Now().Format("20060102150405"), butil.RandomStr(6))
|
||||||
req.Userid = checkin.Username
|
req.Userid = checkin.Username
|
||||||
if err := weixin.NewQyPay().PayRedMoney(&req); err != nil {
|
if err := weixin.NewQyPay().PayRedMoney(&req); err != nil {
|
||||||
|
@ -102,6 +123,7 @@ func autoPayMoney(checkin *model.Checkin, checkinType string, payMoney int64) er
|
||||||
message := make([]string, 0)
|
message := make([]string, 0)
|
||||||
duration := checkin.EndTime - checkin.StartTime
|
duration := checkin.EndTime - checkin.StartTime
|
||||||
message = append(message, fmt.Sprintf("【红包发放】[%s]", checkinType))
|
message = append(message, fmt.Sprintf("【红包发放】[%s]", checkinType))
|
||||||
|
message = append(message, fmt.Sprintf("发放金额:%s", fmt.Sprintf("%.2f", payMoney)))
|
||||||
message = append(message, fmt.Sprintf("员工名称:%s", checkin.Username))
|
message = append(message, fmt.Sprintf("员工名称:%s", checkin.Username))
|
||||||
message = append(message, fmt.Sprintf("考勤日期:%s", checkin.Day))
|
message = append(message, fmt.Sprintf("考勤日期:%s", checkin.Day))
|
||||||
message = append(message, fmt.Sprintf("开始时间:%s", goutil.TimeToDateTime(checkin.StartTime)))
|
message = append(message, fmt.Sprintf("开始时间:%s", goutil.TimeToDateTime(checkin.StartTime)))
|
||||||
|
@ -118,6 +140,7 @@ func autoPayMoney(checkin *model.Checkin, checkinType string, payMoney int64) er
|
||||||
checkinMoney.BillNo = req.BillNo
|
checkinMoney.BillNo = req.BillNo
|
||||||
checkinMoney.CheckinType = checkinType
|
checkinMoney.CheckinType = checkinType
|
||||||
checkinMoney.Day = checkin.Day
|
checkinMoney.Day = checkin.Day
|
||||||
|
checkinMoney.BillAmount = payMoney
|
||||||
if _, err := checkinMoneyDao.Create(checkinMoney); err != nil {
|
if _, err := checkinMoneyDao.Create(checkinMoney); err != nil {
|
||||||
log.Errorf("create checkinMoney model error :%s", err.Error())
|
log.Errorf("create checkinMoney model error :%s", err.Error())
|
||||||
return err
|
return err
|
||||||
|
|
Loading…
Reference in New Issue