| | |
| | | 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 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;
|
| | | import com.yeshi.fanli.vo.order.TeamDividentsVO;
|
| | |
|
| | | @Service
|
| | | public class TeamDividentsSourceOrderUserMapServiceImpl implements TeamDividentsSourceOrderUserMapService {
|
| | |
|
| | | @Resource
|
| | | private TeamDividentsSourceOrderUserMapMapper teamDividentsSourceOrderUserMapMapper;
|
| | |
|
| | | @Override
|
| | | public TeamDividentsSourceOrderUserMap selectByPrimaryKeyForUpdate(Long id) {
|
| | | return teamDividentsSourceOrderUserMapMapper.selectByPrimaryKeyForUpdate(id);
|
| | | }
|
| | |
|
| | | @Transactional
|
| | | @Override
|
| | | public void send(Long id) {
|
| | | 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 {
|
| | | 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) {
|
| | |
|
| | | 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) {
|
| | | 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) {
|
| | | return teamDividentsSourceOrderUserMapMapper.count(sourceOrderId, null, null, null, null, null);
|
| | | }
|
| | |
|
| | | @Override
|
| | | public List<TeamDividentsSourceOrderUserMap> listBySourceOrderId(Long sourceOrderId) {
|
| | | return teamDividentsSourceOrderUserMapMapper.list(sourceOrderId, null, null, null, null, null, 0, 10000);
|
| | | }
|
| | |
|
| | | @Override
|
| | | public List<Long> listCanSendSourceUidByPreSendTime(Date preSendTime, int page, int count) {
|
| | | return teamDividentsSourceOrderUserMapMapper.listCanSendSourceUidByPreSendTime(preSendTime, (page - 1) * count,
|
| | | count);
|
| | | }
|
| | |
|
| | | @Override
|
| | | public Long countCanSendSourceUidByPreSendTime(Date preSendTime) {
|
| | | return teamDividentsSourceOrderUserMapMapper.countCanSendSourceUidByPreSendTime(preSendTime);
|
| | | }
|
| | |
|
| | | @Transactional
|
| | | @Override
|
| | | public void invalidBySourceOrderId(Long sourceOrderId) {
|
| | | 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) {
|
| | | 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) {
|
| | | 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);
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | |
| | | @Override
|
| | | public List<TeamDividentsSourceOrderUserMap> listBySourceOrderIdAndTargetUid(Long sourceOrderId, Long targetUid) {
|
| | | return teamDividentsSourceOrderUserMapMapper.list(sourceOrderId, null, targetUid, null, null, null, 0, 10000);
|
| | | }
|
| | | |
| | | @Override
|
| | | public List<TeamDividentsVO> listByDateAndTargetUid(long start, int count, Long targetUid,Date minTime,Date maxTime, String key) {
|
| | | return teamDividentsSourceOrderUserMapMapper.listByDateAndTargetUid(start, count, targetUid, minTime, maxTime, key);
|
| | | }
|
| | | |
| | | @Override
|
| | | public long countByDateAndTargetUid(Long targetUid,Date minTime,Date maxTime, String key) {
|
| | | Long count = teamDividentsSourceOrderUserMapMapper.countByDateAndTargetUid(targetUid, minTime, maxTime, key);
|
| | | if (count == null) |
| | | count = 0L;
|
| | | return count;
|
| | | }
|
| | | |
| | | @Override
|
| | | public TeamDividentsVO sumByDateAndTargetUid(Long targetUid,Date minTime,Date maxTime, String key) {
|
| | | return teamDividentsSourceOrderUserMapMapper.sumByDateAndTargetUid(targetUid, minTime, maxTime, key);
|
| | | }
|
| | | |
| | | }
|
| | | 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 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 org.yeshi.utils.MoneyBigDecimalUtil; |
| | | import com.yeshi.fanli.vo.order.TeamDividentsVO; |
| | | import com.yeshi.fanli.vo.order.TeamOrderVO; |
| | | |
| | | @Service |
| | | public class TeamDividentsSourceOrderUserMapServiceImpl implements TeamDividentsSourceOrderUserMapService { |
| | | |
| | | @Resource |
| | | private TeamDividentsSourceOrderUserMapMapper teamDividentsSourceOrderUserMapMapper; |
| | | |
| | | @Override |
| | | public TeamDividentsSourceOrderUserMap selectByPrimaryKeyForUpdate(Long id) { |
| | | return teamDividentsSourceOrderUserMapMapper.selectByPrimaryKeyForUpdate(id); |
| | | } |
| | | |
| | | @Transactional |
| | | @Override |
| | | public void send(Long id) { |
| | | 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 { |
| | | 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) { |
| | | |
| | | 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) { |
| | | 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) { |
| | | return teamDividentsSourceOrderUserMapMapper.count(sourceOrderId, null, null, null, null, null); |
| | | } |
| | | |
| | | @Override |
| | | public List<TeamDividentsSourceOrderUserMap> listBySourceOrderId(Long sourceOrderId) { |
| | | return teamDividentsSourceOrderUserMapMapper.list(sourceOrderId, null, null, null, null, null, 0, 10000); |
| | | } |
| | | |
| | | @Override |
| | | public List<Long> listCanSendSourceUidByPreSendTime(Date preSendTime, int page, int count) { |
| | | return teamDividentsSourceOrderUserMapMapper.listCanSendSourceUidByPreSendTime(preSendTime, (page - 1) * count, |
| | | count); |
| | | } |
| | | |
| | | @Override |
| | | public Long countCanSendSourceUidByPreSendTime(Date preSendTime) { |
| | | return teamDividentsSourceOrderUserMapMapper.countCanSendSourceUidByPreSendTime(preSendTime); |
| | | } |
| | | |
| | | @Transactional |
| | | @Override |
| | | public void invalidBySourceOrderId(Long sourceOrderId) { |
| | | 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) { |
| | | 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) { |
| | | 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); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List<TeamDividentsSourceOrderUserMap> listBySourceOrderIdAndTargetUid(Long sourceOrderId, Long targetUid) { |
| | | return teamDividentsSourceOrderUserMapMapper.list(sourceOrderId, null, targetUid, null, null, null, 0, 10000); |
| | | } |
| | | |
| | | @Override |
| | | public List<TeamDividentsVO> listByDateAndTargetUid(long start, int count, Long targetUid,Date minTime,Date maxTime, String key) { |
| | | return teamDividentsSourceOrderUserMapMapper.listByDateAndTargetUid(start, count, targetUid, minTime, maxTime, key); |
| | | } |
| | | |
| | | @Override |
| | | public long countByDateAndTargetUid(Long targetUid,Date minTime,Date maxTime, String key) { |
| | | Long count = teamDividentsSourceOrderUserMapMapper.countByDateAndTargetUid(targetUid, minTime, maxTime, key); |
| | | if (count == null) |
| | | count = 0L; |
| | | return count; |
| | | } |
| | | |
| | | @Override |
| | | public TeamDividentsVO sumByDateAndTargetUid(Long targetUid,Date minTime,Date maxTime, String key) { |
| | | return teamDividentsSourceOrderUserMapMapper.sumByDateAndTargetUid(targetUid, minTime, maxTime, key); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List<TeamOrderVO> searchByOrderNoOrSourceUid(long start, int count, Long targetUid ,String key) { |
| | | return teamDividentsSourceOrderUserMapMapper.searchByOrderNoOrSourceUid(start, count, targetUid, key); |
| | | } |
| | | |
| | | @Override |
| | | public long countSearchByOrderNoOrSourceUid(Long targetUid ,String key) { |
| | | Long count = teamDividentsSourceOrderUserMapMapper.countSearchByOrderNoOrSourceUid(targetUid, key); |
| | | if (count == null) |
| | | count = 0L; |
| | | return count; |
| | | } |
| | | } |