package com.uas.sso.controller; import com.alibaba.fastjson.JSONObject; import com.uas.sso.entity.Userspace; import com.uas.sso.service.ApplyUserSpaceService; import com.uas.sso.service.UserspaceService; import com.uas.sso.util.FastjsonUtils; import com.uas.sso.util.FileUrl; import com.uas.sso.util.HttpUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.ui.ModelMap; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; /** * 企业信息管理controller * * @author wangmh * @date 2018/1/5 */ @RestController @RequestMapping("/api/userspace") public class UserspaceManagerController extends BaseController { @Autowired private UserspaceService userspaceService; @Autowired private ApplyUserSpaceService applyUserSpaceService; /** * 校验企业名称 * * @param spaceName 企业名称 * @return */ @RequestMapping("/checkSpaceName") public ModelMap checkSpaceName(String spaceName) { userspaceService.checkSpaceName(spaceName); return success(); } /** * 校验企业营业执照号 * * @param businessCode 企业名称 * @return */ @RequestMapping("/checkBusinessCode") public ModelMap checkBusinessCode(String businessCode) { userspaceService.checkBusinessCode(businessCode); return success(); } /** * 校验企业是否被认证 * * @author wangmh * @date 2018/1/11 20:51 * @param spaceName 企业名称 * @return */ @RequestMapping(value = "/name/valid", method = RequestMethod.GET) public ModelMap spaceNameIsValid(String spaceName) { return success(new ModelMap("isValid", userspaceService.spaceNameIsValid(spaceName))); } /** * 校验营业执照号是否被认证 * * @author wangmh * @date 2018/1/11 10:35 * @param businessCode 营业执照号 * @return */ @RequestMapping(value = "/businessCode/valid", method = RequestMethod.GET) public ModelMap businessCodeIsValid(String businessCode) { return success(new ModelMap("isValid", userspaceService.businessCodeIsValid(businessCode))); } /** * 上传营业执照号 * @param image 营业执照号 * @return 图片地址 * @throws Exception */ @RequestMapping(value = "/upload", method = RequestMethod.POST) public ModelMap uploadImage(MultipartFile image) throws Exception { int IMAGE_MAX_SIZE = 5 * 1024 * 1024; if (!(image == null || image.isEmpty())) { if (image.getSize() > IMAGE_MAX_SIZE) { return error("营业执照附件大小不要超过5M"); } HttpUtils.Response response = HttpUtils.upload(FileUrl.FILE_UPLOAD, image, null); JSONObject obj = FastjsonUtils.parseObject(response.getResponseText()); String path = (String) obj.get("path"); if (path != null) { return success(path); } else { return error("请检查您的营业执照附件"); } } return error("上传失败"); } /** * 模糊搜索企业名称 * @param keyword 关键字 * @param number 获取数量 * @return page对象 */ @RequestMapping(value = "/search/name", method = RequestMethod.GET) public ModelMap searchName(String keyword, @RequestParam(defaultValue = "5") int number) { if (StringUtils.isEmpty(keyword)) { return success(); } return success(userspaceService.searchName(keyword, number)); } /** * 根据企业名称查询企业 * @param name 企业名称 * @return 企业信息 */ @RequestMapping(value = "/info/name", method = RequestMethod.GET) public ModelMap findByName(String name) { if (StringUtils.isEmpty(name)) { return success(); } return success(userspaceService.findBySpaceName(name)); } /** * 统计申请已审批和未审批数量 * @param spaceUU 企业uu号 * @return */ @RequestMapping(value = "/apply/count", method = RequestMethod.GET) public ModelMap applyCount(Long spaceUU) { return success(applyUserSpaceService.applyCount(spaceUU)); } /** * 企业解除绑定应用 * @param spaceUU 企业uu号 * @param appId 应用id * @return */ @RequestMapping(params = "_operate=unbind", method = RequestMethod.POST) public ModelMap unbindApp(Long spaceUU, String appId) { if (StringUtils.isEmpty(spaceUU) || StringUtils.isEmpty(appId)) { return error("参数错误"); } userspaceService.unbindApp(spaceUU, appId); return success(); } /** * 企业开通应用 * @param spaceUU 企业uu号 * @param appId 应用id * @return */ @RequestMapping(params = "_operate=bind", method = RequestMethod.POST) public ModelMap bindApp(Long spaceUU, String appId) { if (StringUtils.isEmpty(spaceUU) || StringUtils.isEmpty(appId)) { return error("参数错误"); } userspaceService.bindApp(spaceUU, appId); return success(); } }