com.hrm.controller.RegisterController.java Source code

Java tutorial

Introduction

Here is the source code for com.hrm.controller.RegisterController.java

Source

package com.hrm.controller;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.security.MessageDigest;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;

import javax.annotation.Resource;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import net.sf.json.JSONObject;

import org.apache.commons.io.FileUtils;
import org.omg.CORBA.portable.InputStream;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.hrm.dao.AgentDao;
import com.hrm.dao.LoginDao;
import com.hrm.dao.RegisterDao;
import com.hrm.model.ComModel;
import com.hrm.model.StuModel;
import com.hrm.rest.util.DateUtil;
import com.hrm.service.impl.ILoginServiceImpl;
import com.hrm.service.impl.IRegisterServiceImpl;
import com.hrm.util.Md5Util;
import com.hrm.util.UploadFile;
import com.hrm.util.VerifyCodeUtil;

@Controller
@RequestMapping("register")
public class RegisterController {
    @Resource
    RegisterDao RTestDao;
    @Resource
    LoginDao loginDao;
    /**
     * author qwc
     * 2017222?4:30:16
     * @param request
     * @param response
     * ?
     */
    @Resource
    private IRegisterServiceImpl IComServiceImplRegister;

    @RequestMapping("comRegister")
    @ResponseBody
    public void ComRegister(@ModelAttribute ComModel comRegisterModel, HttpSession session,
            HttpServletRequest request, HttpServletResponse response) throws IOException {
        /*????*/
        response.setContentType("application/json");
        int checkAmount = 0;
        String companyAccount = request.getParameter("username");
        String companyPass = string2MD5(request.getParameter("password"));
        /*String companyAdd=request.getParameter("enterpriseName");*/
        String companyName = request.getParameter("enterpriseName");
        String method = request.getParameter("method");
        String comMsg = request.getParameter("comMsg");
        PrintWriter out = response.getWriter();
        ObjectMapper mapper = new ObjectMapper();
        ObjectNode register = mapper.createObjectNode();
        if (method != null) {
            if (comMsg != null) {
                if (session.getAttribute("telephoneCodeSession") != null
                        && session.getAttribute("telephoneSession") != null) {
                    if (session.getAttribute("telephoneCodeSession").equals(comMsg)
                            && session.getAttribute("telephoneSession").equals(companyAccount)) {
                        checkAmount = IComServiceImplRegister
                                .accountCheckService(companyAccount);/*??*/
                        if (checkAmount == 0) {
                            comRegisterModel = IComServiceImplRegister.registerComInfoService(companyAccount,
                                    companyPass, companyName);
                            if (comRegisterModel != null) {
                                comRegisterModel.setPassword(null);
                                session.setAttribute("loginInfoSession", comRegisterModel);
                                register.put("status", "??");
                                out.write(register.toString());/*?*/
                                /*out.write(mapper.writeValueAsString(comRegisterModel));*//*?*/

                            } else {
                                register.put("status", "??");
                                out.write(register.toString());/*?*/
                            }
                        } else {
                            register.put("status", "?");
                            out.write(register.toString());/*?*/
                        }
                    } else {
                        register.put("status", "???");
                        out.write(register.toString());
                    }
                } else {
                    register.put("status", "??????");
                    out.write(register.toString());
                }
            } else {
                register.put("status", "???");
                out.write(register.toString());
            }
        } else {/*pc*/
            checkAmount = IComServiceImplRegister.accountCheckService(companyAccount);/*??*/
            if (checkAmount == 0) {
                if (session.getAttribute("telephoneCodeSession").equals(comMsg)
                        && session.getAttribute("telephoneSession").equals(companyAccount)) {
                    comRegisterModel = IComServiceImplRegister.registerComInfoService(companyAccount, companyPass,
                            companyName);
                    if (comRegisterModel != null) {
                        comRegisterModel.setPassword(null);
                        comRegisterModel.setIsCheck(1);
                        session.setAttribute("loginInfoSession", comRegisterModel);
                        session.setAttribute("accountLableInfoSession", "com");
                        System.out.println("????");
                        register.put("registerStatus", "1");
                        register.put("accountClass", "com");
                        out.write(register.toString());/*?*/
                        System.out.println(mapper.writeValueAsString(comRegisterModel));
                    } else {
                        System.out.println("?");
                        register.put("registerStatus", "0");
                        out.write(register.toString());/*?*/
                    }
                } else {
                    System.out.println("?????");
                    register.put("registerStatus", "2");
                    out.write(register.toString());/*?*/
                }
            } else {
                System.out.println("?");
                register.put("registerStatus", "-1");
                out.write(register.toString());/*?*/
            }
        }
    }

