Pārlūkot izejas kodu

河南郸城调度计划 增加调度计划单独状态的修改接口

1037015548@qq.com 11 mēneši atpakaļ
vecāks
revīzija
0c7ae0587e

+ 23 - 1
src/main/java/com/shkpr/service/aimodelpower/bizmgr/WODispatchPlanTmDoBizFun.java

@@ -756,7 +756,7 @@ public class WODispatchPlanTmDoBizFun {
     }
 
     //TODO 修改计划
-    public static ResponseCode updatePlan(JPDispatchPlanInfoUpdate oJsonParam){
+    private static ResponseCode updatePlan(JPDispatchPlanInfoUpdate oJsonParam){
         try {
             //TODO 根据计划类型计算计划的下次生效时间
             //TODO 查询原计划是否还存在,若存在比对planType是否一致
@@ -799,6 +799,28 @@ public class WODispatchPlanTmDoBizFun {
         }
     }
 
+    public static ResponseCode updatePlanStatus(JPDispatchPlanInfoUpdateStatus oJsonParam){
+        try {
+            //TODO 根据计划类型计算计划的下次生效时间
+            //TODO 查询原计划是否还存在,若存在比对planType是否一致
+            Map<String,Object> oldPlan = getThisDBService().getOne(oJsonParam.getPlanId());
+            if(oldPlan==null||oldPlan.size()<=0){
+                return ResponseCode.RESULT_REFERENCE_NOT_EXIST;
+            }
+            Map<String,Object> oldPlanUpWhere = new HashMap<>();
+            oldPlanUpWhere.put("plan_id",oJsonParam.getPlanId());
+            Map<String,Object> oldPlanUp = new HashMap<>();
+            oldPlanUp.put("plan_status",oJsonParam.getPlanStatus());
+            int code = getThisDBService().updateWiths(oldPlanUp,oldPlanUpWhere);
+            return code>0?ResponseCode.RESULT_NORMAL:ResponseCode.RESULT_BAD;
+        }catch(Exception ex){
+            LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mStrClassName, mStrClassName
+                    ,String.format("update planInfo errorMsg:%s end<====",
+                            ex.getLocalizedMessage()));
+            return ResponseCode.RESULT_BAD;
+        }
+    }
+
     private static boolean isSameDay(long timestamp1, long timestamp2) {
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
         // 确保时区设置正确,以避免因夏令时导致的问题

+ 1 - 0
src/main/java/com/shkpr/service/aimodelpower/constants/ApiURI.java

@@ -125,4 +125,5 @@ public class ApiURI {
 
     public static final String URI_DISPATCH_PLAN_H = URI_CURRENCY_H+"/dispatch/plan";
     public static final String URI_DISPATCH_TAG_DICT = "tag/dict";
+    public static final String URI_DISPATCH_PLAN_STATUS_RESET = "status/reset";
 }

+ 54 - 4
src/main/java/com/shkpr/service/aimodelpower/controllerapi/woDispatchPlan/WoDispatchPlanInfoController.java

@@ -15,10 +15,7 @@ import com.shkpr.service.aimodelpower.dto.ResponseRes;
 import com.shkpr.service.aimodelpower.dto.woDispatchPlanModel.DispatchPlanInfoModel;
 import com.shkpr.service.aimodelpower.dto.woDispatchPlanModel.DispatchPlanInfoSSModel;
 import com.shkpr.service.aimodelpower.exception.SelfException;
-import com.shkpr.service.aimodelpower.jsonbean.woDispatchPlan.JPDispatchPlanInfoDetailsSS;
-import com.shkpr.service.aimodelpower.jsonbean.woDispatchPlan.JPDispatchPlanInfoSS;
-import com.shkpr.service.aimodelpower.jsonbean.woDispatchPlan.JPDispatchPlanInfoSave;
-import com.shkpr.service.aimodelpower.jsonbean.woDispatchPlan.JPDispatchPlanInfoUpdate;
+import com.shkpr.service.aimodelpower.jsonbean.woDispatchPlan.*;
 import org.springframework.validation.BindingResult;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
@@ -308,4 +305,57 @@ public class WoDispatchPlanInfoController {
                         ,resResult.getTimestamp()-llReqBefore));
         return resResult;
     }
