OpenPlatformAuthBillEditHandler.java 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package com.kingdee.eas.custom.integrationWeb.apimgt.handler;
  2. import com.kingdee.eas.custom.integration.apimgt.OpenPlatformAuthBillApiEntryCollection;
  3. import com.kingdee.eas.custom.integration.apimgt.OpenPlatformAuthBillInfo;
  4. import com.kingdee.eas.custom.integration.base.util.ApiKeyGenerator;
  5. import com.kingdee.eas.framework.CoreBaseInfo;
  6. import com.kingdee.shr.base.syssetting.BaseItemStateEnum;
  7. import com.kingdee.shr.base.syssetting.exception.SHRWebException;
  8. import com.kingdee.shr.base.syssetting.exception.ShrWebBizException;
  9. import com.kingdee.shr.base.syssetting.web.handler.EditHandler;
  10. import com.kingdee.util.DateTimeUtils;
  11. import javax.servlet.http.HttpServletRequest;
  12. import javax.servlet.http.HttpServletResponse;
  13. import java.text.ParseException;
  14. /**
  15. * @Description 开发平台授权单
  16. * @Date 2026/7/3 18:16
  17. * @Created by HeYuan
  18. */
  19. public class OpenPlatformAuthBillEditHandler extends EditHandler {
  20. @Override
  21. protected void beforeSave(
  22. HttpServletRequest request,
  23. HttpServletResponse response,
  24. CoreBaseInfo model
  25. ) throws SHRWebException {
  26. super.beforeSave(request, response, model);
  27. //处理保存后,状态写入的枚举的别名错误
  28. OpenPlatformAuthBillInfo info = (OpenPlatformAuthBillInfo) model;
  29. BaseItemStateEnum state = info.getState();
  30. if (state != null) {
  31. info.put("State", state.getValue());
  32. }
  33. }
  34. @Override
  35. protected void afterCreateNewModel(
  36. HttpServletRequest request,
  37. HttpServletResponse response,
  38. CoreBaseInfo coreBaseInfo
  39. ) throws SHRWebException {
  40. try {
  41. OpenPlatformAuthBillInfo info = (OpenPlatformAuthBillInfo) coreBaseInfo;
  42. // 设置状态为启用
  43. info.setState(BaseItemStateEnum.ENABLE);
  44. //自动生成密钥
  45. info.setAppSecret(ApiKeyGenerator.generateAppSecret());
  46. info.setExpireDate(DateTimeUtils.parseDate("2199-12-31", "yyyy-MM-dd"));
  47. } catch (ParseException e) {
  48. throw new ShrWebBizException(e);
  49. }
  50. }
  51. @Override
  52. protected void verifyModel(
  53. HttpServletRequest request,
  54. HttpServletResponse response,
  55. CoreBaseInfo model
  56. ) throws SHRWebException {
  57. OpenPlatformAuthBillInfo info = (OpenPlatformAuthBillInfo) model;
  58. OpenPlatformAuthBillApiEntryCollection apiEntry = info.getApiEntry();
  59. if (apiEntry == null || apiEntry.isEmpty()) {
  60. throw new ShrWebBizException("API接口不能为空");
  61. }
  62. }
  63. }