| | |
| | | package com.yeshi.fanli.util.factory;
|
| | |
|
| | | import java.math.BigDecimal;
|
| | | import java.util.Map;
|
| | |
|
| | | import javax.annotation.PostConstruct;
|
| | | import javax.annotation.Resource;
|
| | |
|
| | | import org.springframework.stereotype.Component;
|
| | |
|
| | | import com.yeshi.fanli.entity.bus.user.HongBao;
|
| | | import com.yeshi.fanli.dto.HongBao;
|
| | | import com.yeshi.fanli.dto.HongBaoDTO;
|
| | | import com.yeshi.fanli.entity.bus.user.Order;
|
| | | import com.yeshi.fanli.entity.bus.user.UserInfo;
|
| | | import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
|
| | | import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
|
| | | import com.yeshi.fanli.util.Constant;
|
| | |
|
| | | @Component
|
| | | public class HongBaoFactory {
|
| | | |
| | | |
| | |
|
| | | @Resource
|
| | | private HongBaoManageService hongBaoManageService;
|
| | | |
| | |
|
| | | private static HongBaoFactory hongBaoFactory;
|
| | | |
| | |
|
| | | @PostConstruct
|
| | | public void init(){
|
| | | public void init() {
|
| | | hongBaoFactory = this;
|
| | | hongBaoFactory.hongBaoManageService = this.hongBaoManageService;
|
| | | }
|
| | | |
| | |
|
| | | /**
|
| | | *
|
| | | * @param money 金额
|
| | | * @param orderId 系统的订单ID
|
| | | * @param parent |
| | | * @param userInfo |
| | | * @param money
|
| | | * 金额
|
| | | * @param orderId
|
| | | * 系统的订单ID
|
| | | * @param parent
|
| | | * @param userInfo
|
| | | * @return
|
| | | */
|
| | | public static HongBao createHongBao(BigDecimal money,Long orderId,HongBao parent,UserInfo userInfo,int type) {
|
| | | return createHongBao(money, null,orderId, parent, userInfo, null, type,null,null);
|
| | | public static HongBao createHongBao(BigDecimal money, Long orderId, HongBao parent, UserInfo userInfo, int type) {
|
| | | return createHongBao(money, null, orderId, parent, userInfo, null, type, null, null);
|
| | | }
|
| | | |
| | | public static HongBao createHongBao(BigDecimal money,String param,Long orderId,HongBao parent,UserInfo userInfo,int type) {
|
| | | return createHongBao(money, param,orderId, parent, userInfo, null, type,null,null);
|
| | |
|
| | | public static HongBao createHongBao(BigDecimal money, String param, Long orderId, HongBao parent, UserInfo userInfo,
|
| | | int type) {
|
| | | return createHongBao(money, param, orderId, parent, userInfo, null, type, null, null);
|
| | | }
|
| | | |
| | | public static HongBao createHongBao(BigDecimal money,String param,Long orderId,HongBao parent,UserInfo userInfo,int type,BigDecimal payMoney,Long auctionId) {
|
| | | return createHongBao(money, param,orderId, parent, userInfo, null, type,payMoney,auctionId);
|
| | |
|
| | | public static HongBao createHongBao(BigDecimal money, String param, Long orderId, HongBao parent, UserInfo userInfo,
|
| | | int type, BigDecimal payMoney, Long auctionId) {
|
| | | return createHongBao(money, param, orderId, parent, userInfo, null, type, payMoney, auctionId);
|
| | | }
|
| | | |
| | | public static HongBao createHongBao(BigDecimal money,String param,Long orderId,HongBao parent,UserInfo userInfo,Long preGettime,int type,BigDecimal payMoney,Long auctionId) {
|
| | |
|
| | | public static HongBao createHongBao(BigDecimal money, String param, Long orderId, HongBao parent, UserInfo userInfo,
|
| | | Long preGettime, int type, BigDecimal payMoney, Long auctionId) {
|
| | | HongBao hongBao = new HongBao();
|
| | | long timeMillis = System.currentTimeMillis();
|
| | | hongBao.setCreatetime(timeMillis);
|
| | | hongBao.setMoney(money);
|
| | | hongBao.setState(Constant.HB_NOTIME);
|
| | | if(param==null){
|
| | | param="{\"picture\":\"\"}";
|
| | | if (param == null) {
|
| | | param = "{\"picture\":\"\"}";
|
| | | }
|
| | | hongBao.setParam(param);
|
| | | if(orderId != null){
|
| | | if (orderId != null) {
|
| | | Order order = new Order();
|
| | | order.setId(orderId);
|
| | | hongBao.setOrder(order);
|
| | | }
|
| | | hongBao.setParent(parent);
|
| | | // if(preGettime==null){
|
| | | // preGettime = preGettime(timeMillis,type);
|
| | | // }
|
| | | // if(timeMillis >= preGettime){
|
| | | // hongBao.setState(Constant.HB_GET);
|
| | | // }
|
| | | // if(preGettime==null){
|
| | | // preGettime = preGettime(timeMillis,type);
|
| | | // }
|
| | | // if(timeMillis >= preGettime){
|
| | | // hongBao.setState(Constant.HB_GET);
|
| | | // }
|
| | | hongBao.setPreGettime(0L);
|
| | | hongBao.setUrank(userInfo.getRank());
|
| | | hongBao.setUserInfo(userInfo);
|
| | |
| | | hongBao.setHasChild(false);
|
| | | return hongBao;
|
| | | }
|
| | | |
| | | /**
|
| | | * 获取红包可打开时间
|
| | | * @param timeMillis
|
| | | * @param type 红包类型
|
| | | * @return
|
| | | */
|
| | | private static long preGettime(long timeMillis,int type){
|
| | | Map<String, String> map = hongBaoFactory.hongBaoManageService.convertMap();
|
| | | String day = null;
|
| | | String hour = null;
|
| | | if(type != Constant.HB_NEWUSER){
|
| | | day = map.get("hongbao_goods_unlock_day");
|
| | | hour = map.get("hongbao_goods_unlock_hour");
|
| | | }else{
|
| | | day = map.get("hongbao_new_user_unlock_day");
|
| | | hour = map.get("hongbao_new_user_unlock_hour");
|
| | | }
|
| | | long dayms =(long) (Double.parseDouble(day) * Constant.DAYMS);
|
| | | long hourms =(long)(Double.parseDouble(hour) * Constant.HOURMS);
|
| | | return timeMillis+dayms+hourms;
|
| | |
|
| | | public static HongBao createHongBao(HongBaoDTO hongBaoDTO) {
|
| | | HongBao hongBao = new HongBao();
|
| | | hongBao.setId(hongBaoDTO.getId());
|
| | | hongBao.setOrderId(hongBaoDTO.getOrderId());
|
| | |
|
| | | if (hongBaoDTO.getSettlement() != null&&hongBaoDTO.getSettlement().compareTo(new BigDecimal(0))>0)
|
| | | hongBao.setPayMoney(hongBaoDTO.getSettlement());
|
| | | else
|
| | | hongBao.setPayMoney(hongBaoDTO.getPayMoney());
|
| | |
|
| | | hongBao.setCreatetime(hongBaoDTO.getCreateTime().getTime());
|
| | | hongBao.setMoney(hongBaoDTO.getMoney());
|
| | | hongBao.setState(hongBaoDTO.getState());
|
| | | hongBao.setType(hongBaoDTO.getType());
|
| | | hongBao.setUserInfo(hongBaoDTO.getUserInfo());
|
| | | return hongBao;
|
| | | }
|
| | |
|
| | | }
|