工作周记
来源:互联网 发布:java用汉字组成的图案 编辑:程序博客网 时间:2024/04/27 03:36
完成任务:紫钻官网挖宝藏页面买道具送一次抽奖,主要逻辑:抽奖逻辑及支付逻辑,奖品的发放逻辑:父类BaseProcessor里有一个PresentReleaseService,PresentReleaseService里有个map,每当一个子类Processor初始化时(Spring自动扫描),就往PresentReleaseService里的map里放自己(和奖品类型对应),这样PresentReleaseService只有一个,map也只有一个,发放的时候根据奖品类型从map里拿Processor,每个子类Processor重写getProcessorType()方法和release()方法
public abstract class BaseProcessor implements ReleaseProcessor {
@Autowired
protected PresentReleaseService presentReleaseService;
@PostConstruct
public void registerProcesser() {
presentReleaseService.register(getProcessorType(),this);
}
abstract protected int getProcessorType();
}
public class PresentReleaseServiceImpl implements PresentReleaseService {
private Map<Integer, ReleaseProcessor> releaseProcessors = new HashMap<Integer, ReleaseProcessor>();
@Override
public void register(Integer type, ReleaseProcessor releaseProcessor) {
ReleaseProcessor previousReleaseProcessor = releaseProcessors.put(type, releaseProcessor);
if (previousReleaseProcessor != null) {
throw new RuntimeException("注册器检测到相同的奖品发放逻辑,请保证发放逻辑的唯一性。冲突的奖品类型为:" + type);
}
}
}
// 发放逻辑
ReleaseProcessor releaseProcesser = releaseProcessors.get(present.getType());
if (releaseProcesser != null) {
result = releaseProcesser.release(uid, present, remark);
}
下单验证器Validator逻辑也是这样
- 工作周记
- 工作周记
- 工作周记
- 工作周记
- 工作周记
- 工作周记
- 工作周记
- 工作周记
- 工作周记
- 工作周记
- 工作周记
- 工作周记
- 工作周记
- 工作周记
- 工作周记
- 工作周记
- 工作周记
- 工作周记
- iOS6新特征:UICollectionView高级使用示例之CircleLayout
- 反射得到资料完善进度
- 带参数的批处理
- 在Linux 下编译链接多个源文件
- HTTP 1.1与HTTP 1.0的比较
- 工作周记
- 【数据结构】二叉树中包含的【堆栈、链表、队列】
- 雏菊与罂粟花
- kaptcha 验证码组件使用简介
- 批处理下各符号的作用详解
- host字段变复杂了
- OPENGL ES1.X多重纹理的实现
- 关于手机上显示网页自适应大小viewport参数设置
- cocos2d-x之__Array:: createWithContentsOfFile引发的“血案”