中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在JAVA中實現工作流

發布時間:2021-06-04 17:10:24 來源:億速云 閱讀:449 作者:Leah 欄目:編程語言

本篇文章為大家展示了如何在JAVA中實現工作流,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

1、Apache Commons Chain 中的角色有:chain、context、command。

如何在JAVA中實現工作流

2、在我們訂單系統有這樣的業務,就是退票的時候,會根據核損后的訂單價格,給客人退錢,但是訂單的金額,由幾部分組成

有現金、商旅卡、有優惠券。所以根據需求,我們需要一個工作流來走下退款流程,我們的流程流轉的步驟是這樣的:

先退商旅卡-----如果還有余額退現金-----------還有余額再退優惠券,分析一下這樣的需求,剛好可以用這個工具,直接上代碼了

先引入包

 <dependency>
      <groupId>commons-chain</groupId>
      <artifactId>commons-chain</artifactId>
      <version>1.2</version>
    </dependency>

編寫command

/**
 * 退商旅卡Cash
 * Created by 一代天驕 on 2018/7/1.
 */
@Slf4j
public class RefundBusinessCardCommand implements Command{
  public boolean execute(Context context) throws Exception {
    RefundContext refundContext = (RefundContext) context;
    log.info("orderId:{} 退款開始,第一步:退商旅卡,金額:{}",refundContext.getOrderId(),"10");
    return false;
  }
}
/**
 * 退現金
 * Created by 一代天驕 on 2018/7/1.
 */
@Slf4j
public class RefundCashCommand implements Command {
 
  public boolean execute(Context context) throws Exception {
    RefundContext refundContext = (RefundContext) context;
    log.info("orderId:{}退款開始,第二步:退現金,金額:{}",refundContext.getOrderId(),"5");
    return false;
  }
}
/**
 * 退優惠券
 * Created by 一代天驕 on 2018/7/1.
 */
@Slf4j
public class RefundPromotionCommand implements Command{
 
 
  public boolean execute(Context context) throws Exception {
    RefundContext refundContext = (RefundContext) context;
    log.info("orderId:{} 退款開始,第二步:退優惠券,金額:{}",refundContext.getOrderId(),"20");
    return false;
  }
}
/**
 * Created by 一代天驕 on 2018/7/1.
 */
@Data
public class RefundContext extends ContextBase {
 
  /**
   * 訂單號
   */
  private Integer orderId;
 
 
}
/**
 *
 * 退票的工作流實現
 * Created by 一代天驕 on 2018/7/1.
 */
public class RefundTicketChain extends ChainBase {
 
  public void init() {
    //退商旅卡
    this.addCommand(new RefundBusinessCardCommand());
    //退現金
    this.addCommand(new RefundCashCommand());
    //退優惠券
    this.addCommand(new RefundPromotionCommand());
  }
 
 
  public static void main(String[] args) throws Exception {
    RefundTicketChain refundTicketChain = new RefundTicketChain();
    refundTicketChain.init();
    RefundContext context = new RefundContext();
    context.setOrderId(1621940242);
    refundTicketChain.execute(context);
  }
}

上述內容就是如何在JAVA中實現工作流,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

库尔勒市| 泰来县| 聊城市| 通化市| 西和县| 德州市| 聂荣县| 台江县| 汝南县| 辰溪县| 灵武市| 广饶县| 镇沅| 潮安县| 华亭县| 马鞍山市| 尼玛县| 玛曲县| 蓝山县| 芮城县| 镇赉县| 浦县| 淮阳县| 澄江县| 青铜峡市| 金塔县| 古丈县| 玉环县| 兴国县| 唐海县| 梧州市| 唐山市| 类乌齐县| 永善县| 苏州市| 嘉义市| 客服| 仙桃市| 津南区| 略阳县| 奉贤区|