doum
7 天以前 b574291c99bba5819fe2d69405ffa10e9d47d994
server/services/src/main/java/com/doumee/service/business/impl/OrdersServiceImpl.java
@@ -25,6 +25,7 @@
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -81,6 +82,7 @@
        orders.setPayStatus(Constants.ZERO);
        orders.setStatus(Constants.ZERO);
        orders.setPayMethod(Constants.ZERO);
        orders.setDeleted(Constants.ZERO);
        ordersMapper.insert(orders);
        return startPayDo(orders);
    }
@@ -98,7 +100,9 @@
            param.setReqsn(""+orders.getId());
            param.setReturl(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.PAY_RETURN_URL).getCode());
            param.setNotify_url( systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.PAY_NOTIFY_URL).getCode());
            param.setBody(orders.getRemark());
            param.setBody(StringUtils.defaultString(orders.getName(),"") +"-"
                    + StringUtils.defaultString(orders.getPhone(),"")+ "-"
                    +StringUtils.defaultString(orders.getRemark(),""));
            param.setValidtime(  systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.PAY_VALID_TIME).getCode());
            param.setSigntype(  systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.PAY_SIGN_TYPE).getCode());
@@ -188,54 +192,40 @@
    @Override
    public PageData<Orders> findPage(PageWrap<Orders> pageWrap) {
        IPage<Orders> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        QueryWrapper<Orders> queryWrapper = new QueryWrapper<>();
        MPJLambdaWrapper<Orders> queryWrapper = new MPJLambdaWrapper<>();
        queryWrapper.selectAll(Orders.class)
                .selectAs(SystemUser::getRealname,Orders::getUserRealname)
                .selectAs(SystemUser::getUsername,Orders::getUsername)
                .leftJoin(SystemUser.class,SystemUser::getId,Orders::getUserId);
        Utils.MP.blankToNull(pageWrap.getModel());
        queryWrapper.lambda().eq(pageWrap.getModel().getId() != null,Orders::getId, pageWrap.getModel().getId());
        queryWrapper.lambda().eq(pageWrap.getModel().getDeleted() != null,Orders::getDeleted, pageWrap.getModel().getDeleted());
        queryWrapper.lambda().eq(pageWrap.getModel().getCreateUser() != null,Orders::getCreateUser, pageWrap.getModel().getCreateUser());
        if (pageWrap.getModel().getCreateTime() != null) {
            queryWrapper.lambda().ge(Orders::getCreateTime, Utils.Date.getStart(pageWrap.getModel().getCreateTime()));
            queryWrapper.lambda().le(Orders::getCreateTime, Utils.Date.getEnd(pageWrap.getModel().getCreateTime()));
        }
        queryWrapper.lambda().eq(pageWrap.getModel().getUpdateUser() != null,Orders::getUpdateUser, pageWrap.getModel().getUpdateUser());
        if (pageWrap.getModel().getUpdateTime() != null) {
            queryWrapper.lambda().ge(Orders::getUpdateTime, Utils.Date.getStart(pageWrap.getModel().getUpdateTime()));
            queryWrapper.lambda().le(Orders::getUpdateTime, Utils.Date.getEnd(pageWrap.getModel().getUpdateTime()));
        }
        queryWrapper.lambda().eq(pageWrap.getModel().getRemark() != null,Orders::getRemark, pageWrap.getModel().getRemark());
        queryWrapper.lambda().eq(pageWrap.getModel().getStatus() != null,Orders::getStatus, pageWrap.getModel().getStatus());
        queryWrapper.lambda().eq(pageWrap.getModel().getName() != null,Orders::getName, pageWrap.getModel().getName());
        queryWrapper.lambda().eq(pageWrap.getModel().getUserId() != null,Orders::getUserId, pageWrap.getModel().getUserId());
        queryWrapper.lambda().eq(pageWrap.getModel().getDetail() != null,Orders::getDetail, pageWrap.getModel().getDetail());
        queryWrapper.lambda().eq(pageWrap.getModel().getImgurl() != null,Orders::getImgurl, pageWrap.getModel().getImgurl());
        queryWrapper.lambda().eq(pageWrap.getModel().getSortnum() != null,Orders::getSortnum, pageWrap.getModel().getSortnum());
        queryWrapper.lambda().eq(pageWrap.getModel().getType() != null,Orders::getType, pageWrap.getModel().getType());
        queryWrapper.lambda().eq(pageWrap.getModel().getBrandId() != null,Orders::getBrandId, pageWrap.getModel().getBrandId());
        queryWrapper.lambda().eq(pageWrap.getModel().getPhone() != null,Orders::getPhone, pageWrap.getModel().getPhone());
        queryWrapper.lambda().eq(pageWrap.getModel().getMoney() != null,Orders::getMoney, pageWrap.getModel().getMoney());
        queryWrapper.lambda().eq(pageWrap.getModel().getPayMethod() != null,Orders::getPayMethod, pageWrap.getModel().getPayMethod());
        queryWrapper.lambda().eq(pageWrap.getModel().getPayOrderId() != null,Orders::getPayOrderId, pageWrap.getModel().getPayOrderId());
        if (pageWrap.getModel().getUpdateTime() != null) {
            queryWrapper.lambda().ge(Orders::getPayDate, Utils.Date.getStart(pageWrap.getModel().getPayDate()));
            queryWrapper.lambda().le(Orders::getPayDate, Utils.Date.getEnd(pageWrap.getModel().getPayDate()));
        }
        if (pageWrap.getModel().getUpdateTime() != null) {
            queryWrapper.lambda().ge(Orders::getCancelDate, Utils.Date.getStart(pageWrap.getModel().getCancelDate()));
            queryWrapper.lambda().le(Orders::getCancelDate, Utils.Date.getEnd(pageWrap.getModel().getCancelDate()));
        }
        queryWrapper.lambda().eq(pageWrap.getModel().getCancelWay() != null,Orders::getCancelWay, pageWrap.getModel().getCancelWay());
        queryWrapper.lambda().eq(pageWrap.getModel().getCancelInfo() != null,Orders::getCancelInfo, pageWrap.getModel().getCancelInfo());
        queryWrapper.lambda().eq(pageWrap.getModel().getCancelUserId() != null,Orders::getCancelUserId, pageWrap.getModel().getCancelUserId());
        queryWrapper.lambda().eq(pageWrap.getModel().getCancelStatus() != null,Orders::getCancelStatus, pageWrap.getModel().getCancelStatus());
        queryWrapper.lambda().eq(pageWrap.getModel().getPayStatus() != null,Orders::getPayStatus, pageWrap.getModel().getPayStatus());
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                queryWrapper.orderByDesc(sortData.getProperty());
            } else {
                queryWrapper.orderByAsc(sortData.getProperty());
            }
        }
        return PageData.from(ordersMapper.selectPage(page, queryWrapper));
        pageWrap.getModel().setDeleted(Constants.ZERO);
        queryWrapper.eq(pageWrap.getModel().getId() != null,Orders::getId, pageWrap.getModel().getId());
        queryWrapper.eq(pageWrap.getModel().getDeleted() != null,Orders::getDeleted, pageWrap.getModel().getDeleted());
        queryWrapper.eq(pageWrap.getModel().getCreateUser() != null,Orders::getCreateUser, pageWrap.getModel().getCreateUser());
        queryWrapper.like(pageWrap.getModel().getRemark() != null,Orders::getRemark, pageWrap.getModel().getRemark());
        queryWrapper.eq(pageWrap.getModel().getStatus() != null,Orders::getStatus, pageWrap.getModel().getStatus());
        queryWrapper.like(pageWrap.getModel().getUsername() != null,SystemUser::getUsername, pageWrap.getModel().getUsername());
        queryWrapper.like(pageWrap.getModel().getUserRealname() != null,SystemUser::getRealname, pageWrap.getModel().getUserRealname());
        queryWrapper.like(pageWrap.getModel().getName() != null,Orders::getName, pageWrap.getModel().getName());
        queryWrapper.eq(pageWrap.getModel().getUserId() != null,Orders::getUserId, pageWrap.getModel().getUserId());
        queryWrapper.eq(pageWrap.getModel().getDetail() != null,Orders::getDetail, pageWrap.getModel().getDetail());
        queryWrapper.eq(pageWrap.getModel().getImgurl() != null,Orders::getImgurl, pageWrap.getModel().getImgurl());
        queryWrapper.eq(pageWrap.getModel().getSortnum() != null,Orders::getSortnum, pageWrap.getModel().getSortnum());
        queryWrapper.eq(pageWrap.getModel().getType() != null,Orders::getType, pageWrap.getModel().getType());
        queryWrapper.eq(pageWrap.getModel().getBrandId() != null,Orders::getBrandId, pageWrap.getModel().getBrandId());
        queryWrapper.eq(pageWrap.getModel().getPhone() != null,Orders::getPhone, pageWrap.getModel().getPhone());
        queryWrapper.eq(pageWrap.getModel().getMoney() != null,Orders::getMoney, pageWrap.getModel().getMoney());
        queryWrapper.eq(pageWrap.getModel().getPayMethod() != null,Orders::getPayMethod, pageWrap.getModel().getPayMethod());
        queryWrapper.eq(pageWrap.getModel().getPayOrderId() != null,Orders::getPayOrderId, pageWrap.getModel().getPayOrderId());
        queryWrapper.ge(pageWrap.getModel().getStarttime()!=null,Orders::getCreateTime , pageWrap.getModel().getStarttime());
        queryWrapper.ne(pageWrap.getModel().getEndtime()!=null,Orders::getCreateTime , pageWrap.getModel().getEndtime());
        queryWrapper.eq(pageWrap.getModel().getCancelWay() != null,Orders::getCancelWay, pageWrap.getModel().getCancelWay());
        queryWrapper.eq(pageWrap.getModel().getCancelInfo() != null,Orders::getCancelInfo, pageWrap.getModel().getCancelInfo());
        queryWrapper.eq(pageWrap.getModel().getCancelUserId() != null,Orders::getCancelUserId, pageWrap.getModel().getCancelUserId());
        queryWrapper.eq(pageWrap.getModel().getCancelStatus() != null,Orders::getCancelStatus, pageWrap.getModel().getCancelStatus());
        queryWrapper.eq(pageWrap.getModel().getPayStatus() != null,Orders::getPayStatus, pageWrap.getModel().getPayStatus());
        queryWrapper.orderByDesc(Orders::getId);
        return PageData.from(ordersMapper.selectJoinPage(page,Orders.class, queryWrapper));
    }
    @Override
    public long count(Orders orders) {
@@ -243,9 +233,27 @@
        return ordersMapper.selectCount(wrapper);
    }
    @Override
    public  void autoCancelNoPay() {
        int time = 30;
        try {
            time = Integer.parseInt(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.PAY_VALID_TIME).getCode());
        }catch (Exception e){
        }
        Date date = new Date();
        ordersMapper.update(null,new UpdateWrapper<Orders>().lambda()
                .set(Orders::getStatus,Constants.TWO)
                .set(Orders::getCancelInfo,"超时未支付,自动取消")
                .set(Orders::getCancelWay,Constants.ZERO)
                .set(Orders::getCancelDate,date)
                .set(Orders::getUpdateTime,date)
                .eq(Orders::getStatus,Constants.ZERO)
                .apply("TIMESTAMPDIFF(MINUTE, create_time ,now()) > "+time));
    }
    @Override
    public void returnPage(PayOrderParam param, HttpServletResponse response) throws IOException {
        String url =systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.PAY_RETURN_WEB_URL).getCode();
        response.sendRedirect(url+"?reqsn="+param.getReqsn());
//        String url =systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.PAY_RETURN_WEB_URL).getCode();
//        response.sendRedirect(url+"?reqsn="+param.getReqsn());
    }
    @Override
    public void  dealOrdreResult(String paramStr, HttpServletResponse response) throws IOException {
@@ -299,6 +307,7 @@
                model.setPayThirdOrderId(map.getChnltrxid());//支付宝微信订单号
                model.setPayThirdOrderData(map.getChnldata());//三方交易渠道数据
                model.setPayInfo(info);
                model.setPayCode(map.getTrxcode());
                ordersMapper.updateById(model);
            }else{
                log.error("支付验签失败======");