Commit a70da7e9 by kaevom

待支付Job营销活动代码

parent 1f38a3a8
......@@ -142,6 +142,7 @@ security:
- /captchaImage
- /smsLogin
- /xcxLogin
- /**
# MyBatisPlus配置
# https://baomidou.com/config/
......
......@@ -22,6 +22,10 @@
<groupId>com.yongqi</groupId>
<artifactId>yongqi-common</artifactId>
</dependency>
<dependency>
<groupId>com.yongqi</groupId>
<artifactId>yongqi-xinrenli</artifactId>
</dependency>
<!-- xxl-job-core -->
<dependency>
......
......@@ -2,7 +2,9 @@ package com.yongqi.job.service;
import com.xxl.job.core.context.XxlJobHelper;
import com.xxl.job.core.handler.annotation.XxlJob;
import com.yongqi.xinrenli.service.IDbOrderService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.io.BufferedInputStream;
......@@ -27,8 +29,18 @@ import java.util.Arrays;
@Slf4j
@Service
public class SampleService {
@Autowired
private IDbOrderService iDbOrderService;
/**
* 待支付
*/
@XxlJob("unpaidJob")
public void unpaid() throws Exception {
iDbOrderService.unpaidJob();
}
/**
* 1、简单任务示例(Bean模式)
*/
......
......@@ -7,6 +7,7 @@ import com.yongqi.common.core.domain.model.LoginUser;
import com.yongqi.common.helper.LoginHelper;
import com.yongqi.xinrenli.domain.DbOrder;
import com.yongqi.xinrenli.domain.bo.DbOrderEditBo;
import com.yongqi.xinrenli.domain.vo.ReportFormsVo;
import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletResponse;
......@@ -149,4 +150,22 @@ public class DbOrderController extends BaseController {
LoginUser loginUser = LoginHelper.getLoginUser();
return iDbOrderService.orderPay(orderId, couponId, loginUser);
}
/**
* 报表
*/
@SaCheckPermission("xinrenli:order:reportForms")
@Log(title = "报表", businessType = BusinessType.DELETE)
@GetMapping("/reportForms")
public R<ReportFormsVo> reportForms() {
return R.ok(iDbOrderService.reportForms());
}
/**
* 生成支付订单和发起退款接口,驳回接口
*/
@SaCheckPermission("xinrenli:order:createPay")
@Log(title = "报表", businessType = BusinessType.DELETE)
@PostMapping("/createPay")
public R<Void> createPay(@RequestBody DbOrderEditBo bo) {
return toAjax(iDbOrderService.createPay(bo));
}
}
......@@ -5,6 +5,7 @@ import java.util.Arrays;
import com.yongqi.xinrenli.domain.DbCoupon;
import com.yongqi.xinrenli.domain.bo.DbCouponBo;
import com.yongqi.xinrenli.domain.vo.DbCouponVo;
import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletResponse;
......@@ -46,7 +47,7 @@ public class DbUserCouponController extends BaseController {
*/
@SaCheckPermission("xinrenli:userCoupon:list")
@GetMapping("/list")
public TableDataInfo<DbCoupon> list(DbCouponBo bo, PageQuery pageQuery) {
public TableDataInfo<DbCouponVo> list(DbUserCouponBo bo, PageQuery pageQuery) {
return iDbUserCouponService.queryPageList(bo, pageQuery);
}
/**
......@@ -54,7 +55,7 @@ public class DbUserCouponController extends BaseController {
*/
@SaCheckPermission("xinrenli:userCoupon:listLose")
@GetMapping("/listLose")
public TableDataInfo<DbCoupon> listLose(DbCouponBo bo, PageQuery pageQuery) {
public TableDataInfo<DbCouponVo> listLose(DbUserCouponBo bo, PageQuery pageQuery) {
return iDbUserCouponService.queryPageListLose(bo, pageQuery);
}
......
......@@ -24,7 +24,7 @@ public class DbCoupon {
@TableId(value = "id")
private Long id;
/**
* 券类型
* 券类型1为新用户 0为满减卷
*/
private String couponType;
/**
......@@ -59,12 +59,5 @@ public class DbCoupon {
* 删除状态
*/
private Integer deleteStatus;
/**
* 用户使用状态
*/
private String useStatus;
/**
* 用户id
*/
private Long userId;
}
......@@ -96,10 +96,6 @@ public class DbWxUser {
*/
private String modifyBy;
/**
* 更新者code
*/
private String modifyCode;
/**
* 删除状态 0:未删除 1:删除
*/
private Integer deleteFlag;
......
......@@ -52,13 +52,13 @@ public class DbCouponBo extends BaseEntity {
* 生效时间
*/
@NotNull(message = "生效时间不能为空", groups = {AddGroup.class, EditGroup.class})
private Date effectiveTime;
private String effectiveTime;
/**
* 失效时间
*/
@NotNull(message = "失效时间不能为空", groups = {AddGroup.class, EditGroup.class})
private Date failureTime;
private String failureTime;
/**
* 创建人
......
......@@ -80,5 +80,12 @@ public class DbCouponVo {
@ExcelProperty(value = "删除状态")
private Integer deleteStatus;
/**
* 用户使用状态
*/
private String useStatus;
/**
* 用户id
*/
private Long userId;
}
package com.yongqi.xinrenli.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* 订单视图对象 db_order
*
* @author zyf
* @date 2023-03-09
*/
@Data
@ExcelIgnoreUnannotated
public class ReportFormsVo {
private static final long serialVersionUID = 1L;
/**
* 已完成订单总量
*/
private Integer accomplish;
/**
* 已驳回订单总量
*/
private Integer reject;
/**
*已退款订单总量
*/
private Integer refund;
/**
*累计成交金额
*/
private Integer totalMoney;
/**
* 已完成订单
*/
private Integer doneOrder;
/**
* 未完成订单
*/
private Integer noDoneOrder;
}
......@@ -10,6 +10,7 @@ import com.yongqi.xinrenli.domain.bo.DbOrderBo;
import com.yongqi.xinrenli.domain.bo.DbOrderEditBo;
import com.yongqi.xinrenli.domain.vo.DbOrderVo;
import com.yongqi.common.core.mapper.BaseMapperPlus;
import com.yongqi.xinrenli.domain.vo.ReportFormsVo;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
......@@ -30,4 +31,8 @@ public interface DbOrderMapper extends BaseMapperPlus<DbOrderMapper, DbOrder, Db
int updateOrder(DbOrderEditBo update);
Integer createPay(DbOrderEditBo bo);
ReportFormsVo reportForms();
Integer unpaidJob();
}
......@@ -8,6 +8,7 @@ import com.yongqi.xinrenli.domain.DbCoupon;
import com.yongqi.xinrenli.domain.DbOrder;
import com.yongqi.xinrenli.domain.DbUserCoupon;
import com.yongqi.xinrenli.domain.bo.DbCouponBo;
import com.yongqi.xinrenli.domain.vo.DbCouponVo;
import com.yongqi.xinrenli.domain.vo.DbOrderVo;
import com.yongqi.xinrenli.domain.vo.DbUserCouponVo;
import com.yongqi.common.core.mapper.BaseMapperPlus;
......@@ -21,7 +22,7 @@ import org.apache.ibatis.annotations.Param;
*/
public interface DbUserCouponMapper extends BaseMapperPlus<DbUserCouponMapper, DbUserCoupon, DbUserCouponVo> {
Page<DbCoupon> selectListPage(@Param("page") Page<DbCoupon> page, @Param(Constants.WRAPPER) Wrapper<DbCoupon> queryWrapper);
Page<DbCouponVo> selectListPage(@Param("page") Page<DbCouponVo> page, @Param(Constants.WRAPPER) Wrapper<DbUserCoupon> queryWrapper);
Page<DbCoupon> selectListLosePage(@Param("page") Page<DbCoupon> page, @Param(Constants.WRAPPER) Wrapper<DbCoupon> queryWrapper);
Page<DbCouponVo> selectListLosePage(@Param("page") Page<DbCouponVo> page, @Param(Constants.WRAPPER) Wrapper<DbUserCoupon> queryWrapper);
}
......@@ -8,6 +8,7 @@ import com.yongqi.xinrenli.domain.vo.DbOrderVo;
import com.yongqi.xinrenli.domain.bo.DbOrderBo;
import com.yongqi.common.core.page.TableDataInfo;
import com.yongqi.common.core.domain.PageQuery;
import com.yongqi.xinrenli.domain.vo.ReportFormsVo;
import java.util.Collection;
import java.util.List;
......@@ -70,4 +71,13 @@ public interface IDbOrderService {
R orderPay(Long id, Long couponId, LoginUser loginUser);
ReportFormsVo reportForms();
Boolean createPay(DbOrderEditBo bo);
/**
*待支付job
* @return
*/
Integer unpaidJob();
}
......@@ -2,6 +2,7 @@ package com.yongqi.xinrenli.service;
import com.yongqi.xinrenli.domain.DbCoupon;
import com.yongqi.xinrenli.domain.bo.DbCouponBo;
import com.yongqi.xinrenli.domain.vo.DbCouponVo;
import com.yongqi.xinrenli.domain.vo.DbUserCouponVo;
import com.yongqi.xinrenli.domain.bo.DbUserCouponBo;
import com.yongqi.common.core.page.TableDataInfo;
......@@ -26,7 +27,7 @@ public interface IDbUserCouponService {
/**
* 查询用户优惠券关联列表
*/
TableDataInfo<DbCoupon> queryPageList(DbCouponBo bo, PageQuery pageQuery);
TableDataInfo<DbCouponVo> queryPageList(DbUserCouponBo bo, PageQuery pageQuery);
......@@ -47,5 +48,5 @@ public interface IDbUserCouponService {
/**
* 用户优惠卷失效查询接口
*/
TableDataInfo<DbCoupon> queryPageListLose(DbCouponBo bo, PageQuery pageQuery);
TableDataInfo<DbCouponVo> queryPageListLose(DbUserCouponBo bo, PageQuery pageQuery);
}
......@@ -16,6 +16,7 @@ import com.yongqi.xinrenli.domain.DbFile;
import com.yongqi.xinrenli.domain.bo.DbFileBo;
import com.yongqi.xinrenli.domain.bo.DbOrderEditBo;
import com.yongqi.xinrenli.domain.vo.DbFileVo;
import com.yongqi.xinrenli.domain.vo.ReportFormsVo;
import com.yongqi.xinrenli.enums.DeleteStatusEnum;
import com.yongqi.xinrenli.enums.FileEnumServiceType;
import com.yongqi.xinrenli.mapper.DbCouponMapper;
......@@ -291,4 +292,26 @@ public class DbOrderServiceImpl implements IDbOrderService {
// 6.返回支付所需数据
return null;
}
/**
* 报表
* @return
*/
@Override
public ReportFormsVo reportForms() {
return baseMapper.reportForms();
}
@Override
public Boolean createPay(DbOrderEditBo bo) {
return baseMapper.createPay(bo) > 0;
}
/**
*待支付job
* @return
*/
@Override
public Integer unpaidJob() {
return baseMapper.unpaidJob();
}
}
......@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.yongqi.xinrenli.domain.DbCoupon;
import com.yongqi.xinrenli.domain.bo.DbCouponBo;
import com.yongqi.xinrenli.domain.vo.DbCouponVo;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.yongqi.xinrenli.domain.bo.DbUserCouponBo;
......@@ -44,18 +45,18 @@ public class DbUserCouponServiceImpl implements IDbUserCouponService {
* 查询用户优惠券关联列表
*/
@Override
public TableDataInfo<DbCoupon> queryPageList(DbCouponBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<DbCoupon> lqw = buildQueryWrapper(bo);
Page<DbCoupon> result = baseMapper.selectListPage(pageQuery.build(), lqw);
public TableDataInfo<DbCouponVo> queryPageList(DbUserCouponBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<DbUserCoupon> lqw = buildQueryWrapper(bo);
Page<DbCouponVo> result = baseMapper.selectListPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
private LambdaQueryWrapper<DbCoupon> buildQueryWrapper(DbCouponBo bo) {
private LambdaQueryWrapper<DbUserCoupon> buildQueryWrapper(DbUserCouponBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<DbCoupon> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getUserId() != null, DbCoupon::getUserId, bo.getUserId());
LambdaQueryWrapper<DbUserCoupon> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getUserId() != null, DbUserCoupon::getUserId, bo.getUserId());
return lqw;
}
......@@ -102,9 +103,9 @@ public class DbUserCouponServiceImpl implements IDbUserCouponService {
}
@Override
public TableDataInfo<DbCoupon> queryPageListLose(DbCouponBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<DbCoupon> lqw = buildQueryWrapper(bo);
Page<DbCoupon> result = baseMapper.selectListLosePage(pageQuery.build(), lqw);
public TableDataInfo<DbCouponVo> queryPageListLose(DbUserCouponBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<DbUserCoupon> lqw = buildQueryWrapper(bo);
Page<DbCouponVo> result = baseMapper.selectListLosePage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
}
......@@ -78,7 +78,6 @@ public class DbWxUserServiceImpl implements IDbWxUserService {
lqw.eq(StringUtils.isNotBlank(bo.getWechatOriginalId()), DbWxUser::getWechatOriginalId, bo.getWechatOriginalId());
lqw.eq(bo.getModifyTime() != null, DbWxUser::getModifyTime, bo.getModifyTime());
lqw.eq(StringUtils.isNotBlank(bo.getModifyBy()), DbWxUser::getModifyBy, bo.getModifyBy());
lqw.eq(StringUtils.isNotBlank(bo.getModifyCode()), DbWxUser::getModifyCode, bo.getModifyCode());
lqw.eq(bo.getDeleteFlag() != null, DbWxUser::getDeleteFlag, bo.getDeleteFlag());
return lqw;
}
......
......@@ -77,7 +77,40 @@
<if test="reasonsForRejection != null and reasonsForRejection != ''">
reasons_for_rejection=#{reasonsForRejection},
</if>
status=#{status}
status=#{status},
modify_time=now()
where id = #{id}
</update>
<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 SUM( actual_amount ) FROM db_order WHERE `status` = '4' ) AS totalMoney,
t.w AS doneOrder,
t.m AS noDoneOrder
FROM
(
SELECT
t1.w /(
t1.w + t2.m
)* 100+ '%' AS w,
t2.m /(
t1.w + t2.m
)* 100+ '%' AS m
FROM
(
SELECT
count(*) AS w
FROM
db_order
WHERE
`status` IN ( 2, 6 )) t1,
( SELECT count(*) AS m FROM db_order WHERE `status` = '4' ) t2
) t
</select>
<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>
</mapper>
......@@ -12,7 +12,7 @@
<result property="createTime" column="create_time"/>
<result property="modifyTime" column="modify_time"/>
</resultMap>
<resultMap type="com.yongqi.xinrenli.domain.DbCoupon" id="DbCouponResult">
<resultMap type="com.yongqi.xinrenli.domain.vo.DbCouponVo" id="DbCouponResult">
<result property="couponType" column="coupon_type"/>
<result property="fullSubtraction" column="full_subtraction"/>
<result property="minUsed" column="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