weaver-hrm-salary/src/com/engine/salary/web/DemoController.java

70 lines
2.5 KiB
Java

package com.engine.salary.web;
import com.engine.common.util.ParamUtil;
import com.engine.common.util.ServiceUtil;
import com.engine.salary.service.DemoService;
import com.engine.salary.service.TaxAgentService;
import com.engine.salary.service.impl.DemoServiceImpl;
import com.engine.salary.service.impl.TaxAgentServiceImpl;
import com.engine.salary.util.ResponseResult;
import weaver.general.BaseBean;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
public class DemoController {
private BaseBean logger = new BaseBean();
private DemoService getService(User user) {
return (DemoService) ServiceUtil.getService(DemoServiceImpl.class, user);
}
@GET
@Path("/list")
@Produces(MediaType.TEXT_PLAIN)
public String list(@Context HttpServletRequest request, @Context HttpServletResponse response) {
User user = HrmUserVarify.getUser(request, response);
return ResponseResult.run(getService(user)::list, ParamUtil.request2Map(request));
}
@GET
@Path("/getForm")
@Produces(MediaType.TEXT_PLAIN)
public String getForm(@Context HttpServletRequest request, @Context HttpServletResponse response) {
User user = HrmUserVarify.getUser(request, response);
return ResponseResult.run(getService(user)::getForm, ParamUtil.request2Map(request));
}
@POST
@Path("/save")
@Produces(MediaType.TEXT_PLAIN)
public String getFrom(@Context HttpServletRequest request, @Context HttpServletResponse response) {
User user = HrmUserVarify.getUser(request, response);
return ResponseResult.run(getService(user)::save, getRequestParams(request,response));
}
protected Map<String,Object> getRequestParams(HttpServletRequest request, HttpServletResponse response){
Map<String, Object> params = new HashMap<String, Object>();
Enumeration<String> em = request.getParameterNames();
while(em.hasMoreElements()){
String paramname = em.nextElement();
params.put(paramname, request.getParameter(paramname));
}
params.put("param_ip", request.getRemoteAddr());//加入ip
return params;
}
}