Commit a2bbc772 by kaevom

修改支付接口判断

parent 8ee20c97
...@@ -112,6 +112,13 @@ public class DbFileController extends BaseController { ...@@ -112,6 +112,13 @@ public class DbFileController extends BaseController {
@PathVariable Long[] ids) { @PathVariable Long[] ids) {
return toAjax(iDbFileService.deleteWithValidByIds(Arrays.asList(ids), true)); return toAjax(iDbFileService.deleteWithValidByIds(Arrays.asList(ids), true));
} }
/**
* 上传文件
* @param file
* @param req
* @return
*/
@SaCheckPermission("xinrenli:file:upload") @SaCheckPermission("xinrenli:file:upload")
@Log(title = "文件", businessType = BusinessType.DELETE) @Log(title = "文件", businessType = BusinessType.DELETE)
@PostMapping("/upload") @PostMapping("/upload")
......
...@@ -3,6 +3,8 @@ package com.yongqi.xinrenli.controller; ...@@ -3,6 +3,8 @@ package com.yongqi.xinrenli.controller;
import java.util.List; import java.util.List;
import java.util.Arrays; import java.util.Arrays;
import com.yongqi.common.core.domain.model.LoginUser;
import com.yongqi.common.helper.LoginHelper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
...@@ -45,6 +47,8 @@ public class DbInviterController extends BaseController { ...@@ -45,6 +47,8 @@ public class DbInviterController extends BaseController {
@SaCheckPermission("xinrenli:Inviter:list") @SaCheckPermission("xinrenli:Inviter:list")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo<DbInviterVo> list(DbInviterBo bo, PageQuery pageQuery) { public TableDataInfo<DbInviterVo> list(DbInviterBo bo, PageQuery pageQuery) {
LoginUser loginUser = LoginHelper.getLoginUser();
bo.setInviterId(loginUser.getUserId());
return iDbInviterService.queryPageList(bo, pageQuery); return iDbInviterService.queryPageList(bo, pageQuery);
} }
......
...@@ -177,12 +177,13 @@ public class DbOrderController extends BaseController { ...@@ -177,12 +177,13 @@ public class DbOrderController extends BaseController {
@SaCheckPermission("xinrenli:order:pay") @SaCheckPermission("xinrenli:order:pay")
@Log(title = "下单", businessType = BusinessType.OTHER) @Log(title = "下单", businessType = BusinessType.OTHER)
@GetMapping("/orderPay") @GetMapping("/orderPay")
public R orderPay(@NotNull(message = "主键不能为空") @RequestParam("id") Long orderId public R orderPay(@NotNull(message = "主键不能为空") @RequestParam("orderId") Long orderId
, @RequestParam(value = "id", required = false) Long couponId ,Long couponId
,Long discountId
, HttpServletRequest request) { , HttpServletRequest request) {
LoginUser loginUser = LoginHelper.getLoginUser(); LoginUser loginUser = LoginHelper.getLoginUser();
String ipAddr = AddressUtils.getIpAddr(request); String ipAddr = AddressUtils.getIpAddr(request);
return iDbOrderService.orderPay(orderId, couponId, loginUser, ipAddr); return iDbOrderService.orderPay(orderId, couponId,discountId, loginUser, ipAddr);
} }
/** /**
...@@ -236,10 +237,10 @@ public class DbOrderController extends BaseController { ...@@ -236,10 +237,10 @@ public class DbOrderController extends BaseController {
*/ */
@SaCheckPermission("xinrenli:order:exportReportForms") @SaCheckPermission("xinrenli:order:exportReportForms")
@Log(title = "订单", businessType = BusinessType.EXPORT) @Log(title = "订单", businessType = BusinessType.EXPORT)
@PostMapping("/exportReportForms") @GetMapping("/exportReportForms")
public R<Void> exportReportForms(HttpServletResponse response) { public R<Void> exportReportForms(HttpServletResponse response) {
try { try {
ReportFormsVo vo = iDbOrderService.reportForms(); ReportFormsVo vo = iDbOrderService.reportFormsExl();
List<ReportFormsVo> list = new ArrayList<>(); List<ReportFormsVo> list = new ArrayList<>();
list.add(vo); list.add(vo);
ExcelUtil.exportExcel(list, "订单", ReportFormsVo.class, response); ExcelUtil.exportExcel(list, "订单", ReportFormsVo.class, response);
......
...@@ -82,7 +82,7 @@ public class DbUserCommentController extends BaseController { ...@@ -82,7 +82,7 @@ public class DbUserCommentController extends BaseController {
public R<Void> add(@Validated(AddGroup.class) @RequestBody DbUserCommentBo bo) { public R<Void> add(@Validated(AddGroup.class) @RequestBody DbUserCommentBo bo) {
LoginUser loginUser = getLoginUser(); LoginUser loginUser = getLoginUser();
bo.setUserId(loginUser.getUserId()); bo.setUserId(loginUser.getUserId());
return toAjax(iDbUserCommentService.insertByBo(bo)); return toAjax(iDbUserCommentService.insertByBo(bo,loginUser));
} }
/** /**
......
...@@ -3,6 +3,8 @@ package com.yongqi.xinrenli.controller; ...@@ -3,6 +3,8 @@ package com.yongqi.xinrenli.controller;
import java.util.List; import java.util.List;
import java.util.Arrays; import java.util.Arrays;
import com.yongqi.common.core.domain.model.LoginUser;
import com.yongqi.common.helper.LoginHelper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
...@@ -45,6 +47,8 @@ public class DbUserDiscountController extends BaseController { ...@@ -45,6 +47,8 @@ public class DbUserDiscountController extends BaseController {
@SaCheckPermission("xinrenli:userDiscount:list") @SaCheckPermission("xinrenli:userDiscount:list")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo<DbUserDiscountVo> list(DbUserDiscountBo bo, PageQuery pageQuery) { public TableDataInfo<DbUserDiscountVo> list(DbUserDiscountBo bo, PageQuery pageQuery) {
LoginUser loginUser = LoginHelper.getLoginUser();
bo.setUserId(loginUser.getUserId());
return iDbUserDiscountService.queryPageList(bo, pageQuery); return iDbUserDiscountService.queryPageList(bo, pageQuery);
} }
......
...@@ -81,6 +81,10 @@ public class DbOrder { ...@@ -81,6 +81,10 @@ public class DbOrder {
*/ */
private Long useCouponId; private Long useCouponId;
/** /**
* 使用折扣id
*/
private Long useDiscountId;
/**
* 备注说明 * 备注说明
*/ */
private String remark; private String remark;
......
...@@ -37,7 +37,7 @@ public class DbUserCommentBo extends BaseEntity { ...@@ -37,7 +37,7 @@ public class DbUserCommentBo extends BaseEntity {
/** /**
* 用户id * 用户id
*/ */
@NotNull(message = "用户id不能为空", groups = {AddGroup.class, EditGroup.class}) @NotNull(message = "用户id不能为空", groups = { EditGroup.class})
private Long userId; private Long userId;
/** /**
......
...@@ -71,6 +71,9 @@ public class DbUserCommentVo { ...@@ -71,6 +71,9 @@ public class DbUserCommentVo {
*/ */
@ExcelProperty(value = "删除状态") @ExcelProperty(value = "删除状态")
private Integer deleteStatus; private Integer deleteStatus;
/**
* 用户名称
*/
private String userName;
} }
...@@ -45,5 +45,16 @@ public class ReportFormsVo { ...@@ -45,5 +45,16 @@ public class ReportFormsVo {
*/ */
@ExcelProperty(value = "已完成/未完成订单对比") @ExcelProperty(value = "已完成/未完成订单对比")
private String contrastOrder; private String contrastOrder;
/**
* 金额
*/
private Integer Money;
/**
* 未完成
*/
private Integer NoAccomplish;
/**
* 已完成和未完成总量
*/
private Integer sum;
} }
...@@ -41,5 +41,12 @@ public class WxPayOrderResult { ...@@ -41,5 +41,12 @@ public class WxPayOrderResult {
@DateTimeFormat(pattern = "yyyy/MM/dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy/MM/dd HH:mm:ss")
@JsonFormat(pattern = "yyyy/MM/dd HH:mm:ss") @JsonFormat(pattern = "yyyy/MM/dd HH:mm:ss")
private Date createTime; private Date createTime;
/**
* 固定值
*/
private String packageValue;
/**
*
*/
private String paySign;
} }
package com.yongqi.xinrenli.mapper; package com.yongqi.xinrenli.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yongqi.xinrenli.domain.DbCoupon; import com.yongqi.xinrenli.domain.DbCoupon;
import com.yongqi.xinrenli.domain.DbOrder;
import com.yongqi.xinrenli.domain.bo.DbCouponBo; import com.yongqi.xinrenli.domain.bo.DbCouponBo;
import com.yongqi.xinrenli.domain.vo.DbCouponVo; import com.yongqi.xinrenli.domain.vo.DbCouponVo;
import com.yongqi.common.core.mapper.BaseMapperPlus; import com.yongqi.common.core.mapper.BaseMapperPlus;
import com.yongqi.xinrenli.domain.vo.DbOrderVo;
import org.apache.ibatis.annotations.Param;
/** /**
* 优惠卷Mapper接口 * 优惠卷Mapper接口
...@@ -12,5 +18,7 @@ import com.yongqi.common.core.mapper.BaseMapperPlus; ...@@ -12,5 +18,7 @@ import com.yongqi.common.core.mapper.BaseMapperPlus;
* @date 2023-03-09 * @date 2023-03-09
*/ */
public interface DbCouponMapper extends BaseMapperPlus<DbCouponMapper, DbCoupon, DbCouponVo> { public interface DbCouponMapper extends BaseMapperPlus<DbCouponMapper, DbCoupon, DbCouponVo> {
Page<DbCouponVo> selectVoPageList(@Param("page") Page<DbCouponVo> page, @Param(Constants.WRAPPER) Wrapper<DbCoupon> queryWrapper);
DbCouponVo selectVoByIds(Long id);
} }
...@@ -12,4 +12,5 @@ import com.yongqi.common.core.mapper.BaseMapperPlus; ...@@ -12,4 +12,5 @@ import com.yongqi.common.core.mapper.BaseMapperPlus;
*/ */
public interface DbInviterMapper extends BaseMapperPlus<DbInviterMapper, DbInviter, DbInviterVo> { public interface DbInviterMapper extends BaseMapperPlus<DbInviterMapper, DbInviter, DbInviterVo> {
Integer InvitedCount(Long inviterId);
} }
...@@ -32,6 +32,8 @@ public interface DbOrderMapper extends BaseMapperPlus<DbOrderMapper, DbOrder, Db ...@@ -32,6 +32,8 @@ public interface DbOrderMapper extends BaseMapperPlus<DbOrderMapper, DbOrder, Db
Integer createPay(DbOrderEditBo bo); Integer createPay(DbOrderEditBo bo);
ReportFormsVo reportFormsExl();
ReportFormsVo reportForms(); ReportFormsVo reportForms();
Integer unpaidJob(); Integer unpaidJob();
......
package com.yongqi.xinrenli.mapper; package com.yongqi.xinrenli.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yongqi.xinrenli.domain.DbOrder;
import com.yongqi.xinrenli.domain.DbUserComment; import com.yongqi.xinrenli.domain.DbUserComment;
import com.yongqi.xinrenli.domain.vo.DbOrderVo;
import com.yongqi.xinrenli.domain.vo.DbUserCommentVo; import com.yongqi.xinrenli.domain.vo.DbUserCommentVo;
import com.yongqi.common.core.mapper.BaseMapperPlus; import com.yongqi.common.core.mapper.BaseMapperPlus;
import org.apache.ibatis.annotations.Param;
/** /**
* 用户评论Mapper接口 * 用户评论Mapper接口
...@@ -12,4 +19,7 @@ import com.yongqi.common.core.mapper.BaseMapperPlus; ...@@ -12,4 +19,7 @@ import com.yongqi.common.core.mapper.BaseMapperPlus;
*/ */
public interface DbUserCommentMapper extends BaseMapperPlus<DbUserCommentMapper, DbUserComment, DbUserCommentVo> { public interface DbUserCommentMapper extends BaseMapperPlus<DbUserCommentMapper, DbUserComment, DbUserCommentVo> {
Page<DbUserCommentVo> selectUserPage(Page<DbUserCommentVo> page, @Param(Constants.WRAPPER) LambdaQueryWrapper<DbUserComment> queryWrapper);
} }
...@@ -69,10 +69,16 @@ public interface IDbOrderService { ...@@ -69,10 +69,16 @@ public interface IDbOrderService {
*/ */
TableDataInfo<DbOrderVo> homeList(DbOrderBo bo, PageQuery pageQuery); TableDataInfo<DbOrderVo> homeList(DbOrderBo bo, PageQuery pageQuery);
R orderPay(Long id, Long couponId, LoginUser loginUser, String ipAddr); R orderPay(Long id, Long couponId, Long discountId,LoginUser loginUser, String ipAddr);
ReportFormsVo reportForms(); ReportFormsVo reportForms();
/**
* 报表
* @return
*/
ReportFormsVo reportFormsExl();
Boolean createPay(DbOrderEditBo bo); Boolean createPay(DbOrderEditBo bo);
/** /**
......
package com.yongqi.xinrenli.service; package com.yongqi.xinrenli.service;
import com.yongqi.common.core.domain.model.LoginUser;
import com.yongqi.xinrenli.domain.vo.DbUserCommentVo; import com.yongqi.xinrenli.domain.vo.DbUserCommentVo;
import com.yongqi.xinrenli.domain.bo.DbUserCommentBo; import com.yongqi.xinrenli.domain.bo.DbUserCommentBo;
import com.yongqi.common.core.page.TableDataInfo; import com.yongqi.common.core.page.TableDataInfo;
...@@ -34,7 +35,7 @@ public interface IDbUserCommentService { ...@@ -34,7 +35,7 @@ public interface IDbUserCommentService {
/** /**
* 新增用户评论 * 新增用户评论
*/ */
Boolean insertByBo(DbUserCommentBo bo); Boolean insertByBo(DbUserCommentBo bo, LoginUser loginUser);
/** /**
* 修改用户评论 * 修改用户评论
......
...@@ -38,7 +38,7 @@ public class DbCouponServiceImpl implements IDbCouponService { ...@@ -38,7 +38,7 @@ public class DbCouponServiceImpl implements IDbCouponService {
*/ */
@Override @Override
public DbCouponVo queryById(Long id) { public DbCouponVo queryById(Long id) {
return baseMapper.selectVoById(id); return baseMapper.selectVoByIds(id);
} }
/** /**
...@@ -47,7 +47,7 @@ public class DbCouponServiceImpl implements IDbCouponService { ...@@ -47,7 +47,7 @@ public class DbCouponServiceImpl implements IDbCouponService {
@Override @Override
public TableDataInfo<DbCouponVo> queryPageList(DbCouponBo bo, PageQuery pageQuery) { public TableDataInfo<DbCouponVo> queryPageList(DbCouponBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<DbCoupon> lqw = buildQueryWrapper(bo); LambdaQueryWrapper<DbCoupon> lqw = buildQueryWrapper(bo);
Page<DbCouponVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); Page<DbCouponVo> result = baseMapper.selectVoPageList(pageQuery.build(), lqw);
return TableDataInfo.build(result); return TableDataInfo.build(result);
} }
......
...@@ -7,6 +7,12 @@ import com.yongqi.common.core.domain.PageQuery; ...@@ -7,6 +7,12 @@ import com.yongqi.common.core.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.yongqi.xinrenli.domain.DbFile;
import com.yongqi.xinrenli.domain.DbUserDiscount;
import com.yongqi.xinrenli.domain.vo.DbFileVo;
import com.yongqi.xinrenli.enums.DeleteStatusEnum;
import com.yongqi.xinrenli.enums.FileEnumServiceType;
import com.yongqi.xinrenli.mapper.DbUserDiscountMapper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.yongqi.xinrenli.domain.bo.DbInviterBo; import com.yongqi.xinrenli.domain.bo.DbInviterBo;
...@@ -15,6 +21,7 @@ import com.yongqi.xinrenli.domain.DbInviter; ...@@ -15,6 +21,7 @@ import com.yongqi.xinrenli.domain.DbInviter;
import com.yongqi.xinrenli.mapper.DbInviterMapper; import com.yongqi.xinrenli.mapper.DbInviterMapper;
import com.yongqi.xinrenli.service.IDbInviterService; import com.yongqi.xinrenli.service.IDbInviterService;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Collection; import java.util.Collection;
...@@ -30,7 +37,7 @@ import java.util.Collection; ...@@ -30,7 +37,7 @@ import java.util.Collection;
public class DbInviterServiceImpl implements IDbInviterService { public class DbInviterServiceImpl implements IDbInviterService {
private final DbInviterMapper baseMapper; private final DbInviterMapper baseMapper;
private final DbUserDiscountMapper DbUserDiscountMapper;
/** /**
* 查询邀请 * 查询邀请
*/ */
...@@ -79,6 +86,23 @@ public class DbInviterServiceImpl implements IDbInviterService { ...@@ -79,6 +86,23 @@ public class DbInviterServiceImpl implements IDbInviterService {
boolean flag = baseMapper.insert(add) > 0; boolean flag = baseMapper.insert(add) > 0;
if (flag) { if (flag) {
bo.setId(add.getId()); bo.setId(add.getId());
// List<DbInviterVo> count = baseMapper.selectVoList(Wrappers.<DbInviter>lambdaQuery()
// .eq(DbInviter::getInviterId, bo.getInviterId())
// .eq(DbInviter::getStatus, 1));
// if(count.size()==3){
// DbUserDiscount dis = new DbUserDiscount();
// dis.setUserId(bo.getInviterId());
// dis.setDiscountRatio(BigDecimal.valueOf(0.9));
// dis.setUseStatus(0);
// Boolean f = DbUserDiscountMapper.insert(dis) > 0;
// if(f){
// for(DbInviterVo d : count){
// DbInviter inviter = BeanUtil.toBean(d, DbInviter.class);
// inviter.setStatus(0);
// baseMapper.updateById(inviter);
// }
// }
// }
} }
return flag; return flag;
} }
......
...@@ -21,28 +21,19 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -21,28 +21,19 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.yongqi.common.utils.redis.CodeUtils; import com.yongqi.common.utils.redis.CodeUtils;
import com.yongqi.xinrenli.domain.DbCoupon; import com.yongqi.xinrenli.domain.*;
import com.yongqi.xinrenli.domain.DbFile;
import com.yongqi.xinrenli.domain.DbUserCoupon;
import com.yongqi.xinrenli.domain.bo.DbOrderEditBo; import com.yongqi.xinrenli.domain.bo.DbOrderEditBo;
import com.yongqi.xinrenli.domain.vo.DbFileVo; import com.yongqi.xinrenli.domain.vo.*;
import com.yongqi.xinrenli.domain.vo.ReportFormsVo;
import com.yongqi.xinrenli.domain.vo.WxPayOrderResult;
import com.yongqi.xinrenli.enums.DeleteStatusEnum; import com.yongqi.xinrenli.enums.DeleteStatusEnum;
import com.yongqi.xinrenli.enums.FileEnumServiceType; import com.yongqi.xinrenli.enums.FileEnumServiceType;
import com.yongqi.xinrenli.enums.OrderStatusEnum; import com.yongqi.xinrenli.enums.OrderStatusEnum;
import com.yongqi.xinrenli.mapper.DbCouponMapper; import com.yongqi.xinrenli.mapper.*;
import com.yongqi.xinrenli.mapper.DbFileMapper;
import com.yongqi.xinrenli.mapper.DbUserCouponMapper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.yongqi.xinrenli.domain.bo.DbOrderBo; import com.yongqi.xinrenli.domain.bo.DbOrderBo;
import com.yongqi.xinrenli.domain.vo.DbOrderVo;
import com.yongqi.xinrenli.domain.DbOrder;
import com.yongqi.xinrenli.mapper.DbOrderMapper;
import com.yongqi.xinrenli.service.IDbOrderService; import com.yongqi.xinrenli.service.IDbOrderService;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -69,11 +60,13 @@ public class DbOrderServiceImpl implements IDbOrderService { ...@@ -69,11 +60,13 @@ public class DbOrderServiceImpl implements IDbOrderService {
private WxPayService wxPayService; private WxPayService wxPayService;
@Autowired @Autowired
private DbUserCouponMapper userCouponMapper; private DbUserCouponMapper userCouponMapper;
@Autowired
private DbUserDiscountMapper discountMapper;
@Value("${wx.pay.notifyUrl}") @Value("${wx.pay.notifyUrl}")
private String payNotifyUrl; private String payNotifyUrl;
@Value("${wx.pay.refundNotifyUrl}") @Value("${wx.pay.refundNotifyUrl}")
private String refundNotifyUrl; private String refundNotifyUrl;
private final DbWxUserMapper wxUserMapper;
/** /**
* 查询订单 * 查询订单
*/ */
...@@ -374,31 +367,48 @@ public class DbOrderServiceImpl implements IDbOrderService { ...@@ -374,31 +367,48 @@ public class DbOrderServiceImpl implements IDbOrderService {
*/ */
@Override @Override
@Transactional @Transactional
public R orderPay(Long orderId, Long couponId, LoginUser loginUser, String ipAddr) { public R orderPay(Long orderId, Long couponId,Long discountId, LoginUser loginUser, String ipAddr) {
// 1.根据订单id获取订单信息 // 1.根据订单id获取订单信息
DbOrder dbOrder = this.baseMapper.selectById(orderId); DbOrder dbOrder = this.baseMapper.selectById(orderId);
// 2.根据卡券id获取卡券信息 // 2.根据卡券id获取卡券信息
DbCoupon dbCoupon = couponMapper.selectById(couponId); DbCoupon dbCoupon = couponMapper.selectById(couponId);
// 3.计算应支付金额 //3.根据打折id获取打折信息
if (dbCoupon.getMinUsed().compareTo(dbOrder.getActualAmount()) > 0) { DbUserDiscount discount = discountMapper.selectById(discountId);
throw new RuntimeException("未达到此优惠券的最低消费金额"); // 4.计算应支付金额
} if(ObjectUtils.isNotEmpty(dbCoupon)){
// 查询用户优惠券关联信息 if (dbCoupon.getMinUsed().compareTo(dbOrder.getActualAmount()) > 0) {
DbUserCoupon userCoupon = userCouponMapper.selectOne(Wrappers.<DbUserCoupon>lambdaQuery() throw new RuntimeException("未达到此优惠券的最低消费金额");
.eq(DbUserCoupon::getCouponId, couponId) }
.eq(DbUserCoupon::getUserId, loginUser.getUserId())); // 查询用户优惠券关联信息
// 判断用户是否有此优惠券 DbUserCoupon userCoupon = userCouponMapper.selectOne(Wrappers.<DbUserCoupon>lambdaQuery()
if (ObjectUtils.isEmpty(userCoupon)) { .eq(DbUserCoupon::getCouponId, couponId)
log.error("该用户没有此优惠券:userId:{},couponId:{}", loginUser.getUserId(), couponId); .eq(DbUserCoupon::getUserId, loginUser.getUserId()));
return R.fail("没有此优惠券"); // 判断用户是否有此优惠券
if (ObjectUtils.isEmpty(userCoupon)) {
log.error("该用户没有此优惠券:userId:{},couponId:{}", loginUser.getUserId(), couponId);
return R.fail("没有此优惠券");
}
if (Objects.equals(userCoupon.getUseStatus(), DeleteStatusEnum.DELETED.getCode())) {
log.error("此优惠券已经使用过了:userId:{},couponId:{}", loginUser.getUserId(), couponId);
return R.fail("此优惠券已经使用过了");
}
dbOrder.setActualAmount(dbOrder.getActualAmount().subtract(dbCoupon.getFullSubtraction()));
} }
if (Objects.equals(userCoupon.getUseStatus(), DeleteStatusEnum.DELETED.getCode())) { if(ObjectUtils.isNotEmpty(discount)){
log.error("此优惠券已经使用过了:userId:{},couponId:{}", loginUser.getUserId(), couponId); if(!discount.getUserId().equals(loginUser.getUserId())){
return R.fail("此优惠券已经使用过了"); log.error("该用户没有此折扣:userId:{},couponId:{}", loginUser.getUserId(), discountId);
return R.fail("没有此折扣");
}
if (Objects.equals(discount.getUseStatus(), DeleteStatusEnum.DELETED.getCode())) {
log.error("此折扣已经使用过了:userId:{},couponId:{}", loginUser.getUserId(), discountId);
return R.fail("此折扣已经使用过了");
}
dbOrder.setActualAmount(dbOrder.getActualAmount().multiply(discount.getDiscountRatio()));
} }
BigDecimal payAmount = dbOrder.getActualAmount().subtract(dbCoupon.getFullSubtraction());
dbOrder.setPayAmount(payAmount); dbOrder.setPayAmount(dbOrder.getActualAmount());
dbOrder.setUseCouponId(couponId); dbOrder.setUseCouponId(couponId);
dbOrder.setUseDiscountId(discountId);
String orderNo = CodeUtils.createSerialNumber("XQ"); String orderNo = CodeUtils.createSerialNumber("XQ");
dbOrder.setOrderNo(orderNo); dbOrder.setOrderNo(orderNo);
dbOrder.setPayTime(new Date()); dbOrder.setPayTime(new Date());
...@@ -414,7 +424,7 @@ public class DbOrderServiceImpl implements IDbOrderService { ...@@ -414,7 +424,7 @@ public class DbOrderServiceImpl implements IDbOrderService {
// 商户订单号 // 商户订单号
request.setOutTradeNo(orderNo); request.setOutTradeNo(orderNo);
BigDecimal actualPrice = payAmount.multiply(BigDecimal.valueOf(100)); BigDecimal actualPrice = dbOrder.getActualAmount().multiply(BigDecimal.valueOf(100));
// 标价金额 // 标价金额
request.setTotalFee((actualPrice.intValue())); request.setTotalFee((actualPrice.intValue()));
// 客户端IP // 客户端IP
...@@ -424,7 +434,8 @@ public class DbOrderServiceImpl implements IDbOrderService { ...@@ -424,7 +434,8 @@ public class DbOrderServiceImpl implements IDbOrderService {
// 签名类型,默认为MD5,支持HMAC-SHA256和MD5。 // 签名类型,默认为MD5,支持HMAC-SHA256和MD5。
request.setSignType(WxPayConstants.SignType.MD5); request.setSignType(WxPayConstants.SignType.MD5);
// 用户标识 // 用户标识
request.setOpenid(loginUser.getOpenId()); DbWxUserVo wxUser = wxUserMapper.selectVoById(loginUser.getUserId());
request.setOpenid(wxUser.getOpenId());
request.setNotifyUrl(payNotifyUrl); request.setNotifyUrl(payNotifyUrl);
// 5.调用微信统一下单接口 // 5.调用微信统一下单接口
try { try {
...@@ -462,19 +473,37 @@ public class DbOrderServiceImpl implements IDbOrderService { ...@@ -462,19 +473,37 @@ public class DbOrderServiceImpl implements IDbOrderService {
dbOrder.setWxOrderNo(notifyResult.getTransactionId()); dbOrder.setWxOrderNo(notifyResult.getTransactionId());
baseMapper.updateById(dbOrder); baseMapper.updateById(dbOrder);
// 2.修改用户优惠券使用状态 // 2.修改用户优惠券使用状态
DbUserCoupon userCoupon = userCouponMapper.selectOne(Wrappers.<DbUserCoupon>lambdaQuery() if(ObjectUtils.isNotEmpty(dbOrder.getUseCouponId())){
.eq(DbUserCoupon::getCouponId, dbOrder.getUseCouponId()) DbUserCoupon userCoupon = userCouponMapper.selectOne(Wrappers.<DbUserCoupon>lambdaQuery()
.eq(DbUserCoupon::getUserId, dbOrder.getUserId())); .eq(DbUserCoupon::getCouponId, dbOrder.getUseCouponId())
if (ObjectUtils.isEmpty(userCoupon)) { .eq(DbUserCoupon::getUserId, dbOrder.getUserId()));
log.error("该用户没有此优惠券:userId:{},couponId:{}", dbOrder.getUserId(), dbOrder.getUseCouponId()); if (ObjectUtils.isEmpty(userCoupon)) {
return WxPayNotifyResponse.fail("失败"); log.error("该用户没有此优惠券:userId:{},couponId:{}", dbOrder.getUserId(), dbOrder.getUseCouponId());
return WxPayNotifyResponse.fail("失败");
}
if (Objects.equals(userCoupon.getUseStatus(), DeleteStatusEnum.DELETED.getCode())) {
log.error("此优惠券已经使用过了:userId:{},couponId:{}", dbOrder.getUserId(), dbOrder.getUseCouponId());
return WxPayNotifyResponse.fail("失败");
}
userCoupon.setUseStatus(DeleteStatusEnum.DELETED.getCode());
userCouponMapper.updateById(userCoupon);
} }
if (Objects.equals(userCoupon.getUseStatus(), DeleteStatusEnum.DELETED.getCode())) { // 1.根据卡券id获取卡券信息
log.error("此优惠券已经使用过了:userId:{},couponId:{}", dbOrder.getUserId(), dbOrder.getUseCouponId()); if(ObjectUtils.isNotEmpty(dbOrder.getUseDiscountId())){
return WxPayNotifyResponse.fail("失败"); DbUserDiscount discount = discountMapper.selectById(dbOrder.getUseDiscountId());
if(!discount.getUserId().equals(dbOrder.getUserId())){
log.error("该用户没有此折扣:userId:{},couponId:{}", dbOrder.getUserId(), dbOrder.getUseDiscountId());
return WxPayNotifyResponse.fail("没有此折扣");
}
if (Objects.equals(discount.getUseStatus(), DeleteStatusEnum.DELETED.getCode())) {
log.error("此折扣已经使用过了:userId:{},couponId:{}", dbOrder.getUserId(), dbOrder.getUseDiscountId());
return WxPayNotifyResponse.fail("此折扣已经使用过了");
}
discount.setUseStatus(DeleteStatusEnum.DELETED.getCode());
discountMapper.updateById(discount);
} }
userCoupon.setUseStatus(DeleteStatusEnum.DELETED.getCode());
userCouponMapper.updateById(userCoupon);
return WxPayNotifyResponse.success("成功"); return WxPayNotifyResponse.success("成功");
} }
...@@ -554,6 +583,10 @@ public class DbOrderServiceImpl implements IDbOrderService { ...@@ -554,6 +583,10 @@ public class DbOrderServiceImpl implements IDbOrderService {
public ReportFormsVo reportForms() { public ReportFormsVo reportForms() {
return baseMapper.reportForms(); return baseMapper.reportForms();
} }
@Override
public ReportFormsVo reportFormsExl() {
return baseMapper.reportFormsExl();
}
@Override @Override
public Boolean createPay(DbOrderEditBo bo) { public Boolean createPay(DbOrderEditBo bo) {
......
package com.yongqi.xinrenli.service.impl; package com.yongqi.xinrenli.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.yongqi.common.core.domain.model.LoginUser;
import com.yongqi.common.utils.StringUtils; import com.yongqi.common.utils.StringUtils;
import com.yongqi.common.core.page.TableDataInfo; import com.yongqi.common.core.page.TableDataInfo;
import com.yongqi.common.core.domain.PageQuery; import com.yongqi.common.core.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.yongqi.xinrenli.domain.DbWxUser;
import com.yongqi.xinrenli.domain.vo.DbWxUserVo;
import com.yongqi.xinrenli.mapper.DbWxUserMapper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.yongqi.xinrenli.domain.bo.DbUserCommentBo; import com.yongqi.xinrenli.domain.bo.DbUserCommentBo;
...@@ -30,7 +35,7 @@ import java.util.Collection; ...@@ -30,7 +35,7 @@ import java.util.Collection;
public class DbUserCommentServiceImpl implements IDbUserCommentService { public class DbUserCommentServiceImpl implements IDbUserCommentService {
private final DbUserCommentMapper baseMapper; private final DbUserCommentMapper baseMapper;
private final DbWxUserMapper wxUserMapper;
/** /**
* 查询用户评论 * 查询用户评论
*/ */
...@@ -45,7 +50,7 @@ public class DbUserCommentServiceImpl implements IDbUserCommentService { ...@@ -45,7 +50,7 @@ public class DbUserCommentServiceImpl implements IDbUserCommentService {
@Override @Override
public TableDataInfo<DbUserCommentVo> queryPageList(DbUserCommentBo bo, PageQuery pageQuery) { public TableDataInfo<DbUserCommentVo> queryPageList(DbUserCommentBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<DbUserComment> lqw = buildQueryWrapper(bo); LambdaQueryWrapper<DbUserComment> lqw = buildQueryWrapper(bo);
Page<DbUserCommentVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); Page<DbUserCommentVo> result = baseMapper.selectUserPage(pageQuery.build(), lqw);
return TableDataInfo.build(result); return TableDataInfo.build(result);
} }
...@@ -75,8 +80,13 @@ public class DbUserCommentServiceImpl implements IDbUserCommentService { ...@@ -75,8 +80,13 @@ public class DbUserCommentServiceImpl implements IDbUserCommentService {
* 新增用户评论 * 新增用户评论
*/ */
@Override @Override
public Boolean insertByBo(DbUserCommentBo bo) { public Boolean insertByBo(DbUserCommentBo bo, LoginUser loginUser) {
DbUserComment add = BeanUtil.toBean(bo, DbUserComment.class); DbUserComment add = BeanUtil.toBean(bo, DbUserComment.class);
DbWxUserVo user = wxUserMapper.selectVoById(bo.getUserId());
if(ObjectUtils.isNotEmpty(user)){
add.setUserHead(user.getHeadImgUrl());
add.setUserId(bo.getUserId());
}
validEntityBeforeSave(add); validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0; boolean flag = baseMapper.insert(add) > 0;
if (flag) { if (flag) {
......
...@@ -17,5 +17,22 @@ ...@@ -17,5 +17,22 @@
<result property="modifyTime" column="modify_time"/> <result property="modifyTime" column="modify_time"/>
<result property="deleteStatus" column="delete_status"/> <result property="deleteStatus" column="delete_status"/>
</resultMap> </resultMap>
<resultMap type="com.yongqi.xinrenli.domain.vo.DbCouponVo" id="DbCouponVoResult">
<result property="id" column="id"/>
<result property="couponType" column="coupon_type"/>
<result property="fullSubtraction" column="full_subtraction"/>
<result property="minUsed" column="min_used"/>
<result property="effectiveTime" column="effective_time"/>
<result property="failureTime" column="failure_time"/>
<result property="createUser" column="create_user"/>
<result property="modifyUser" column="modify_user"/>
<result property="modifyTime" column="modify_time"/>
<result property="deleteStatus" column="delete_status"/>
</resultMap>
<select id="selectVoPageList" resultMap="DbCouponVoResult">
select * from db_coupon ${ew.getCustomSqlSegment}
</select>
<select id="selectVoByIds" resultMap="DbCouponVoResult" parameterType="java.lang.Long">
select * from db_coupon where id=#{id}
</select>
</mapper> </mapper>
...@@ -81,7 +81,7 @@ ...@@ -81,7 +81,7 @@
modify_time=now() modify_time=now()
where id = #{id} where id = #{id}
</update> </update>
<select id="reportForms" resultType="com.yongqi.xinrenli.domain.vo.ReportFormsVo"> <select id="reportFormsExl" resultType="com.yongqi.xinrenli.domain.vo.ReportFormsVo">
SELECT SELECT
( SELECT count(*) FROM db_order WHERE `status` = '4' ) AS accomplish, ( SELECT count(*) FROM db_order WHERE `status` = '4' ) AS accomplish,
( SELECT count(*) FROM db_order WHERE `status` = '2' ) AS reject, ( SELECT count(*) FROM db_order WHERE `status` = '2' ) AS reject,
...@@ -106,6 +106,17 @@ ...@@ -106,6 +106,17 @@
) t ) t
</select> </select>
<select id="reportForms" resultType="com.yongqi.xinrenli.domain.vo.ReportFormsVo">
SELECT
( SELECT count(*) FROM db_order WHERE `status` = '4' ) AS accomplish,
( SELECT count(*) FROM db_order WHERE `status` = '2' ) AS reject,
( SELECT count(*) FROM db_order WHERE `status` = '6' ) AS refund,
( SELECT TRUNCATE ( SUM( actual_amount )/ 10000, 2 ) FROM db_order WHERE `status` = '4' ) AS totalMoney,
(SELECT count(*) AS w FROM db_order WHERE `status` IN ( 2, 6 )) AS NoAccomplish ,
(( SELECT count(*) FROM db_order WHERE `status` = '4' )+(SELECT count(*) AS w FROM db_order WHERE `status` IN ( 2, 6 ))) as sum
FROM
DUAL
</select>
<update id="unpaidJob" > <update id="unpaidJob" >
update db_order set status='2',modify_time=NOW() where status=3 and modify_time&lt;=DATE_SUB(SYSDATE(),INTERVAL 1 hour) update db_order set status='2',modify_time=NOW() where status=3 and modify_time&lt;=DATE_SUB(SYSDATE(),INTERVAL 1 hour)
</update> </update>
......
...@@ -9,12 +9,23 @@ ...@@ -9,12 +9,23 @@
<result property="articleId" column="article_id"/> <result property="articleId" column="article_id"/>
<result property="userId" column="user_id"/> <result property="userId" column="user_id"/>
<result property="content" column="content"/> <result property="content" column="content"/>
<result property="createUser" column="create_user"/>
<result property="createTime" column="create_time"/>
<result property="modifyUser" column="modify_user"/> <result property="modifyUser" column="modify_user"/>
<result property="modifyTime" column="modify_time"/> <result property="modifyTime" column="modify_time"/>
<result property="deleteStatus" column="delete_status"/> <result property="deleteStatus" column="delete_status"/>
</resultMap> </resultMap>
<resultMap type="com.yongqi.xinrenli.domain.vo.DbUserCommentVo" id="DbUserCommentVoResult">
<result property="id" column="id"/>
<result property="articleId" column="article_id"/>
<result property="userId" column="user_id"/>
<result property="content" column="content"/>
<result property="modifyUser" column="modify_user"/>
<result property="modifyTime" column="modify_time"/>
<result property="deleteStatus" column="delete_status"/>
<result property="userName" column="userName"/>
</resultMap>
<select id="selectUserPage" resultMap="DbUserCommentVoResult">
select c.*,w.nickname as userName from db_user_comment c INNER JOIN db_wx_user w on c.user_id=w.id ${ew.getCustomSqlSegment}
</select>
</mapper> </mapper>
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
<result property="modifyTime" column="modify_time"/> <result property="modifyTime" column="modify_time"/>
</resultMap> </resultMap>
<resultMap type="com.yongqi.xinrenli.domain.vo.DbCouponVo" id="DbCouponResult"> <resultMap type="com.yongqi.xinrenli.domain.vo.DbCouponVo" id="DbCouponResult">
<result property="id" column="id"/>
<result property="couponType" column="coupon_type"/> <result property="couponType" column="coupon_type"/>
<result property="fullSubtraction" column="full_subtraction"/> <result property="fullSubtraction" column="full_subtraction"/>
<result property="minUsed" column="min_used"/> <result property="minUsed" column="min_used"/>
...@@ -23,6 +24,7 @@ ...@@ -23,6 +24,7 @@
</resultMap> </resultMap>
<select id="selectListPage" resultMap="DbCouponResult"> <select id="selectListPage" resultMap="DbCouponResult">
SELECT SELECT
c.id,
c.coupon_type, c.coupon_type,
c.full_subtraction, c.full_subtraction,
min_used, min_used,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment