package com.zhcs.dt.controller.system.user; import java.util.Calendar; import java.util.HashMap; import java.util.Map; import javax.annotation.Resource; import net.sf.json.JSONObject; import org.apache.shiro.crypto.hash.SimpleHash; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import com.zhcs.dt.controller.base.BaseController; import com.zhcs.dt.controller.system.login.Des; import com.zhcs.dt.service.fhoa.department.DepartmentManager; import com.zhcs.dt.service.system.user.UserManager; import com.zhcs.dt.util.AppUtil; import com.zhcs.dt.util.PageData; @Controller public class SynchAPIController extends BaseController { @Resource(name="userService") private UserManager userService; @Resource(name="departmentService") private DepartmentManager departmentService; @RequestMapping(value="/api") public Object api()throws Exception{ PageData pd = new PageData(); pd = this.getPageData(); logger.warn("----------------用户同步数据:"+pd.get("data")); Calendar cal = Calendar.getInstance(); int year = cal.get(Calendar.YEAR);//获取年份 String department_table = "OA_DEPARTMENT_"+year; pd.put("table", department_table); Map map = new HashMap(); try { JSONObject data = JSONObject.fromObject(pd.get("data")); if (data != null) { pd.put("userName", data.get("userAccount")); pd.put("name", data.get("userName")); //解密 if (data.get("password")!=null && !data.get("password").equals("")) { Des desObj = new Des(); String newPassword=desObj.strDec(data.getString("password"),"www","jsyhzx","com"); String passwd = new SimpleHash("SHA-1", data.get("userAccount"), newPassword).toString(); //密码加密 pd.put("password", passwd); } if(data.get("company_name").toString().trim().contains("苏通大桥") || data.get("company_name").toString().trim().contains("润扬大桥") || data.get("company_name").toString().trim().contains("泰州大桥")){ pd.put("company_name", data.get("company_name").toString().trim()+"公司"); } else{ pd.put("company_name", data.get("company_name")); } pd.put("dep_name", data.get("dep_name")); pd.put("COMPANY_ID", data.get("company_id")); pd.put("ROAD_ID", data.get("dep_id")); if (!data.get("type").equals("1")) { if (data.get("company_id")!=null && !data.get("company_id").equals("")) { //判断公司是否存在 pd.put("BIANMA", data.get("company_id")); if(null == departmentService.findByBianma2(pd)){ pd.put("DEPARTMENT_ID", data.get("company_id")); pd.put("PARENT_ID", "0"); pd.put("NAME", data.get("company_name")); departmentService.saveAPIrecord(pd); } } if (data.get("dep_id")!=null && !data.get("dep_id").equals("")) { //判断部门是否存在 pd.put("BIANMA", data.get("dep_id")); if(null == departmentService.findByBianma2(pd)){ pd.put("DEPARTMENT_ID", data.get("dep_id")); pd.put("PARENT_ID", data.get("company_id")); pd.put("NAME", data.get("dep_name")); departmentService.saveAPIrecord(pd); } } } //根据type(0新增 1删除 2修改)维护 sys_user 表数据 if (data.get("type").equals("0")) { pd.put("USER_ID", this.get32UUID()); pd.put("STATUS", "0"); pd.put("SKIN", "no-skin"); pd.put("ROLE_ID", "5be35d903d204f559077978e1215633f"); //2019-11-12 用户对接 if (data.get("company_id")!=null && data.get("company_id").equals("JSJKDW016")) { //路段管理员 pd.put("ROLE_ID", "b98a12b47e5e46978346b593efd65597"); }else { //路桥公司管理员 pd.put("ROLE_ID", "5be35d903d204f559077978e1215633f"); } userService.insertAPIUser(pd); }else if (data.get("type").equals("1")) { userService.deleteAPIUser(pd); }else if (data.get("type").equals("2")) { //2019-11-12 用户对接 if (data.get("company_id")!=null && data.get("company_id").equals("JSJKDW016")) { pd.put("ROLE_ID", "b98a12b47e5e46978346b593efd65597"); }else { pd.put("ROLE_ID", "5be35d903d204f559077978e1215633f"); } pd.put("ROLE_ID", "5be35d903d204f559077978e1215633f"); userService.editAPIUser(pd); } } map.put("msg", "success"); } catch (Exception e) { logger.error(e.toString(), e); map.put("msg", "error"); } return AppUtil.returnObject(new PageData(), map); } }