| | |
| | | import javax.annotation.Resource;
|
| | | import javax.servlet.http.HttpServletRequest;
|
| | |
|
| | | import org.apache.ibatis.annotations.Param;
|
| | | import org.hibernate.HibernateException;
|
| | | import org.hibernate.Query;
|
| | | import org.hibernate.SQLQuery;
|
| | |
| | | import com.yeshi.fanli.dao.mybatis.ThreeSaleMapper;
|
| | | import com.yeshi.fanli.dao.mybatis.UserInfoMapper;
|
| | | import com.yeshi.fanli.dao.mybatis.hongbao.HongBaoMapper;
|
| | | import com.yeshi.fanli.dao.mybatis.money.UserMoneyDetailMapper;
|
| | | import com.yeshi.fanli.dao.mybatis.order.OrderItemMapper;
|
| | | import com.yeshi.fanli.dao.mybatis.order.OrderMapper;
|
| | | import com.yeshi.fanli.entity.admin.OrderAdmin;
|
| | |
| | | import com.yeshi.fanli.entity.bus.user.ThreeSaleGift;
|
| | | import com.yeshi.fanli.entity.bus.user.UserInfo;
|
| | | import com.yeshi.fanli.entity.common.Config;
|
| | | import com.yeshi.fanli.entity.money.UserMoneyDetail;
|
| | | import com.yeshi.fanli.entity.taobao.OrderVital;
|
| | | import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
|
| | | import com.yeshi.fanli.exception.money.UserMoneyDetailException;
|
| | | import com.yeshi.fanli.log.LogHelper;
|
| | | import com.yeshi.fanli.service.inter.config.ConfigService;
|
| | | import com.yeshi.fanli.service.inter.config.SystemConfigService;
|
| | |
| | | import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce;
|
| | | import com.yeshi.fanli.service.inter.order.OrderItemServcie;
|
| | | import com.yeshi.fanli.service.inter.order.OrderService;
|
| | | import com.yeshi.fanli.service.inter.push.PushService;
|
| | | import com.yeshi.fanli.service.inter.user.AccountDetailsService;
|
| | | import com.yeshi.fanli.service.inter.user.AccountMessageService;
|
| | | import com.yeshi.fanli.service.inter.user.MoneyRecordService;
|
| | |
| | | import com.yeshi.fanli.util.factory.AccountDetailsFactory;
|
| | | import com.yeshi.fanli.util.factory.AccountMessageFactory;
|
| | | import com.yeshi.fanli.util.factory.HongBaoFactory;
|
| | | import com.yeshi.fanli.util.factory.UserMoneyDetailFactory;
|
| | | import com.yeshi.fanli.util.push.XiaoMiPushUtil;
|
| | | import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil;
|
| | | import com.yeshi.fanli.util.taobao.TaoBaoUtil;
|
| | |
| | |
|
| | | @Resource
|
| | | private UserNotificationService userNotificationService;
|
| | | |
| | | @Resource
|
| | | private UserMoneyDetailMapper userMoneyDetailMapper;
|
| | |
|
| | | private static final String NEW_USER_HONGBAO = "new_user_hongbao";
|
| | |
|
| | |
| | |
|
| | | AccountDetails ac = AccountDetailsFactory.create("+" + money, AccountDetailsFactory.XINREN, null, null, form);
|
| | | accountDetailsMapper.insertSelective(ac);
|
| | | // 新版资金明细
|
| | | try {
|
| | | UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createNewerHongBao(hongBao);
|
| | | userMoneyDetail.setId(ac.getId());
|
| | | userMoneyDetailMapper.insert(userMoneyDetail);
|
| | | } catch (UserMoneyDetailException e) {
|
| | | try {
|
| | | LogHelper.errorDetailInfo(e);
|
| | | } catch (Exception e1) {
|
| | | e1.printStackTrace();
|
| | | }
|
| | | }
|
| | |
|
| | | userInfoMapper.addHongBaoByUid(form.getId(), new BigDecimal(money));
|
| | | userNotificationService.newerHongBao(form.getId(), new BigDecimal(money));
|
| | |
| | |
|
| | | @Transactional
|
| | | public void updateHongBao(HongBao hongBao, TaoBaoOrder taoBaoOrder) {
|
| | | BigDecimal rate = new BigDecimal(hongBaoManageMapper.selectByKey("hongbao_goods_proportion").getValue())
|
| | | .divide(new BigDecimal(100));
|
| | | BigDecimal proportion = hongBaoManageService.getFanLiRate();
|
| | | BigDecimal rate = proportion.divide(new BigDecimal(100));
|
| | | // 更新红包项
|
| | | HongBao updateHongBao = new HongBao();
|
| | | updateHongBao.setId(hongBao.getId());
|
| | |
| | | public void addHongBao(Order order, TaoBaoOrder taoBaoOrder, Long orderItemId) {
|
| | | OrderItem orderItem = orderItemMapper.selectByPrimaryKey(orderItemId);
|
| | | // 订单返利比例
|
| | | BigDecimal baseRate = new BigDecimal(hongBaoManageMapper.selectByKey("hongbao_goods_proportion").getValue())
|
| | | .divide(new BigDecimal(100));
|
| | | BigDecimal proportion = hongBaoManageService.getFanLiRate();
|
| | | BigDecimal baseRate = proportion.divide(new BigDecimal(100));
|
| | |
|
| | | // 创建红包
|
| | | JSONObject data = new JSONObject();
|
| | |
| | | hongBao.setHasChild(true);
|
| | | }
|
| | |
|
| | | // 如果失效就判定已经失效
|
| | | if (taoBaoOrder.getOrderState().equalsIgnoreCase("订单失效"))
|
| | | hongBao.setState(HongBao.STATE_SHIXIAO);
|
| | |
|
| | | hongBaoMapper.insertSelective(hongBao);
|
| | | // 通知用户订单被统计
|
| | | if (!taoBaoOrder.getOrderState().equalsIgnoreCase("订单失效")) {
|