    /**
     * author qwc
     * 201752?7:23:50
     * @param request
     * @return
     */
    @RequestMapping("regByAgentId")
    public ModelAndView regByAgentId(HttpServletRequest request) {
        ModelAndView regByAgentIdModelAndView = new ModelAndView();

        String agentId = request.getParameter("agentId");
        regByAgentIdModelAndView.addObject("agentId", agentId);
        System.out.println(agentId);
        regByAgentIdModelAndView.setViewName("/user/home/register");
        return regByAgentIdModelAndView;
    }

    /**
     * author qwc
     * 2017226?10:34:31
     * @param session
     * @param request
     * @param response
     * 
     */
    @Resource
    private IRegisterServiceImpl StuService;

    @RequestMapping("stuRegister")
    @ResponseBody
    public void StuRegister(@ModelAttribute StuModel stuRegisterModel, HttpSession session,
            HttpServletRequest request, HttpServletResponse response) throws IOException {
        /*???*/
        response.setContentType("application/json");
        int checkAmount = 0;
        PrintWriter out = response.getWriter();
        ObjectMapper mapper = new ObjectMapper();
        ObjectNode register = mapper.createObjectNode();
        String StuAccount = request.getParameter("username");
        String agentId = request.getParameter("agentId");
        String StuPassword = string2MD5(request.getParameter("password"));
        String username = VerifyCodeUtil.getRandomString(16);
        String method = request.getParameter("method");
        String stuMsg = request.getParameter("stuMsg");
        if (agentId == null || agentId.equals("")) {
            agentId = "0";
        }
        if (method != null) {
            if (stuMsg != null) {
                if (session.getAttribute("telephoneCodeSession") != null
                        && session.getAttribute("telephoneSession") != null) {
                    System.out.println(session.getAttribute("telephoneCodeSession"));
                    System.out.println(session.getAttribute("telephoneSession"));
                    if (session.getAttribute("telephoneCodeSession").equals(stuMsg)
                            && session.getAttribute("telephoneSession").equals(StuAccount)) {
                        checkAmount = IComServiceImplRegister.accountCheckService(
                                StuAccount);/*??checkAmount1??*/
                        if (checkAmount == 0) {
                            System.out.print("agentId:" + agentId);
                            stuRegisterModel = StuService.saveStuInfo(StuAccount, StuPassword, username, agentId);
                            if (stuRegisterModel != null) {
                                stuRegisterModel.setPassword(null);
                                session.setAttribute("loginInfoSession", stuRegisterModel);
                                register.put("status", "??");
                                /*out.write(mapper.writeValueAsString(stuRegisterModel));*//*?*/
                                out.write(register.toString());
                            } else {
                                register.put("status", "??");
                                out.write(register.toString());
                            }
                        } else {
                            register.put("status", "?");
                            out.write(register.toString());/*?*/
                        }
                    } else {
                        register.put("status", "???");
                        out.write(register.toString());
                    }
                } else {
                    register.put("status", "??????");
                    out.write(register.toString());
                }
            } else {
                register.put("status", "???");
                out.write(register.toString());
            }
        } else {/*PC*/
            checkAmount = IComServiceImplRegister.accountCheckService(
                    StuAccount);/*??checkAmount1??*/
            if (checkAmount == 0) {
                System.out.print("agentId:" + agentId);
                if (session.getAttribute("telephoneCodeSession").equals(stuMsg)
                        && session.getAttribute("telephoneSession").equals(StuAccount)) {
                    stuRegisterModel = StuService.saveStuInfo(StuAccount, StuPassword, username, agentId);//
                    if (stuRegisterModel != null) {
                        stuRegisterModel.setPassword(null);
                        session.setAttribute("loginInfoSession", stuRegisterModel);
                        session.setAttribute("accountLableInfoSession", "stu");
                        System.out.println(JSONObject.fromObject(stuRegisterModel));
                        register.put("registerStatus", "1");
                        register.put("accountClass", "stu");
                        out.write(register.toString());/*?*/
                    } else {
                        System.out.print("??");
                        register.put("registerStatus", "0");
                        out.write(register.toString());/*?*/
                    }
                } else {
                    System.out.print("?????");
                    register.put("registerStatus", "2");
                    out.write(register.toString());/*?*/
                }
            } else {
                System.out.print("?");
                register.put("registerStatus", "-1");
                out.write(register.toString());/*?*/
            }
        }
    }

