| | |
| | | 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);
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | }
|