67 lines
2.7 KiB
Java
67 lines
2.7 KiB
Java
|
|
package com.customization.salary;
|
|||
|
|
|
|||
|
|
import com.engine.common.util.ServiceUtil;
|
|||
|
|
import com.engine.core.cfg.annotation.ServiceDynamicProxy;
|
|||
|
|
import com.engine.core.cfg.annotation.ServiceMethodDynamicProxy;
|
|||
|
|
import com.engine.core.impl.aop.AbstractServiceProxy;
|
|||
|
|
import com.engine.salary.entity.salaryBill.param.SalarySendGrantParam;
|
|||
|
|
import com.engine.salary.entity.salaryBill.param.SalarySendWithdrawParam;
|
|||
|
|
import com.engine.salary.enums.salarysend.SalarySendGrantTypeEnum;
|
|||
|
|
import com.engine.salary.exception.SalaryRunTimeException;
|
|||
|
|
import com.engine.salary.service.SalaryBillService;
|
|||
|
|
import com.engine.salary.service.SalarySendRangeService;
|
|||
|
|
import com.engine.salary.service.impl.SalaryBillServiceImpl;
|
|||
|
|
import com.engine.salary.service.impl.SalarySendRangeServiceImpl;
|
|||
|
|
import com.engine.salary.wrapper.SalarySendWrapper;
|
|||
|
|
import com.engine.salary.wrapper.proxy.SalarySendWrapperProxy;
|
|||
|
|
import weaver.hrm.User;
|
|||
|
|
|
|||
|
|
import java.util.List;
|
|||
|
|
import java.util.Map;
|
|||
|
|
|
|||
|
|
@ServiceDynamicProxy(target = SalarySendWrapper.class, desc = "工资单发送")
|
|||
|
|
public class CustomSalarySendWrapper extends AbstractServiceProxy implements SalarySendWrapperProxy {
|
|||
|
|
|
|||
|
|
private SalaryBillService getSalaryBillService(User user) {
|
|||
|
|
return ServiceUtil.getService(SalaryBillServiceImpl.class, user);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
private SalarySendRangeService getSalarySendRangeService(User user) {
|
|||
|
|
return ServiceUtil.getService(SalarySendRangeServiceImpl.class, user);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
@Override
|
|||
|
|
@ServiceMethodDynamicProxy(desc = "拦截工资单发送方法")
|
|||
|
|
public Map<String, Object> grant(SalarySendGrantParam queryParam) {
|
|||
|
|
Long salarySendId = queryParam.getSalarySendId();
|
|||
|
|
List<Long> ids = queryParam.getIds();
|
|||
|
|
|
|||
|
|
if (queryParam.getSalarySendRangeIds() != null) {
|
|||
|
|
//如果传了范围id,则使用范围id发放
|
|||
|
|
ids = getSalarySendRangeService(new User())
|
|||
|
|
.getSendInfoIdsBySendId(queryParam.getSalarySendId(), queryParam.getSalarySendRangeIds(), SalarySendGrantTypeEnum.GRANT);
|
|||
|
|
if (ids.isEmpty()) {// 由于查出来是空的,会导致全部发放,在此进行拦截
|
|||
|
|
throw new SalaryRunTimeException("工资发放范围内没有匹配员工");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
List<Map<String, Object>> sendInfoList = getSalaryBillService(new User()).getSendInfoList(salarySendId, ids);
|
|||
|
|
//解析sendInfoList,拼接短信内容
|
|||
|
|
System.out.println("发送短信");
|
|||
|
|
|
|||
|
|
//todo do some thing
|
|||
|
|
|
|||
|
|
Map<String, Object> result = (Map<String, Object>) executeMethod(queryParam);
|
|||
|
|
|
|||
|
|
//todo do some thing
|
|||
|
|
|
|||
|
|
return result;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
@Override
|
|||
|
|
public Map<String, Object> withdraw(SalarySendWithdrawParam queryParam) {
|
|||
|
|
return null;
|
|||
|
|
}
|
|||
|
|
}
|