一度のプロジェクトで使用するlambda式を記す
1275 ワード
場面:店舗販売ランキング統計、レポートマイクロサービスがリストに戻る
需要:店舗詳細情報及び販売量を返却する必要がある
手順1:ListのshopIdコレクションを取り出して店舗マイクロサービスを呼び出して店舗リストを検索し、閉じた店舗をフィルタリング(lambda式は簡単に省略)した結果、以下のようになる
ビジョン:ShopSaleDtoとShopInfoが一致する同じshopIdを新しいShopInfoDtoオブジェクト(店舗情報と販売情報を含む)に組み立ててフロントエンドに戻す
コード1:
コード2:
public class ShopSaleDto implements Serializable{
private Integer shopId;
private Integer totalSaleNum;
需要:店舗詳細情報及び販売量を返却する必要がある
手順1:ListのshopIdコレクションを取り出して店舗マイクロサービスを呼び出して店舗リストを検索し、閉じた店舗をフィルタリング(lambda式は簡単に省略)した結果、以下のようになる
public class ShopInfo implements Serializable {
/*
*/
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@ApiModelProperty(value = " ")
@Column(name = "id")
private Integer id;
ビジョン:ShopSaleDtoとShopInfoが一致する同じshopIdを新しいShopInfoDtoオブジェクト(店舗情報と販売情報を含む)に組み立ててフロントエンドに戻す
public class ShopInfoDto implements Serializable,Comparable{
private Integer shopId;
private Integer totalSaleNum;
/** **/
private String shopName;
/** **/
private String shopAvatar;
コード1:
// List map,key (shop_id)
Map dtoMap = list.stream().collect(Collectors.toMap(d -> d.getShopId(), d -> d));
コード2:
// ShopInfoDto
infoList = finalShop.stream().map(s -> {
return toShopInfo(dtoMap.get(s.getId()), s);
}).collect(Collectors.toList());