using System; using System.Collections.Generic; using System.Linq; namespace JiaZhiQuan.Common.Models { /// /// 后台管理商品查询、订单查询接口的商品类型 /// 这些商品类型统一管理 /// public class GoodsType { public int goodType; public string typeName; public List virtualTypes; public List stateTypes; private static List goodsTypes => new List { new GoodsType { goodType=0,typeName="实体商品",stateTypes=stateTypes1}, new GoodsType { goodType=1,typeName="虚拟商品",virtualTypes=virtualTypes1} }; private static List virtualTypes1 => new List { new VirtualType{ virtualType=1, typeName="链接",stateTypes=stateTypes1}, new VirtualType{ virtualType=2, typeName="支付宝红包",stateTypes=stateTypes2} , new VirtualType{ virtualType=3, typeName="卡密",stateTypes=stateTypes1}, new VirtualType{ virtualType=4, typeName="API直充",stateTypes=stateTypes1} }; private static List stateTypes1 => new List { new StateType{ state=1, typeName="待发货"}, new StateType{ state=2, typeName="已发货"} }; private static List stateTypes2 => new List { new StateType{ state=10, typeName="待兑换"}, new StateType{ state=13, typeName="兑换中"}, new StateType{ state=11, typeName="已兑换"}, new StateType{ state=12, typeName="已过期"} }; public static List? ListVirtualTypeByGoodsType(int? goodsType) { return goodsTypes.FirstOrDefault(t => t.goodType == goodsType)?.virtualTypes; } public static List? ListStateTypeByGoodsType(int? goodsType, int? virtualType = -1) { if (0 == goodsType) { return goodsTypes[0].stateTypes; } else { return goodsTypes.FirstOrDefault(t => t.goodType == goodsType)?. virtualTypes.FirstOrDefault(v => v.virtualType == virtualType)?.stateTypes; } } public static List ListGoodsTypes() { return goodsTypes; } public static string? TransStateName(int? isVirtual, int? virtualType, int? state) { List? sta = ListStateTypeByGoodsType(isVirtual, virtualType); return sta?.FirstOrDefault(s => s.state == state)?.typeName; } public class VirtualType { public int virtualType; public string typeName; public List stateTypes; } public class StateType { public int state; public string typeName; } } }