| | |
| | | import com.google.gson.Gson;
|
| | | import com.qcloud.cos.model.COSObjectSummary;
|
| | | import com.qcloud.cos.model.ObjectListing;
|
| | | import com.yeshi.fanli.dao.mybatis.AccountDetailsMapper;
|
| | | import com.yeshi.fanli.dao.mybatis.AccountMessageMapper;
|
| | | import com.yeshi.fanli.dao.mybatis.BindingAccountMapper;
|
| | | import com.yeshi.fanli.dao.mybatis.MoneyRecordMapper;
|
| | | import com.yeshi.fanli.dao.mybatis.PidOrderMapper;
|
| | | import com.yeshi.fanli.dao.mybatis.UserConnectHistoryMapper;
|
| | | import com.yeshi.fanli.dao.mybatis.UserInfoMapper;
|
| | | import com.yeshi.fanli.dao.mybatis.hongbao.HongBaoMapper;
|
| | | import com.yeshi.fanli.dao.mybatis.order.OrderItemMapper;
|
| | | import com.yeshi.fanli.dao.mybatis.order.OrderMapper;
|
| | | import com.yeshi.fanli.entity.bus.user.AccountDetails;
|
| | | import com.yeshi.fanli.entity.bus.user.AccountMessage;
|
| | | import com.yeshi.fanli.entity.bus.user.BindingAccount;
|
| | | import com.yeshi.fanli.entity.bus.user.ForbiddenUserIdentifyCode;
|
| | | import com.yeshi.fanli.entity.bus.user.ForbiddenUserIdentifyCode.ForbiddenUserIdentifyCodeTypeEnum;
|
| | | import com.yeshi.fanli.entity.bus.user.HongBao;
|
| | | import com.yeshi.fanli.entity.bus.user.LoginResult;
|
| | | import com.yeshi.fanli.entity.bus.user.MoneyRecord;
|
| | | import com.yeshi.fanli.entity.bus.user.Order;
|
| | | import com.yeshi.fanli.entity.bus.user.OrderItem;
|
| | | import com.yeshi.fanli.entity.bus.user.ThreeSale;
|
| | | import com.yeshi.fanli.entity.bus.user.UserConnectHistory;
|
| | | import com.yeshi.fanli.entity.bus.user.UserInfo;
|
| | | import com.yeshi.fanli.entity.bus.user.WeiXinUser;
|
| | | import com.yeshi.fanli.entity.taobao.PidOrder;
|
| | | import com.yeshi.fanli.exception.UserAccountException;
|
| | | import com.yeshi.fanli.log.LogHelper;
|
| | | import com.yeshi.fanli.service.inter.hongbao.HongBaoService;
|
| | | import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce;
|
| | | import com.yeshi.fanli.service.inter.msg.UserAccountMsgNotificationService;
|
| | | import com.yeshi.fanli.service.inter.user.ForbiddenUserIdentifyCodeService;
|
| | |
| | | import com.yeshi.fanli.util.FileUtil;
|
| | | import com.yeshi.fanli.util.StringUtil;
|
| | | import com.yeshi.fanli.util.TimeUtil;
|
| | | import com.yeshi.fanli.util.factory.AccountDetailsFactory;
|
| | | import com.yeshi.fanli.util.factory.msg.MsgAccountDetailFactory;
|
| | | import com.yeshi.fanli.util.wx.WXLoginUtil;
|
| | |
|
| | |
| | | private UserConnectHistoryMapper userConnectHistoryMapper;
|
| | |
|
| | | @Resource
|
| | | private AccountDetailsMapper accountDetailsMapper;
|
| | |
|
| | | @Resource
|
| | | private HongBaoMapper hongBaoMapper;
|
| | |
|
| | | @Resource
|
| | | private OrderMapper orderMapper;
|
| | |
|
| | | @Resource
|
| | |
| | | @Resource
|
| | | private ThreeSaleSerivce threeSaleSerivce;
|
| | |
|
| | | @Resource
|
| | | private PidOrderMapper pidOrderMapper;
|
| | |
|
| | | @Resource
|
| | | private HongBaoService hongBaoService;
|
| | |
|
| | | @Resource
|
| | | private AccountMessageMapper accountMessageMapper;
|
| | |
| | | userInfoMapper.connectUser(mainUser.getId(), lessUser.getId());
|
| | |
|
| | | // 查询是否有多余的新人红包
|
| | | List<HongBao> list = hongBaoMapper.selectByUidAndType(mainUser.getId(), HongBao.TYPE_XINREN);
|
| | | int subCount = 0;
|
| | | int addCount = 0;
|
| | | for (HongBao hb : list) {
|
| | | if (hb.getMoney().compareTo(new BigDecimal(0)) > 0)
|
| | | addCount++;
|
| | | if (hb.getMoney().compareTo(new BigDecimal(0)) < 0)
|
| | | subCount++;
|
| | | }
|
| | |
|
| | | // 有2个或者2个以上的新人红包
|
| | | if (addCount - subCount > 1) {
|
| | | // 扣除一个新人红包
|
| | | AccountDetails accountDetails = new AccountDetails();
|
| | | accountDetails.setCreateTime(TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM-dd HH:mm:ss"));
|
| | | accountDetails.setExtract(null);
|
| | | accountDetails.setMoney("-" + list.get(1).getMoney().toString());
|
| | | accountDetails.setOrderItem(null);
|
| | | accountDetails.setTitle(" 账号合并扣除重复新人红包");
|
| | | accountDetails.setType(AccountDetailsFactory.TUIKUAN);
|
| | | accountDetails.setUserInfo(mainUser);
|
| | | accountDetailsMapper.insertSelective(accountDetails);
|
| | |
|
| | | AccountMessage accountMessage = new AccountMessage();
|
| | | accountMessage.setContent(" 账号合并扣除重复新人红包" + list.get(1).getMoney().toString() + "元");
|
| | | accountMessage.setCreateTime(System.currentTimeMillis());
|
| | | accountMessage.setIsOpen(false);
|
| | | accountMessage.setSystemMsgId(0);
|
| | | accountMessage.setTitle(" 账号合并扣除重复新人红包");
|
| | | accountMessage.setUserInfo(mainUser);
|
| | | accountMessageMapper.insertSelective(accountMessage);
|
| | |
|
| | | userInfoMapper.subHongBaoByUid(mainUser.getId(), list.get(1).getMoney());
|
| | |
|
| | | HongBao hongBao = new HongBao(mainUser, new BigDecimal(0).subtract(list.get(1).getMoney()), null,
|
| | | HongBao.TYPE_XINREN, HongBao.STATE_YILINGQU, System.currentTimeMillis(), System.currentTimeMillis(),
|
| | | System.currentTimeMillis(), null, "账号合并扣除");
|
| | |
|
| | | hongBaoMapper.insertSelective(hongBao);
|
| | |
|
| | | MoneyRecord moneyRecord = new MoneyRecord(mainUser, hongBao, list.get(1).getMoney(), "账号合并扣除重复新人红包", "账号合并",
|
| | | System.currentTimeMillis(), 2);
|
| | | moneyRecordMapper.insertSelective(moneyRecord);
|
| | | }
|
| | |
|
| | | userAccountMsgNotificationService.connectSuccess(mainUser.getId(), lessUser.getId());
|
| | | }
|
| | |
| | | updateUserInfo.setNickName(Constant.systemCommonConfig.getDefaultNickName() + user.getId());
|
| | | userInfoMapper.updateByPrimaryKeySelective(updateUserInfo);
|
| | | }
|
| | |
|
| | | // 添加新人红包
|
| | | hongBaoService.setNewUserHongBaoMyBatis(user, 1);
|
| | | }
|
| | |
|
| | | @Override
|
| | |
| | | // 备份用户信息
|
| | | UserInfo user = userInfoMapper.selectByPrimaryKey(uid);
|
| | |
|
| | | // 备份资金明细
|
| | | List<AccountDetails> accountDetailsList = accountDetailsMapper.selectByUid(uid);
|
| | | // 备份红包信息
|
| | | List<HongBao> hongBaoList = hongBaoMapper.selectByUid(uid);
|
| | | // TODO 备份资金明细
|
| | | // 备份订单,子订单信息
|
| | | List<Order> orderList = orderMapper.selectByUid(uid);
|
| | | List<OrderItem> orderItemList = orderItemMapper.selectByUid(uid);
|
| | |
| | | // 备份邀请关系
|
| | | List<ThreeSale> threeSaleList = new ArrayList<>();
|
| | |
|
| | | // 备份分享赚
|
| | | List<PidOrder> pidOrderList = pidOrderMapper.selectByUid(uid);
|
| | |
|
| | | FileWriter fw = null;
|
| | | try {
|
| | |
| | |
|
| | | fw.write("#UserInfo" + "\r\n");
|
| | | fw.write(JsonUtil.getSimpleGsonWithDate().toJson(user) + "\r\n");
|
| | |
|
| | | fw.write("#AccountDetails" + "\r\n");
|
| | | fw.write(JsonUtil.getSimpleGsonWithDate().toJson(accountDetailsList) + "\r\n");
|
| | |
|
| | | fw.write("#HongBao" + "\r\n");
|
| | | fw.write(JsonUtil.getSimpleGsonWithDate().toJson(hongBaoList) + "\r\n");
|
| | |
|
| | | fw.write("#Order" + "\r\n");
|
| | | fw.write(JsonUtil.getSimpleGsonWithDate().toJson(orderList) + "\r\n");
|
| | |
| | | fw.write("#ThreeSale" + "\r\n");
|
| | | fw.write(JsonUtil.getSimpleGsonWithDate().toJson(threeSaleList) + "\r\n");
|
| | |
|
| | | fw.write("#PidOrder" + "\r\n");
|
| | | fw.write(JsonUtil.getSimpleGsonWithDate().toJson(pidOrderList) + "\r\n");
|
| | |
|
| | | fw.close();
|
| | |
|