From 24a8d17e007545f7426c48352109aa1a9c6587ee Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 06 五月 2020 12:02:09 +0800 Subject: [PATCH] IOS上线隐藏我的界面的banner与超级会员升级信息 --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/dividents/TeamDividentsSourceOrderUserMapServiceImpl.java | 120 +++++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 98 insertions(+), 22 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/dividents/TeamDividentsSourceOrderUserMapServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/dividents/TeamDividentsSourceOrderUserMapServiceImpl.java index 7657bfe..3d4f22f 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/dividents/TeamDividentsSourceOrderUserMapServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/dividents/TeamDividentsSourceOrderUserMapServiceImpl.java @@ -1,89 +1,165 @@ package com.yeshi.fanli.service.impl.order.dividents; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Date; import java.util.List; -import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.yeshi.fanli.dao.mybatis.order.dividents.TeamDividentsSourceOrderUserMapMapper; import com.yeshi.fanli.entity.order.dividents.TeamDividentsSourceOrderUserMap; import com.yeshi.fanli.exception.ParamsException; import com.yeshi.fanli.service.inter.order.dividents.TeamDividentsSourceOrderUserMapService; +import com.yeshi.fanli.util.MoneyBigDecimalUtil; @Service public class TeamDividentsSourceOrderUserMapServiceImpl implements TeamDividentsSourceOrderUserMapService { + @Resource + private TeamDividentsSourceOrderUserMapMapper teamDividentsSourceOrderUserMapMapper; + @Override public TeamDividentsSourceOrderUserMap selectByPrimaryKeyForUpdate(Long id) { - // TODO Auto-generated method stub - return null; + return teamDividentsSourceOrderUserMapMapper.selectByPrimaryKeyForUpdate(id); } + @Transactional @Override public void send(Long id) { - // TODO Auto-generated method stub - + TeamDividentsSourceOrderUserMap map = teamDividentsSourceOrderUserMapMapper.selectByPrimaryKeyForUpdate(id); + if (map == null) + return; + if (map.getState() == TeamDividentsSourceOrderUserMap.STATE_JS) { + TeamDividentsSourceOrderUserMap update = new TeamDividentsSourceOrderUserMap(); + update.setId(id); + update.setState(TeamDividentsSourceOrderUserMap.STATE_YILINGQU); + update.setSendTime(new Date()); + update.setUpdateTime(new Date()); + teamDividentsSourceOrderUserMapMapper.updateByPrimaryKeySelective(update); + } } @Override public void addDividentsSourceOrderUserMap(TeamDividentsSourceOrderUserMap map) throws ParamsException { - // TODO Auto-generated method stub + if (map == null || map.getMoney() == null || map.getRate() == null || map.getSourceOrder() == null + || map.getSourceUid() == null || map.getTargetUid() == null || map.getType() == null) { + throw new ParamsException(1, "鍙傛暟涓嶅畬鏁�"); + } + List<Integer> typeList = new ArrayList<Integer>(); + typeList.add(map.getType()); + long count = teamDividentsSourceOrderUserMapMapper.count(map.getSourceOrder().getId(), null, map.getTargetUid(), + null, null, typeList); + if (count > 0) + return; + + if (map.getCreateTime() == null) + map.setCreateTime(new Date()); + + teamDividentsSourceOrderUserMapMapper.insertSelective(map); } @Override public List<TeamDividentsSourceOrderUserMap> listCanSend(Long sourceUid, Date maxPreSendTime, int page, int pageSize) { - // TODO Auto-generated method stub - return null; + + List<Integer> stateList = new ArrayList<Integer>(); + stateList.add(TeamDividentsSourceOrderUserMap.STATE_JS); + return teamDividentsSourceOrderUserMapMapper.list(null, sourceUid, null, maxPreSendTime, stateList, null, + (page - 1) * pageSize, pageSize); } @Override public long countCanSend(Long sourceUid, Date maxPreSendTime) { - // TODO Auto-generated method stub - return 0; + List<Integer> stateList = new ArrayList<Integer>(); + stateList.add(TeamDividentsSourceOrderUserMap.STATE_JS); + return teamDividentsSourceOrderUserMapMapper.count(null, sourceUid, null, maxPreSendTime, stateList, null); } @Override public long countBySourceOrderId(Long sourceOrderId) { - // TODO Auto-generated method stub - return 0; + return teamDividentsSourceOrderUserMapMapper.count(sourceOrderId, null, null, null, null, null); } @Override public List<TeamDividentsSourceOrderUserMap> listBySourceOrderId(Long sourceOrderId) { - // TODO Auto-generated method stub - return null; + return teamDividentsSourceOrderUserMapMapper.list(sourceOrderId, null, null, null, null, null, 0, 10000); } @Override public List<Long> listCanSendSourceUidByPreSendTime(Date preSendTime, int page, int count) { - // TODO Auto-generated method stub - return null; + return teamDividentsSourceOrderUserMapMapper.listCanSendSourceUidByPreSendTime(preSendTime, (page - 1) * count, + count); } @Override public Long countCanSendSourceUidByPreSendTime(Date preSendTime) { - // TODO Auto-generated method stub - return null; + return teamDividentsSourceOrderUserMapMapper.countCanSendSourceUidByPreSendTime(preSendTime); } + @Transactional @Override public void invalidBySourceOrderId(Long sourceOrderId) { - // TODO Auto-generated method stub + List<TeamDividentsSourceOrderUserMap> mapList = listBySourceOrderId(sourceOrderId); + if (mapList != null) + for (TeamDividentsSourceOrderUserMap map : mapList) { + if (map.getState() == TeamDividentsSourceOrderUserMap.STATE_FK + || map.getState() == TeamDividentsSourceOrderUserMap.STATE_JS) { + TeamDividentsSourceOrderUserMap update = new TeamDividentsSourceOrderUserMap(); + update.setId(map.getId()); + update.setUpdateTime(new Date()); + update.setState(TeamDividentsSourceOrderUserMap.STATE_SX); + teamDividentsSourceOrderUserMapMapper.updateByPrimaryKeySelective(update); + } + } } + @Override + public void invalidOrderBySourceUid(Long sourceUid, String beiZhu) { + List<Integer> stateList = new ArrayList<>(); + stateList.add(TeamDividentsSourceOrderUserMap.STATE_FK); + stateList.add(TeamDividentsSourceOrderUserMap.STATE_JS); + teamDividentsSourceOrderUserMapMapper.invalidOrderBySourceUid(sourceUid, beiZhu, stateList); + } + + @Transactional @Override public void orderSettle(Long sourceOrderId, Date preSendTime, BigDecimal income) { - // TODO Auto-generated method stub + List<TeamDividentsSourceOrderUserMap> mapList = listBySourceOrderId(sourceOrderId); + if (mapList != null) + for (TeamDividentsSourceOrderUserMap map : mapList) { + if (map.getState() == TeamDividentsSourceOrderUserMap.STATE_FK) { + TeamDividentsSourceOrderUserMap update = new TeamDividentsSourceOrderUserMap(); + update.setId(map.getId()); + update.setMoney(MoneyBigDecimalUtil.div(income.multiply(map.getRate()), new BigDecimal(100), 3)); + update.setUpdateTime(new Date()); + update.setState(TeamDividentsSourceOrderUserMap.STATE_JS); + update.setPreSendTime(preSendTime); + teamDividentsSourceOrderUserMapMapper.updateByPrimaryKeySelective(update); + } + } } + @Transactional @Override public void updateMoney(Long sourceOrderId, BigDecimal income) { - // TODO Auto-generated method stub - + List<TeamDividentsSourceOrderUserMap> mapList = listBySourceOrderId(sourceOrderId); + if (mapList != null) + for (TeamDividentsSourceOrderUserMap map : mapList) { + if (map.getState() == TeamDividentsSourceOrderUserMap.STATE_FK) { + TeamDividentsSourceOrderUserMap update = new TeamDividentsSourceOrderUserMap(); + update.setId(map.getId()); + update.setMoney(MoneyBigDecimalUtil.div(income.multiply(map.getRate()), new BigDecimal(100), 3)); + update.setUpdateTime(new Date()); + teamDividentsSourceOrderUserMapMapper.updateByPrimaryKeySelective(update); + } + } } } -- Gitblit v1.8.0