//package com.dragoninfo.dcuc.authweb.restcontroller.app; // //import cn.hutool.core.bean.BeanUtil; //import com.dragoninfo.dcuc.app.entity.ApplyInfo; //import com.dragoninfo.dcuc.app.entity.ManufacturerInfo; //import com.dragoninfo.dcuc.app.facade.IApplyInfoFacade; //import com.dragoninfo.dcuc.app.facade.IManufacturerInfoFacade; //import com.dragoninfo.dcuc.authweb.business.impl.MtAuthBusiness; //import com.dragoninfo.dcuc.authweb.common.SysConstants; //import com.dragoninfo.dcuc.authweb.restcontroller.app.vo.ManufacturerVo; //import com.dragoninfo.dcuc.org.facade.IOrgInfoFacade; //import com.dragoninfo.dcuc.org.vo.OrgTreeNode; //import com.dragoninfo.dcuc.user.user.entity.UserInfo; //import com.dragoninfo.dcuc.user.user.enumresources.UserTypeEnum; //import com.dragoninfo.dcuc.user.user.facade.IUserInfoFacade; //import com.dragoninfo.duceap.commons.util.server.OrgInfoUtil; //import com.dragoninfo.duceap.core.enums.ResultEnum; //import com.dragoninfo.duceap.core.response.Result; //import com.dragonsoft.duceap.base.entity.metadata.CodeRecord; //import com.dragonsoft.duceap.base.entity.search.SearchDTO; //import com.dragonsoft.duceap.base.entity.security.BaseSecurityUser; //import com.dragonsoft.duceap.core.context.ContextUtils; //import com.dragonsoft.duceap.core.search.Searchable; //import com.dragonsoft.duceap.web.controller.BaseController; //import io.swagger.annotations.Api; //import io.swagger.annotations.ApiImplicitParam; //import io.swagger.annotations.ApiImplicitParams; //import io.swagger.annotations.ApiOperation; //import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.data.domain.Page; //import org.springframework.web.bind.annotation.*; // //import java.util.*; // ///** // * @author yica // * @date 2018/8/8 // */ //@Api(tags = {"厂商管理接口"}) //@RestController //@RequestMapping(value = "/appsvr/v2") //public class ManufacturerInfoController extends BaseController { // // @Autowired // private IManufacturerInfoFacade manufacturerInfoFacade; // @Autowired // private IApplyInfoFacade applyInfoFacade; // @Autowired // private MtAuthBusiness mtAuthBusiness; // // @Autowired // private IOrgInfoFacade orgInfoFacade; // @Autowired // private IUserInfoFacade userInfoFacade; // // @ApiOperation(value = "厂商查询列表") // @ApiImplicitParam(name = "searchable", value = "查询条件") // @PostMapping(value = "manufacturers") // public Result> list(SearchDTO searchDTO) { // Searchable searchable = Searchable.toSearchable(searchDTO); // Page page = manufacturerInfoFacade.manufacturerInfoPage(searchable.toSearchDTO()); // return Result.success(page.getTotalElements(), page.getContent()); // } // // @ApiOperation(value = "获取厂商") // @ApiImplicitParams({@ApiImplicitParam(paramType = "path", name = "id", value = "厂商ID", required = true // , example = "40288a8b699fc2500169a33b20540000")}) // @GetMapping(value = "manufacturer/{id}") // public Result detail(@PathVariable("id") String id) { // ManufacturerVo manufacturerVo = new ManufacturerVo(); // ManufacturerInfo manufacturerInfo = manufacturerInfoFacade.manufacturerInfoDetail(id); // BeanUtil.copyProperties(manufacturerInfo, manufacturerVo); // return Result.success(manufacturerVo); // } // // @ApiOperation(value = "修改厂商") // @ApiImplicitParam(name = "manufacturerVo", value = "厂商vo") // @PutMapping(value = "/manufacturer/{id}") // public Result update(@RequestBody ManufacturerVo manufacturerVo) { // try { // String id = manufacturerVo.getId(); // String manufacturerName = manufacturerVo.getManufacturerName(); // String code = manufacturerVo.getCode(); // // ManufacturerInfo old = manufacturerInfoFacade.manufacturerInfoDetail(id); // String oldManufacturerName = old.getManufacturerName(); // String oldCode = old.getCode(); // // //厂商名称是否被修改 // if (!oldManufacturerName.equals(manufacturerName)) { // List appList = applyInfoFacade.getAppListByManufacturerId(id); // if (null != appList && (!appList.isEmpty())) { // return Result.fail(ResultEnum.SERVICE_FAIL.getValue(), "厂商已被引用,名称不可修改!"); // } // if (isManufacturerName(manufacturerVo.getManufacturerName())) { // return Result.fail(ResultEnum.SERVICE_FAIL.getValue(), "厂商名称已被创建"); // } // } // if (!code.equals(oldCode) && isCodeExist(code)) { // return Result.fail(ResultEnum.SERVICE_FAIL.getValue(), "组织机构代码已存在"); // } // BeanUtil.copyProperties(manufacturerVo, old); // manufacturerInfoFacade.updateManufacturer(old); // } catch (Exception e) { // logger.error("manufacturer update", e); // return Result.fail(ResultEnum.SERVICE_FAIL.getValue(), "保存异常"); // } // return Result.success(); // } // // @ApiOperation(value = "保存厂商") // @ApiImplicitParam(name = "manufacturerVo", value = "厂商vo") // @PostMapping(value = "/manufacturer") // public Result save(@RequestBody ManufacturerVo manufacturerVo) { // try { // if (isManufacturerName(manufacturerVo.getManufacturerName())) { // return Result.fail(ResultEnum.SERVICE_FAIL.getValue(), "厂商名称已被创建"); // } // if (isCodeExist(manufacturerVo.getCode())) { // return Result.fail(ResultEnum.SERVICE_FAIL.getValue(), "组织机构代码已存在"); // } // ManufacturerInfo manufacturerInfo = new ManufacturerInfo(); // BeanUtil.copyProperties(manufacturerVo, manufacturerInfo); // // manufacturerInfoFacade.saveManufacturer(manufacturerInfo); // } catch (Exception e) { // logger.error(e.getMessage(), e); // return Result.fail(ResultEnum.SERVICE_FAIL.getValue(), "保存异常"); // } // return Result.success(); // } // // @ApiOperation(value = "删除厂商") // @ApiImplicitParams({@ApiImplicitParam(paramType = "path", name = "id", value = "厂商ID", required = true // , example = "40288a8b699fc2500169a33b20540000")}) // @DeleteMapping(value = "manufacturer/{id}") // public Result del(@PathVariable("id") String id) { // List appList = applyInfoFacade.getAppListByManufacturerId(id); // if (null != appList && (!appList.isEmpty())) { // return Result.fail(ResultEnum.SERVICE_FAIL.getValue(), "厂商已被引用,不可删除!"); // } // manufacturerInfoFacade.del(id); // return Result.success("删除成功"); // } // // @ApiOperation(value = "获取所有厂商的资料") // @GetMapping(value = "manufacturer/allManufacturer") // public Result> getAllManufacturer() { // List manufacturerInfoList = new ArrayList<>(); // BaseSecurityUser user = ContextUtils.getUserInfo(); // //用户范围 // String userMt = mtAuthBusiness.getMtAuth(user.getId(), SysConstants.MT_USER); // //所有应用 // List applyInfoList = applyInfoFacade.getAllList(); // //范围内加过的厂商 // Set menuSet = new HashSet<>(); // Map allTreeMap = orgInfoFacade.getAllOrgTreeNode(); // for (ApplyInfo applyInfo : applyInfoList) { // OrgTreeNode node = allTreeMap.get(applyInfo.getOrgId()); // if (node != null) { // logger.info("node getPath路径:{}", node.getPath()); // } // //应用所属机构在范围内 // if (node != null && OrgInfoUtil.isHaveAuth(node.getValue(), node.getPath(), userMt)) { // //未添加的厂商 // if (!menuSet.contains(applyInfo.getManufacturerId())) { // ManufacturerInfo manufacturerInfo = manufacturerInfoFacade.manufacturerInfoDetail(applyInfo.getManufacturerId()); // if (manufacturerInfo == null) { // continue; // } // menuSet.add(manufacturerInfo.getId()); // logger.info("应用: {}", manufacturerInfo); // manufacturerInfoList.add(manufacturerInfo); // } // } // } // List list = new ArrayList<>(); // for (ManufacturerInfo m : manufacturerInfoList) { // ManufacturerVo manufacturerVo = new ManufacturerVo(); // BeanUtil.copyProperties(m, manufacturerVo); // list.add(manufacturerVo); // } // return Result.success(list); // } // // @ApiOperation(value = "获取所有厂商的下拉框") // @RequestMapping(value = "/manufacturer/radio") // @ResponseBody // public Result> getRadio() { // List mlist = new ArrayList<>(); // UserInfo userInfo = userInfoFacade.userDetail(ContextUtils.getUserInfo().getId()); // //外部人员只能配置自己所属厂商下的应用 // if (UserTypeEnum.EXTERNAL.getValue().equals(userInfo.getUserType())) { // ManufacturerInfo manufacturerInfo = manufacturerInfoFacade.manufacturerInfoDetail(userInfo.getCompany()); // mlist.add(manufacturerInfo); // } else { // return Result.success(manufacturerInfoFacade.getAllCodeRecord()); // } // List list = new ArrayList<>(); // for (ManufacturerInfo m : mlist) { // CodeRecord codeRecord = new CodeRecord(); // codeRecord.setValue(m.getId()); // codeRecord.setLabel(m.getManufacturerName()); // list.add(codeRecord); // } // return Result.success(list); // } // // private boolean isManufacturerName(String mName) { // ManufacturerInfo manufacturerInfo = manufacturerInfoFacade.getOneByName(mName); // // return manufacturerInfo != null; // } // // /** // * 验证厂商代码是否已经存在 // * // * @param code 厂商代码 // * @return true:存在 false:不存在 // */ // private boolean isCodeExist(String code) { // // ManufacturerInfo manufacturerInfo = manufacturerInfoFacade.detailByCode(code); // // return manufacturerInfo != null; // } //}