嗨森逛服务
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hai-server/hai-service/src/main/java/com/hai/service/impl/HighRefundAuditServiceImpl....

110 lines
4.2 KiB

package com.hai.service.impl;
import com.hai.common.utils.DateUtil;
import com.hai.dao.HighRefundAuditMapper;
import com.hai.entity.HighRefundAudit;
import com.hai.entity.HighRefundAuditExample;
import com.hai.entity.OutRechargeOrder;
import com.hai.entity.OutRechargeOrderExample;
import com.hai.model.UserInfoModel;
import com.hai.service.HighRefundAuditService;
import com.hai.service.OutRechargeOrderService;
import io.swagger.models.auth.In;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.Map;
@Service("highRefundAuditService")
public class HighRefundAuditServiceImpl implements HighRefundAuditService {
@Resource
private HighRefundAuditMapper highRefundAuditMapper;
@Resource
private OutRechargeOrderService outRechargeOrderService;
@Override
public List<HighRefundAudit> getListRefundAudit(Map<String, String> map) {
HighRefundAuditExample example = new HighRefundAuditExample();
HighRefundAuditExample.Criteria criteria = example.createCriteria();
if (MapUtils.getInteger(map, "status") != null) {
criteria.andStatusEqualTo(MapUtils.getInteger(map, "status"));
}
if (MapUtils.getInteger(map, "payType") != null) {
criteria.andPayTypeEqualTo(MapUtils.getInteger(map, "payType"));
}
if (MapUtils.getInteger(map, "companyId") != null) {
criteria.andCompanIdEqualTo(MapUtils.getInteger(map, "companyId"));
}
if (MapUtils.getString(map, "orderNo") != null) {
criteria.andSourceOrderNoLike("%" + MapUtils.getString(map, "orderNo") + "%");
}
if (StringUtils.isNotBlank(map.get("payTimeS")) && StringUtils.isNotBlank(map.get("payTimeE"))) {
criteria.andPayTimeBetween(
DateUtil.format(map.get("payTimeS") , "yyyy-MM-dd HH:mm:ss") ,
DateUtil.format(map.get("payTimeE") , "yyyy-MM-dd HH:mm:ss"));
}
if (StringUtils.isNotBlank(map.get("createTimeS")) && StringUtils.isNotBlank(map.get("createTimeE"))) {
criteria.andCreatedTimeBetween(
DateUtil.format(map.get("createTimeS") , "yyyy-MM-dd HH:mm:ss") ,
DateUtil.format(map.get("createTimeE") , "yyyy-MM-dd HH:mm:ss"));
}
return highRefundAuditMapper.selectByExample(example);
}
@Override
public HighRefundAudit getRefundAuditById(Integer id) {
return highRefundAuditMapper.selectByPrimaryKey(id);
}
@Override
public HighRefundAudit findByOrderNo(String orderNo) {
HighRefundAuditExample example = new HighRefundAuditExample();
example.createCriteria().andSourceOrderNoEqualTo(orderNo);
return highRefundAuditMapper.selectByExample(example).get(0);
}
@Override
@Transactional(propagation= Propagation.REQUIRES_NEW)
public void insertRefundAudit(HighRefundAudit highRefundAudit , UserInfoModel userInfoModel) {
OutRechargeOrder outRechargeOrder = outRechargeOrderService.findByOrderNo(highRefundAudit.getSourceOrderNo());
highRefundAudit.setCompanId(userInfoModel.getBsCompany().getId().intValue());
highRefundAudit.setStatus(0);
highRefundAudit.setRefundPrice(outRechargeOrder.getPayPrice());
highRefundAudit.setCreatedTime(new Date());
highRefundAudit.setCreatedUserId(userInfoModel.getSecUser().getId().intValue());
highRefundAudit.setCreatedUserName(userInfoModel.getSecUser().getUserName());
highRefundAudit.setPayType(outRechargeOrder.getPayType());
highRefundAudit.setPayTime(outRechargeOrder.getPayTime());
highRefundAudit.setExt1(String.valueOf(outRechargeOrder.getId()));
outRechargeOrder.setStatus(6);
outRechargeOrderService.updateOrder(outRechargeOrder);
highRefundAuditMapper.insert(highRefundAudit);
}
@Override
public void updateRefundAudit(HighRefundAudit highRefundAudit) {
highRefundAuditMapper.updateByPrimaryKey(highRefundAudit);
}
}