PersonController.java 2.9 KB
package com.bsth.controller.basic;

import com.bsth.common.ResponseCode;
import com.bsth.data.basic.person.PersonDataBuffer;
import com.bsth.entity.Person;
import com.bsth.service.basic.PersonService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * Created by panzhao on 2017/8/1.
 */
@RestController
@RequestMapping("person")
public class PersonController {

    @Autowired
    PersonService personService;

    Logger logger = LoggerFactory.getLogger(this.getClass());

    @RequestMapping("list")
    public Map<String, Object> list(@RequestParam Map<String, Object> map,
                                    @RequestParam(defaultValue = "0") int page,
                                    @RequestParam(defaultValue = "10") int size){

        return personService.list(map, page, size);
    }

    @RequestMapping("{jobCode}")
    public Map<String, Object> findOne(@PathVariable("jobCode") String jobCode){
        return personService.findOne(jobCode);
    }

    @RequestMapping("parseFile")
    public Map<String, Object> parseFile(@RequestParam String base64,@RequestParam String fileName){
        return personService.parseFile(base64, fileName);
    }

    /**
     * 人卡数据批量save
     * @param jsonStr
     * @return
     */
    @RequestMapping(value = "multiSave" ,method = RequestMethod.POST)
    public Map<String, Object> multiSave(@RequestParam String jsonStr){
        return personService.multiSave(jsonStr);
    }

    @RequestMapping(value = "save" ,method = RequestMethod.POST)
    public Map<String, Object> save(Person p){
        return personService.save(p);
    }

    /**
     * 刷新人员数据
     */
    @RequestMapping(value = "refresh", method = RequestMethod.POST)
    public void refresh(){
        personService.refresh();
    }


    @RequestMapping("allConcise")
    public Map<String, Object> allPersionConcise(){
        Map<String, Object> rs = new HashMap();
        try{
            Map<String, Object> item;

            List<Person> list = PersonDataBuffer.findAll();

            List<Map<String, Object>> mapList = new ArrayList<>(list.size());
            for(Person p : list){
                item = new HashMap<>();
                item.put("name", p.getPersonnelName());
                item.put("code", p.getJobCode().indexOf("-")!=-1?p.getJobCode().split("-")[1]:p.getJobCode());
                item.put("fc", p.getFullChars());
                item.put("cc", p.getCamelChars());

                mapList.add(item);
            }

            rs.put("list", mapList);
            rs.put("status", ResponseCode.SUCCESS);
        }catch (Exception e){
            logger.error("", e);
            rs.put("status", ResponseCode.ERROR);
        }

        return rs;
    }
}