    /**
     * author qwc
     * 2017411?9:25:58
     * @param session
     * ?
     * @throws IOException 
     */
    @RequestMapping("changePass")
    @ResponseBody
    public String changePass(HttpServletResponse response, HttpServletRequest request, HttpSession session,
            StuModel stuModel, ComModel comModel) throws IOException {
        PrintWriter out = response.getWriter();
        ObjectMapper mapper = new ObjectMapper();
        ObjectNode change = mapper.createObjectNode();
        int amount = 0;
        String telephone = request.getParameter("username");
        String oldPassword = request.getParameter("oldPassword");
        String newPassword = request.getParameter("newPassword");
        oldPassword = Md5Util.stringMD5(oldPassword);
        newPassword = Md5Util.stringMD5(newPassword);
        if ((String) session.getAttribute("accountLableInfoSession") == null) {
            System.out.println("?!");
            out.write("0");//?
        } else {
            String account = (String) session.getAttribute("accountLableInfoSession");
            /*stuModel=(StuModel) session.getAttribute("loginInfoSession");*/
            if (account.equals("stu")) {
                stuModel = loginDao.selectByTelephoneAndPassword(telephone, oldPassword);//?
                if (stuModel != null) {
                    stuModel.setTelephone(telephone);
                    stuModel.setPassword(newPassword);
                    amount = RTestDao.changePassword(stuModel);
                    System.out.println("ID" + stuModel.getId());
                    if (amount > 0) {
                        out.write("1");//??
                    } else {
                        out.write("3");//?
                    }
                } else {
                    JSONObject jsonObject = JSONObject.fromObject(stuModel);
                    System.out.println("jsonObject" + jsonObject.toString());
                    out.write("2");//,??
                }
            } else if (account.equals("com")) {
                comModel = loginDao.selectByAccountAndPassword(telephone, oldPassword);
                if (comModel != null) {
                    comModel.setTelephone(telephone);
                    comModel.setPassword(newPassword);
                    amount = RTestDao.changeComPassword(comModel);
                    System.out.println("ID" + comModel.getId());
                    if (amount > 0) {
                        out.write("1");//??
                    } else {
                        out.write("3");//?
                    }
                } else {
                    out.write("2");//,??
                }
            }
        }
        return null;
    }

    /**
     * author qwc
     * 201741?2:15:37
     * ?
     * @throws IOException 
     */
    @RequestMapping("findpass")
    public void findpass(@ModelAttribute ComModel comModel, HttpSession session, HttpServletRequest request,
            HttpServletResponse response) throws IOException {
        PrintWriter out = response.getWriter();
        ObjectMapper mapper = new ObjectMapper();
        ObjectNode change = mapper.createObjectNode();
        String method = request.getParameter("method");
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        String forgetMsg = request.getParameter("forgetCode");
        password = Md5Util.stringMD5(password);
        int check = 3;
        int update = 0;
        if (method != null) {
            if (forgetMsg != null) {
                if (session.getAttribute("telephoneCodeSession") != null) {
                    if (session.getAttribute("telephoneCodeSession").equals(forgetMsg)
                            && session.getAttribute("telephoneSession").equals(username)) {
                        check = IComServiceImplRegister.accountCheckService(username);
                        if (check == 1) {/*?*/
                            update = RTestDao.changeStuPass(username, password);
                            if (update > 0) {
                                change.put("status", "????");
                                out.write(change.toString());
                            } else {
                                change.put("status", "???");
                                out.write(change.toString());
                            }
                        } else if (check == 2) {/*??*/
                            update = RTestDao.changeComPass(username, password);
                            if (update > 0) {
                                change.put("status", "????");
                                out.write(change.toString());
                            } else {
                                change.put("status", "???");
                                out.write(change.toString());
                            }
                        } else if (check == 0) {
                            change.put("status", "???");
                            out.write(change.toString());
                        }
                    } else {
                        change.put("status", "???");
                        out.write(change.toString());
                    }
                } else {
                    change.put("status", "??????");
                    out.write(change.toString());
                }
            } else {
                change.put("status", "???");
                out.write(change.toString());
            }
        } else {
            if (session.getAttribute("telephoneCodeSession").equals(forgetMsg)
                    && session.getAttribute("telephoneSession").equals(username)) {
                check = IComServiceImplRegister.accountCheckService(username);
                if (check == 1) {/*?*/
                    update = RTestDao.changeStuPass(username, password);
                } else if (check == 2) {/*??*/
                    update = RTestDao.changeComPass(username, password);
                }
                if (update > 0) {
                    change.put("status", "1");
                    out.write(change.toString());
                    System.out.println("????");
                } else {
                    change.put("status", "0");
                    out.write(change.toString());
                    System.out.println("???");
                }
            } else {
                change.put("status", "-1");
                out.write(change.toString());
                System.out.println("?????");
            }
        }
    }