+
+    @PostMapping(value = ApiURI.URI_DISPATCH_PLAN_STATUS_RESET)
+    public ResponseRes statusReset(HttpServletRequest request
+            , @RequestHeader(value= ApiURI.HEADER_CLIENT_TYPE, required=false) String strClientType
+            , @RequestHeader(value= ApiURI.HEADER_USER_AGENT, required=false) String strUserAgent
+            , @RequestBody(required=false) @Validated(value={CommonParamValidReset.class}) JPDispatchPlanInfoUpdateStatus oJsonParam
+            , BindingResult bindRes) throws Exception{
+        final String URI_PATH = request.getRequestURI();
+        final String strPlatform = CommTool.getPlatformByAgent(strClientType, strUserAgent);
+        final String strUserId = (String)request.getAttribute(TokenAuthenticationService.HEADER_USERID);
+        if (oJsonParam == null || bindRes.hasErrors() || !oJsonParam.checkValid()){
+            throw new SelfException(ResponseCode.STATUS_ERROR_JSON_FORMAT.toStrCode()
+                    , String.format(ApiURI.EXCEPTION_FORMAT
+                    , strPlatform
+                    , URI_PATH
+                    , ResponseCode.STATUS_ERROR_JSON_FORMAT.toStrMsg()));
+        }
+        long llReqBefore = System.currentTimeMillis();
+        String strRunSeq = String.format("%d-%d", llReqBefore, mSeqSS.incrementAndGet());
+        LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBusinessType, mStrClassName, strUserId
+                ,String.format("%s:%s seq:{%s} param:%s begin====>"
+                        ,strPlatform
+                        ,URI_PATH
+                        ,strRunSeq
+                        ,oJsonParam.toString()));
+
+        ResponseRes<String> resResult = new ResponseRes<String>();
+        resResult.setRescode(ResponseCode.RESULT_BAD.toStrCode());
+        resResult.setResmsg(MSG_FAILED);
+        resResult.setResdata("");
+
+        ResponseCode resCode = WODispatchPlanTmDoBizFun.updatePlanStatus(oJsonParam);
+        if (resCode!=null&&resCode==ResponseCode.RESULT_NORMAL){
+            resResult.setRescode(ResponseCode.RESULT_NORMAL.toStrCode());
+            resResult.setResmsg(MSG_SUCCESS);
+        }else{
+            if(resCode!=null) {
+                resResult.setRescode(resCode.toStrCode());
+                resResult.setResmsg(resCode.toStrMsg());
+            }
+        }
+        resResult.setTimestamp(System.currentTimeMillis());
+        LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBusinessType, mStrClassName, strUserId
+                ,String.format("%s:%s seq:{%s} rescode:{%s} resmsg:{%s} time:{%d ms} end<===="
+                        ,strPlatform
+                        ,URI_PATH
+                        ,strRunSeq
+                        ,resResult.getRescode()
+                        ,resResult.getResmsg()
+                        ,resResult.getTimestamp()-llReqBefore));
+        return resResult;
+    }
+
 }

+ 1 - 0
src/main/java/com/shkpr/service/aimodelpower/controllerfilter/third/ThirdJWTCurrencyFilter.java

@@ -30,6 +30,7 @@ public class ThirdJWTCurrencyFilter extends JWTAuthenticationFilter {
         msMapURI2Method.put(String.format("%s/%s", ApiURI.URI_DISPATCH_PLAN_H, ApiURI.URI_XXX_NEW_INFO), "POST");
         msMapURI2Method.put(String.format("%s/%s", ApiURI.URI_DISPATCH_PLAN_H, ApiURI.URI_XXX_RESET), "POST");
         msMapURI2Method.put(String.format("%s/%s", ApiURI.URI_DISPATCH_PLAN_H, ApiURI.URI_DISPATCH_TAG_DICT), "POST");
+        msMapURI2Method.put(String.format("%s/%s", ApiURI.URI_DISPATCH_PLAN_H, ApiURI.URI_DISPATCH_PLAN_STATUS_RESET), "POST");
     }
 
     public ThirdJWTCurrencyFilter(AuthenticationManager authenticationManager) {

+ 46 - 0
src/main/java/com/shkpr/service/aimodelpower/jsonbean/woDispatchPlan/JPDispatchPlanInfoUpdateStatus.java

@@ -0,0 +1,46 @@
+package com.shkpr.service.aimodelpower.jsonbean.woDispatchPlan;
+
+import com.alibaba.fastjson.JSONArray;
+import com.shkpr.service.aimodelpower.commtools.TimeTool;
+import com.shkpr.service.aimodelpower.components.validators.IntInitOrRange;
+import com.shkpr.service.aimodelpower.components.validators.StrNullOrSize;
+import com.shkpr.service.aimodelpower.controllervalid.CommonParamValidReset;
+import lombok.Data;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Size;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+import java.time.format.DateTimeParseException;
+import java.util.List;
+import java.util.regex.Pattern;
+
+/**
+ * @ClassName JPDispatchPlanInfoSave
+ * @Description: TODO 添加调度计划参数
+ * @Author LX
+ * @Date 2024/6/27
+ * @Version V1.0
+ **/
+@Data
+public class JPDispatchPlanInfoUpdateStatus {
+    @NotBlank(groups = { CommonParamValidReset.class})
+    private String planId;
+
+
+    @IntInitOrRange(init = -1, groups = {CommonParamValidReset.class})
+    private Integer planStatus = -1;//状态:-1--注销;0--停用;1--启用
+
+    public boolean checkValid(){
+        try {
+            if (planStatus == null || (planStatus != -1 && planStatus != 0 && planStatus != 1)) {
+                return false;
+            }
+            return true;
+        }catch(Exception ex){
+            return false;
+        }
+    }
+}