package com.template.controller; import com.template.annotation.DESRespondSecret; import com.template.api.SmartApplyControllerAPI; import com.template.common.utils.paramUtils; import com.template.model.pojo.SmartApply; import com.template.model.pojo.SmartIdentity; import com.template.model.result.CommonResult; import com.template.model.result.PageUtils; import com.template.model.vo.ApplyVo; import com.template.model.vo.ApplysVo; import com.template.services.SmartApplyService; import com.template.services.SmartIdentityService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; /** *

* 前端控制器 *

* * @author ceshi * @since 2023-12-04 */ @RestController //返回参数加密注解 @DESRespondSecret public class SmartApplyController implements SmartApplyControllerAPI { @Autowired private SmartApplyService smartApplyService; @Autowired private SmartIdentityService smartIdentityService; /** * 查询应用管理 * * @return */ @Override @DESRespondSecret(validated = true) public CommonResult queryApplys() { List result = smartApplyService.queryApplys(); return CommonResult.ok(result); } /** * 新增应用管理 * * @param smartApply 应用管理数据 * @param bindingResult * @return */ @Override @DESRespondSecret(validated = true) public CommonResult insertSmartApply(SmartApply smartApply, BindingResult bindingResult) { if (bindingResult.hasErrors()) { String st = paramUtils.getParamError(bindingResult); return CommonResult.fail(st); } SmartApply data = smartApplyService.queryApplyByName(smartApply.getName()); if (data != null) { return CommonResult.fail("该应用管理已存在"); } int result = smartApplyService.insertSmartApply(smartApply); return result > 0 ? CommonResult.ok("添加成功") : CommonResult.fail("添加失败"); } /** * 更新应用管理 * * @param sa 应用管理数据 * @param bindingResult * @return */ @Override @DESRespondSecret(validated = true) public CommonResult updateSmartApplyById(SmartApply sa, BindingResult bindingResult) { if (bindingResult.hasErrors()) { String st = paramUtils.getParamError(bindingResult); return CommonResult.fail(st); } SmartApply oldData = smartApplyService.getSmartById(sa.getId()); if (oldData == null) { return CommonResult.fail("应用管理数据无效,修改失败"); } if (sa.getName() != null && !sa.getName().equals(oldData.getName())) { //查看是否存在相同身份的数据 SmartApply data = smartApplyService.queryApplyByName(sa.getName()); if (data != null) { return CommonResult.fail("该应用管理已存在"); } } int result = smartApplyService.updateSmartApply(sa); return result > 0 ? CommonResult.ok("修改成功") : CommonResult.fail("修改失败"); } /** * 应用管理分页数据查询 * * @param currentPage 当前页数 * @param pageCount 一页数据条数 * @param name 查询名称 * @return */ @Override @DESRespondSecret(validated = true) public CommonResult queryPageSmartApplys(int currentPage, int pageCount, String name) { PageUtils result = smartApplyService.queryPageSmartApplys(currentPage, pageCount, name); return CommonResult.ok(result); } @Override @DESRespondSecret(validated = true) public CommonResult deleteSmartApplyById(int id) { SmartApply data = smartApplyService.getSmartById(id); if (data == null) { return CommonResult.fail("当前数据不存在,删除失败!"); } //查看被删除的应用管理有没有绑定身份数据 有的话提示无法删除 List identitys = smartIdentityService.querySmartIdentityDatas(id); if (identitys != null && identitys.size() > 0) { String name = StringUtils.join(identitys.stream().map(SmartIdentity::getName).collect(Collectors.toList()), ','); return CommonResult.fail("当前应用数据已绑定" + name + "身份,请先解绑"); } int result = smartApplyService.deleteSmartApplyById(id); return result > 0 ? CommonResult.ok("删除成功") : CommonResult.fail("删除失败"); } @Override @DESRespondSecret(validated = true) public CommonResult queryAppletApplys() { List result = new ArrayList<>(); List applys = smartApplyService.queryAppletApplys(); for (SmartApply apply : applys) { ApplysVo data = new ApplysVo(); data.setId(apply.getId()); data.setPath(apply.getRoute()); data.setTitle(apply.getName()); data.setUrl(apply.getLogo()); result.add(data); } return CommonResult.ok(result); } }