    /**
     * author qwc
     * 201741?12:49:43
     * @param request
     * @param response
     * @throws IOException
     * ???
     */
    @RequestMapping("checkComName")
    public void checkComName(HttpServletRequest request, HttpServletResponse response) throws IOException {
        PrintWriter out = response.getWriter();
        ObjectMapper mapper = new ObjectMapper();
        ObjectNode checkStatus = mapper.createObjectNode();
        int checkAmount = 0;
        String account = null;
        String enterpriseName = request.getParameter("enterpriseName");
        if (enterpriseName != null) {
            account = enterpriseName;
            checkAmount = RTestDao.checkConName(account);
        }
        if (checkAmount > 0) {
            checkStatus.put("valid", false);
            out.write(checkStatus.toString());/*?*/
        } else {
            checkStatus.put("valid", true);
            out.write(checkStatus.toString());/*?*/
        }
    }

    /**
     * author qwc
     * 201741?9:21:32
     * @param request
     * @param response
     * @throws IOException
     * ??
     */
    @RequestMapping("checkAccount")
    public void checkPAccount(HttpSession session, HttpServletRequest request, HttpServletResponse response)
            throws IOException {
        PrintWriter out = response.getWriter();
        ObjectMapper mapper = new ObjectMapper();
        ObjectNode checkStatus = mapper.createObjectNode();
        int checkAmount = 0;
        String account = null;
        String StuAccount = request.getParameter("username");
        String ComAccount = request.getParameter("comusername");
        if (StuAccount != null) {
            account = StuAccount;
            checkAmount = IComServiceImplRegister.accountCheckService(account);
        } else {
            account = ComAccount;
            checkAmount = IComServiceImplRegister.accountCheckService(account);
        }
        if (checkAmount == 0) {
            checkStatus.put("valid", true);
            out.write(checkStatus.toString());/*?*/
        } else {
            checkStatus.put("valid", false);
            out.write(checkStatus.toString());/*?*/
        }
    }

