3、币包选择器
package com.item.btype; import java.math.BigDecimal; /** * 币包操作选择器 */ public class SwitchWallet { /** * 接口层获取移动端的操作币种编号<br/> * * @param WalletEnumId * @param UserId * @return 用户当前所查询币种的信息 */ public static BaseWallet UserWalletById(int WalletEnumId, String UserId) { /** * 根据WalletEnumId标识进行case选择 */ switch (WalletEnumId) { case 1: return new BGWallet(); case 1001: return new BTCWallet(); case 1002: return new ETHWallet(); case 1003: return new OMGWallet(); default:return null; } } }
4、Controller承接数据
package com.item.btype; import java.math.BigDecimal; public class WalletController { /** * 充当接口层 * @return */ public Resful AddChange(int WalletEnumId, String Token, BigDecimal ChangeCount){ if(WalletEnum.GetName(WalletEnumId)==null){ return new Resful("币种不符"); } /** * Token兑换UserId * String UserId=redis.TokenToUserId(Token); */ String UserId="asd2asdzpasodospasodpaos"; /** * 获取用户某币种钱包信息,使用父类表承接 */ BaseWallet bw=SwitchWallet.UserWalletById(WalletEnumId,UserId); //已经获取到对应表的信息,其它功能在业务逻辑层完成即可。 return new Resful("成功",bw.getAllCount()); } }
5、总结:
a)、币包的思路就是利用枚举的方式作为币包约束,在集合父子类关系进行简化代码操作。
下篇内容:【】:【】
万丈高楼平地起,程序员数学基础,从小学的【什么是数学】至【离散数学】(主要是图论)咱们一步步成长,共同加油。