    /**
     * author qwc
     * 2017312?4:41:22
     * @param session
     * @param request
     * @param response
     * ??
     */
    @RequestMapping("msgverify")
    public void checkPhoneCode(HttpSession session, HttpServletRequest request, HttpServletResponse response) {
        PrintWriter out;
        String method = request.getParameter("method");
        String phoneCode = null;
        phoneCode = request.getParameter("phoneCode");
        if (method.equals("per")) {
            phoneCode = request.getParameter("perphoneCode");
            System.out.println("getphoneCode=" + phoneCode);
        } else if (method.equals("com")) {
            phoneCode = request.getParameter("comphoneCode");
            System.out.println("getphoneCode=" + phoneCode);
        } else if (method.equals("forget")) {
            phoneCode = request.getParameter("forgetphoneCode");
        }
        ObjectMapper mapper = new ObjectMapper();
        ObjectNode phoneCodeCheck = mapper.createObjectNode();
        try {
            out = response.getWriter();
            if (session.getAttribute("telephoneCodeSession") != null) {
                if (session.getAttribute("telephoneCodeSession").equals(phoneCode)) {
                    phoneCodeCheck.put("valid", true);
                    System.out.println("sessionphoneCode=" + session.getAttribute("telephoneCodeSession"));
                    System.out.print("?" + phoneCodeCheck.toString());
                    out.write(phoneCodeCheck.toString());
                } else {
                    phoneCodeCheck.put("valid", false);
                    System.out.println("sessionphoneCode=" + session.getAttribute("telephoneCodeSession"));
                    System.out.print("?" + phoneCodeCheck.toString());
                    out.write(phoneCodeCheck.toString());
                }
            }
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    /**
     * @author qwc
     * @param comSupplementModel
     * @date 2017-3-8
     * ?
     */
    @Resource
    private IRegisterServiceImpl comSupplementService;

    @RequestMapping("comSupplement")
    public void ComInfoSupplement(HttpSession session, HttpServletResponse response,
            MultipartHttpServletRequest Mrequest, HttpServletRequest request) throws IOException {
        MultipartHttpServletRequest multipartHttpServletRequest = (MultipartHttpServletRequest) Mrequest;
        ComModel comSupplementModel = new ComModel();
        PrintWriter out = response.getWriter();
        ObjectMapper mapper = new ObjectMapper();
        ObjectNode supplement = mapper.createObjectNode();
        Map<String, Object> dataMap = new HashMap<String, Object>();
        String iconImgUrl = null;
        String licenseImgUrl = null;/*??*/
        String taxImgUrl = null;
        int checked = 1;
        String method = multipartHttpServletRequest.getParameter("method");
        String companyId = multipartHttpServletRequest.getParameter("companyId");
        String telephone = multipartHttpServletRequest.getParameter("telephone");/*?*/
        String name = multipartHttpServletRequest.getParameter("name");
        String label = multipartHttpServletRequest.getParameter("label");
        String describes = multipartHttpServletRequest.getParameter("describes");
        String province = multipartHttpServletRequest.getParameter("province");
        String city = multipartHttpServletRequest.getParameter("city");
        String region = multipartHttpServletRequest.getParameter("region");
        String details = multipartHttpServletRequest.getParameter("details");
        String linkMan = multipartHttpServletRequest.getParameter("linkMan");
        String linkPhone = multipartHttpServletRequest.getParameter("linkPhone");
        String email = multipartHttpServletRequest.getParameter("email");
        String role = multipartHttpServletRequest.getParameter("role");
        if (role != null) {
            comSupplementModel.setRole(Integer.parseInt(role));
        }
        MultipartFile iconfile = multipartHttpServletRequest.getFile("icon");
        MultipartFile licenseImgfile = multipartHttpServletRequest.getFile("license");
        MultipartFile taxImgfile = multipartHttpServletRequest.getFile("tax");
        System.out.println("iconfile:" + iconfile);
        if (iconfile != null) {
            if (!((MultipartFile) iconfile).isEmpty()) {
                String imgIconUrl;
                boolean deleteIcon;
                comSupplementModel = loginDao.selectByCompanyId(Integer.parseInt(companyId));
                /*             if(comSupplementModel.getIsCheck()==0){
                                System.out.println(""+comSupplementModel.getIsCheck());
                                checked=1;
                             }*/
                imgIconUrl = comSupplementModel.getIcno();
                if (imgIconUrl != null) {
                    System.out.println();
                    imgIconUrl = imgIconUrl.substring(5);
                    deleteIcon = deleteFile(request, imgIconUrl);//
                    if (deleteIcon) {
                        System.out.println("??");
                    } else {
                        System.out.println("?");
                    }
                }
                iconImgUrl = SaveImg(request, iconfile, iconImgUrl, 1, "1", "companyinfo");
            }
        }
        if (licenseImgfile != null) {
            if (!((MultipartFile) licenseImgfile).isEmpty()) {
                String imgLicenseUrl;
                boolean deleteIcon;
                comSupplementModel = loginDao.selectByCompanyId(Integer.parseInt(companyId));
                imgLicenseUrl = comSupplementModel.getLicense();
                if (imgLicenseUrl != null) {
                    System.out.println();
                    imgLicenseUrl = imgLicenseUrl.substring(5);
                    deleteIcon = deleteFile(request, imgLicenseUrl);//
                    if (deleteIcon) {
                        System.out.println("??");
                    } else {
                        System.out.println("?");
                    }
                }
                licenseImgUrl = SaveImg(request, licenseImgfile, licenseImgUrl, 2, "1", "companyinfo");
            }
        }
        if (taxImgfile != null) {
            if (!((MultipartFile) taxImgfile).isEmpty()) {
                String imgTaxUrl;
                boolean deleteIcon;
                comSupplementModel = loginDao.selectByCompanyId(Integer.parseInt(companyId));
                /*             if(comSupplementModel.getIsCheck()==0){
                                System.out.println(""+comSupplementModel.getIsCheck());
                                checked=1;
                             }*/
                imgTaxUrl = comSupplementModel.getTax();
                if (imgTaxUrl != null) {
                    System.out.println();
                    imgTaxUrl = imgTaxUrl.substring(5);
                    deleteIcon = deleteFile(request, imgTaxUrl);//
                    if (deleteIcon) {
                        System.out.println("??");
                    } else {
                        System.out.println("?");
                    }
                }
                taxImgUrl = SaveImg(request, taxImgfile, taxImgUrl, 3, "1", "companyinfo");
            }
        }
        if (iconImgUrl != null) {
            comSupplementModel.setIcno(iconImgUrl);
        }
        if (licenseImgUrl != null) {
            comSupplementModel.setIcno(licenseImgUrl);
        }
        if (taxImgUrl != null) {
            comSupplementModel.setIcno(taxImgUrl);
        }
        System.out.println(telephone);
        comSupplementModel.setCom(telephone, name, iconImgUrl, label, describes, province, city, region, details,
                licenseImgUrl, taxImgUrl, linkMan, linkPhone, email);
        if (checked == 1) {
            System.out.println("" + comSupplementModel.getId());
            comSupplementModel.setIsCheck(1);
        }
        int amount = comSupplementService.comInfoSupplementService(comSupplementModel);
        if (amount > 0) {
            comSupplementModel = loginDao.selectByCompanyId(Integer.parseInt(companyId));
            System.out.println(comSupplementModel.getDescribes());
            if (method != null) {
                session.setAttribute("loginInfoSession", comSupplementModel);
                out.write("1");
                dataMap.put("status", 1);
                dataMap.put("tax", comSupplementModel.getTax());
                dataMap.put("license", comSupplementModel.getLicense());
                dataMap.put("icon", comSupplementModel.getIcno());
                JSONObject json = JSONObject.fromObject(dataMap);
                System.out.println(json.toString());
            } else {
                dataMap.put("status", 1);
                dataMap.put("tax", comSupplementModel.getTax());
                dataMap.put("license", comSupplementModel.getLicense());
                dataMap.put("icon", comSupplementModel.getIcno());
                JSONObject json = JSONObject.fromObject(dataMap);
                out.write(json.toString());
            }
            System.out.println("???");
        } else {
            if (method != null) {//PC
                out.write("0");
            } else {
                dataMap.put("status", 0);
                JSONObject json = JSONObject.fromObject(dataMap);
                out.write(json.toString());
            }
        }
    }

    /**
     * ?
     * @param delpath
     * @return
     * @throws FileNotFoundException
     * @throws IOException
     */
    @RequestMapping("deleteImg")
    public static boolean deleteFile(HttpServletRequest request, String imgUrl)
            throws FileNotFoundException, IOException {
        int deleteStauts = 0;
        String url = request.getSession().getServletContext().getRealPath("/");
        try {
            File file = new File(url + imgUrl);
            if (!file.exists()) {
                deleteStauts = 1;//?
            } else {
                if (file.delete()) {
                    System.out.println(file.getName() + "is deleted");
                    deleteStauts = 1;//?
                } else {
                    System.out.println("Delete failed.");
                }
            }
        } catch (Exception e) {
            System.out.println("Exception occured");
            e.printStackTrace();
        }
        if (deleteStauts == 1) {
            return true;
        } else {
            return false;
        }
    }

    /**
     * author qwc
     * 2017413?8:49:23
     * @param request
     * @param file
     * @param url
     * @param num
     * @param Id
     * @param foldername
     * @return
     * @throws IOException
     * ?request.getSession().getServletContext().getRealPath("/")
     */
    public static String SaveImg(HttpServletRequest request, MultipartFile file, String url, int num, String Id,
            String foldername) throws IOException {
        String uploadUrl = "C:/" + "HRM/" + "upload/image/" + foldername + "/";
        System.out.println(":" + uploadUrl);
        File dir = new File(uploadUrl);
        if (!dir.exists()) {
            dir.mkdirs();
        }
        url = Id + num + DateUtil.dateToStr(new Date(), DateUtil.DATE_TIME_NO_SLASH) + ".jpg";
        File targetFile = new File(uploadUrl + url);
        /*url="http://localhost:8080/HRM/"+"upload/image/companyinfo"+"/"+url;*/
        uploadUrl = "/HRM/upload/image/" + foldername + "/" + url;
        try {
            file.transferTo(targetFile);
        } catch (IllegalStateException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return uploadUrl;
    }

    /**
     * @author qwc
     * @date 2017-3-7
     * 
     */
    @Resource
    private IRegisterServiceImpl stuSupplementService;

    @RequestMapping("stuSupplement")
    public void StuInfoSupplement(HttpSession session, HttpServletResponse response,
            MultipartHttpServletRequest Mrequest, HttpServletRequest request) throws IOException {
        MultipartHttpServletRequest multipartHttpServletRequest = (MultipartHttpServletRequest) Mrequest;
        StuModel stuSupplementModel = new StuModel();
        PrintWriter out = response.getWriter();
        Map<String, Object> dataMap = new HashMap<String, Object>();
        String userIcnoUrl = null;
        String method = multipartHttpServletRequest.getParameter("method");
        String userId = multipartHttpServletRequest.getParameter("userId");
        String telephone = multipartHttpServletRequest.getParameter("telephone");/*?*/
        String realname = multipartHttpServletRequest.getParameter("realname");
        String username = multipartHttpServletRequest.getParameter("username");
        String sex = multipartHttpServletRequest.getParameter("sex");
        String birthday = multipartHttpServletRequest.getParameter("birthday");
        String idCard = multipartHttpServletRequest.getParameter("idCard");
        String school = multipartHttpServletRequest.getParameter("school");
        String major = multipartHttpServletRequest.getParameter("major");
        String province = multipartHttpServletRequest.getParameter("province");
        String city = multipartHttpServletRequest.getParameter("city");
        String region = multipartHttpServletRequest.getParameter("region");
        String linkPhone = multipartHttpServletRequest.getParameter("linkPhone");
        String requires = multipartHttpServletRequest.getParameter("requires");
        String eager = multipartHttpServletRequest.getParameter("eager");
        String job_type = multipartHttpServletRequest.getParameter("job_type");
        String entry_time = multipartHttpServletRequest.getParameter("entry_time");
        String bank_card = multipartHttpServletRequest.getParameter("bank_card");
        if (birthday.equals("")) {
            birthday = null;
        }
        if (job_type != null) {
            stuSupplementModel.setJob_type(Integer.parseInt(job_type));
        }
        if (eager != null) {
            stuSupplementModel.setEager(Integer.parseInt(eager));
        }
        MultipartFile userImgfile = multipartHttpServletRequest.getFile("usericno");
        if (userImgfile != null) {
            System.out.println("??");
            if (!((MultipartFile) userImgfile).isEmpty()) {
                System.out.println("???");
                String imgUrl;
                boolean deleteImg;
                stuSupplementModel = loginDao.selectByUserId(Integer.parseInt(userId));
                imgUrl = stuSupplementModel.getIcno();
                System.out.println("" + imgUrl);
                if (imgUrl != null) {
                    System.out.println();
                    imgUrl = imgUrl.substring(5);
                    deleteImg = deleteFile(request, imgUrl);
                    if (deleteImg) {
                        System.out.println("??");
                    } else {
                        System.out.println("?");
                    }
                }
                userIcnoUrl = SaveImg(request, userImgfile, userIcnoUrl, 1, userId, "userImg");
                System.out.println("???");
            }
        } else {
            System.out.println("userIcnoUrl" + userIcnoUrl);
            System.out.println("??");
        }
        if (userIcnoUrl != null) {
            stuSupplementModel.setIcno(userIcnoUrl);
            System.out.println("QQuserIcnoUrl::" + userIcnoUrl);
        }
        stuSupplementModel.setStu(telephone, username, realname, sex, birthday, userIcnoUrl, idCard, school, major,
                province, city, region, linkPhone, requires, entry_time, bank_card);
        int amount = stuSupplementService.stuInfoSupplementService(stuSupplementModel);
        if (amount > 0) {
            if (stuSupplementModel.getIs_supplement() == 0) {
                stuSupplementModel.setIs_supplement(1);
                stuSupplementService.stuInfoSupplementService(stuSupplementModel);
            }
            stuSupplementModel = loginDao.selectByUserId(Integer.parseInt(userId));
            if (method != null) {//PC,?loginInfoSession
                session.setAttribute("loginInfoSession", stuSupplementModel);
                out.write("1");
                dataMap.put("status", 1);
                dataMap.put("icon", stuSupplementModel.getIcno());
                JSONObject json = JSONObject.fromObject(dataMap);
                System.out.println(json.toString());
            } else {//androidios
                dataMap.put("status", 1);
                dataMap.put("icon", stuSupplementModel.getIcno());
                dataMap.put("is_sulpment", stuSupplementModel.getIs_supplement());
                JSONObject json = JSONObject.fromObject(dataMap);
                out.write(json.toString());
            }
            System.out.println("??");
        } else {
            stuSupplementModel = loginDao.selectByUserId(Integer.parseInt(userId));
            if (method != null) {//PC
                out.write("0");
            } else {
                dataMap.put("status", 0);
                dataMap.put("is_sulpment", stuSupplementModel.getIs_supplement());
                JSONObject json = JSONObject.fromObject(dataMap);
                out.write(json.toString());
            }
            System.out.println("??");
        }

    }

    /**
     * @author qwc
     * @date 2017-3-7
     * @return
     * ??
     */
    public static String randUsername() {
        int length = 10;
        String base = "abcdefghijklmnopqrstuvwxyz0123456789";
        Random random = new Random();
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < length; i++) {
            int number = random.nextInt(base.length());
            sb.append(base.charAt(number));
        }
        return sb.toString();
    }

    /*** 
      * MD5?32?md5? 
      */
    public static String string2MD5(String inStr) {
        MessageDigest md5 = null;
        try {
            md5 = MessageDigest.getInstance("MD5");
        } catch (Exception e) {
            System.out.println(e.toString());
            e.printStackTrace();
            return "";
        }
        char[] charArray = inStr.toCharArray();
        byte[] byteArray = new byte[charArray.length];
        for (int i = 0; i < charArray.length; i++)
            byteArray[i] = (byte) charArray[i];
        byte[] md5Bytes = md5.digest(byteArray);
        StringBuffer hexValue = new StringBuffer();
        for (int i = 0; i < md5Bytes.length; i++) {
            int val = ((int) md5Bytes[i]) & 0xff;
            if (val < 16)
                hexValue.append("0");
            hexValue.append(Integer.toHexString(val));
        }
        return hexValue.toString();
    }

    /** 
     *  
     */
    public static String convertMD5(String password) {

        char[] a = password.toCharArray();
        for (int i = 0; i < a.length; i++) {
            a[i] = (char) (a[i] ^ 't');
        }
        String s = new String(a);
        return s;
    }

    /**
     * author qwc
     * 2017316?10:38:28
     * @param request
     * ?
     */
    @RequestMapping("testmain")
    public static void testmain(HttpServletRequest request) {
        String password = request.getParameter("telphone");
        System.out.println("" + password);
        System.out.println("MD5?" + string2MD5(password));
        System.out.println("" + convertMD5(password));
        System.out.println("" + convertMD5(convertMD5(password)));
    }

    /**
     * @author qwc
     * @date 2017-3-16
     * com.hrm.rest.utilDateUtil?
     */
    static String imgTimeStamp = DateUtil.dateToStr(new Date(), DateUtil.DATE_TIME_NO_SLASH);
}