Commit c02e3ac2 by 郑云飞

小程序个人信息,0元支付;

后管累计成交金额,已完成订单查询修改
parent 4521fc2b
...@@ -22,6 +22,7 @@ import com.yongqi.xinrenli.domain.bo.DbOrderEditBo; ...@@ -22,6 +22,7 @@ import com.yongqi.xinrenli.domain.bo.DbOrderEditBo;
import com.yongqi.xinrenli.domain.vo.DbOrderVo; import com.yongqi.xinrenli.domain.vo.DbOrderVo;
import com.yongqi.xinrenli.domain.vo.ReportFormsVo; import com.yongqi.xinrenli.domain.vo.ReportFormsVo;
import com.yongqi.xinrenli.service.IDbOrderService; import com.yongqi.xinrenli.service.IDbOrderService;
import io.swagger.v3.oas.annotations.Parameter;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -30,10 +31,8 @@ import javax.servlet.http.HttpServletRequest; ...@@ -30,10 +31,8 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.time.LocalDate;
import java.util.HashMap; import java.util.*;
import java.util.List;
import java.util.Map;
import static com.yongqi.xinrenli.utils.videoText.getTempPath; import static com.yongqi.xinrenli.utils.videoText.getTempPath;
...@@ -240,8 +239,22 @@ public class DbOrderController extends BaseController { ...@@ -240,8 +239,22 @@ public class DbOrderController extends BaseController {
@SaCheckPermission("xinrenli:order:reportForms") @SaCheckPermission("xinrenli:order:reportForms")
@Log(title = "报表", businessType = BusinessType.DELETE) @Log(title = "报表", businessType = BusinessType.DELETE)
@GetMapping("/reportForms") @GetMapping("/reportForms")
public R<ReportFormsVo> reportForms() { public R<ReportFormsVo> reportForms(@Parameter(description = "开始时间")@RequestParam(required = false) String startTime,
return R.ok(iDbOrderService.reportForms()); @Parameter(description = "结束时间")@RequestParam(required = false) String endTime) {
return R.ok(iDbOrderService.reportForms(startTime, endTime));
}
/**
* 累计成交额
*/
@SaCheckPermission("xinrenli:order:AccumulatedTransactionVolume")
@Log(title = "报表", businessType = BusinessType.OTHER)
@GetMapping("/accumulatedTransactionVolume")
public R<List<Map<String, Object>>> AccumulatedTransactionVolume(@Parameter(description = "年") @RequestParam(value = "year",required = false) Integer year) {
if (ObjectUtils.isEmpty(year)) {
year = LocalDate.now().getYear();
}
return R.ok(iDbOrderService.accumulatedTransactionVolume(year));
} }
/** /**
......
...@@ -56,10 +56,22 @@ public class DbWxUser { ...@@ -56,10 +56,22 @@ public class DbWxUser {
*/ */
private String unionId; private String unionId;
/** /**
* 联系人
*/
private String linkMan;
/**
* 手机号 * 手机号
*/ */
private String mobile; private String mobile;
/** /**
* 公司名
*/
private String company;
/**
* 地址
*/
private String address;
/**
* 授权手机号 * 授权手机号
*/ */
private String authMobile; private String authMobile;
......
...@@ -81,10 +81,21 @@ public class DbWxUserBo extends BaseEntity { ...@@ -81,10 +81,21 @@ public class DbWxUserBo extends BaseEntity {
private String unionId; private String unionId;
/** /**
* 联系人
*/
private String linkMan;
/**
* 手机号 * 手机号
*/ */
@NotBlank(message = "手机号不能为空", groups = {AddGroup.class})
private String mobile; private String mobile;
/**
* 公司名
*/
private String company;
/**
* 地址
*/
private String address;
/** /**
* 授权手机号 * 授权手机号
......
...@@ -76,12 +76,30 @@ public class DbWxUserVo { ...@@ -76,12 +76,30 @@ public class DbWxUserVo {
private String unionId; private String unionId;
/** /**
* 联系人
*/
@ExcelProperty(value = "联系人")
private String linkMan;
/**
* 手机号 * 手机号
*/ */
@ExcelProperty(value = "手机号") @ExcelProperty(value = "手机号")
private String mobile; private String mobile;
/** /**
* 公司名
*/
@ExcelProperty(value = "公司名")
private String company;
/**
* 地址
*/
@ExcelProperty(value = "地址")
private String address;
/**
* 授权手机号 * 授权手机号
*/ */
@ExcelProperty(value = "授权手机号") @ExcelProperty(value = "授权手机号")
......
package com.yongqi.xinrenli.mapper; package com.yongqi.xinrenli.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper; 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.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yongqi.common.core.domain.entity.SysUser;
import com.yongqi.xinrenli.domain.DbOrder; import com.yongqi.xinrenli.domain.DbOrder;
import com.yongqi.xinrenli.domain.bo.DbOrderBo;
import com.yongqi.xinrenli.domain.bo.DbOrderEditBo; import com.yongqi.xinrenli.domain.bo.DbOrderEditBo;
import com.yongqi.xinrenli.domain.vo.DbOrderVo; import com.yongqi.xinrenli.domain.vo.DbOrderVo;
import com.yongqi.common.core.mapper.BaseMapperPlus; import com.yongqi.common.core.mapper.BaseMapperPlus;
...@@ -14,7 +11,9 @@ import com.yongqi.xinrenli.domain.vo.ReportFormsVo; ...@@ -14,7 +11,9 @@ import com.yongqi.xinrenli.domain.vo.ReportFormsVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 订单Mapper接口 * 订单Mapper接口
...@@ -35,10 +34,15 @@ public interface DbOrderMapper extends BaseMapperPlus<DbOrderMapper, DbOrder, Db ...@@ -35,10 +34,15 @@ public interface DbOrderMapper extends BaseMapperPlus<DbOrderMapper, DbOrder, Db
ReportFormsVo reportFormsExl(); ReportFormsVo reportFormsExl();
ReportFormsVo reportForms(); ReportFormsVo reportForms(@Param("startTime") String startTime, @Param("endTime") String endTime);
Integer unpaidJob(); Integer unpaidJob();
void completedJob(); void completedJob();
/**
* 查询累计成交金额
* @param year 年份
*/
List<Map<String, String>> getAccumulatedTransactionVolume(@Param("year") Integer year);
} }
...@@ -11,7 +11,9 @@ import com.yongqi.common.core.domain.PageQuery; ...@@ -11,7 +11,9 @@ import com.yongqi.common.core.domain.PageQuery;
import com.yongqi.xinrenli.domain.vo.ReportFormsVo; import com.yongqi.xinrenli.domain.vo.ReportFormsVo;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 订单Service接口 * 订单Service接口
...@@ -71,7 +73,7 @@ public interface IDbOrderService { ...@@ -71,7 +73,7 @@ public interface IDbOrderService {
R orderPay(Long id, Long couponId, Long discountId,LoginUser loginUser, String ipAddr); R orderPay(Long id, Long couponId, Long discountId,LoginUser loginUser, String ipAddr);
ReportFormsVo reportForms(); ReportFormsVo reportForms(String startTime, String endTime);
/** /**
* 报表 * 报表
...@@ -114,4 +116,11 @@ public interface IDbOrderService { ...@@ -114,4 +116,11 @@ public interface IDbOrderService {
* 已支付变成已完成job * 已支付变成已完成job
*/ */
void completedJob(); void completedJob();
/**
* 累计成交金额查询
* @param year 年份
* @return
*/
List<Map<String, Object>> accumulatedTransactionVolume(Integer year);
} }
...@@ -20,6 +20,7 @@ import com.yongqi.common.core.domain.R; ...@@ -20,6 +20,7 @@ import com.yongqi.common.core.domain.R;
import com.yongqi.common.core.domain.model.LoginUser; import com.yongqi.common.core.domain.model.LoginUser;
import com.yongqi.common.core.page.TableDataInfo; import com.yongqi.common.core.page.TableDataInfo;
import com.yongqi.common.exception.ServiceException; import com.yongqi.common.exception.ServiceException;
import com.yongqi.common.utils.BeanCopyUtils;
import com.yongqi.common.utils.StringUtils; import com.yongqi.common.utils.StringUtils;
import com.yongqi.common.utils.redis.CodeUtils; import com.yongqi.common.utils.redis.CodeUtils;
import com.yongqi.xinrenli.domain.*; import com.yongqi.xinrenli.domain.*;
...@@ -39,7 +40,7 @@ import org.springframework.stereotype.Service; ...@@ -39,7 +40,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.rmi.ServerException; import java.time.LocalDate;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -685,13 +686,42 @@ public class DbOrderServiceImpl implements IDbOrderService { ...@@ -685,13 +686,42 @@ public class DbOrderServiceImpl implements IDbOrderService {
} }
/** /**
* 累计成交金额查询
* @param year 年份
* @return
*/
@Override
public List<Map<String, Object>> accumulatedTransactionVolume(Integer year) {
// 12 个月份
Integer[] months = new Integer[]{1,2,3,4,5,6,7,8,9,10,11,12};
// 查询数据
List<Map<String, String>> maps = baseMapper.getAccumulatedTransactionVolume(year);
List<String> monthList = maps.stream().map(map -> map.get("month")).collect(Collectors.toList());
List<Map<String, Object>> list = new ArrayList<>();
// 循环对比查出的数据中有没有某个月份的值 有值则添加到返回的对象中,没值则添加0
for (Integer month : Arrays.asList(months)) {
// 返回对象
Map<String, Object> volume = new HashMap<>();
volume.put("month", month);
String format = String.format("%02d", month);
if (monthList.contains(format)) {
volume.put("transactionVolume", maps.stream().filter(map-> map.get("month").equals(format)).findAny().get().get("transactionVolume"));
}else {
volume.put("transactionVolume", 0);
}
list.add(volume);
}
return list;
}
/**
* 报表 * 报表
* *
* @return * @return
*/ */
@Override @Override
public ReportFormsVo reportForms() { public ReportFormsVo reportForms(String startTime, String endTime) {
return baseMapper.reportForms(); return baseMapper.reportForms(startTime,endTime);
} }
@Override @Override
...@@ -701,7 +731,8 @@ public class DbOrderServiceImpl implements IDbOrderService { ...@@ -701,7 +731,8 @@ public class DbOrderServiceImpl implements IDbOrderService {
@Override @Override
public Boolean createPay(DbOrderEditBo bo) { public Boolean createPay(DbOrderEditBo bo) {
return baseMapper.createPay(bo) > 0; DbOrder order = BeanUtil.copyProperties(bo, DbOrder.class);
return baseMapper.updateById(order) > 0;
} }
/** /**
......
...@@ -112,14 +112,34 @@ ...@@ -112,14 +112,34 @@
</select> </select>
<select id="reportForms" resultType="com.yongqi.xinrenli.domain.vo.ReportFormsVo"> <select id="reportForms" resultType="com.yongqi.xinrenli.domain.vo.ReportFormsVo">
SELECT SELECT
( SELECT count(*) FROM db_order WHERE `status` = '4' ) AS accomplish, ( SELECT count(1) FROM db_order WHERE `status` = '4'
( SELECT count(*) FROM db_order WHERE `status` = '1' ) AS reject, <if test="startTime !=null">
( SELECT count(*) FROM db_order WHERE `status` = '6' ) AS refund, and modify_time &gt;= #{startTime}
( SELECT TRUNCATE ( SUM( pay_amount )/ 10000, 2 ) FROM db_order WHERE `status` = '4' ) AS money, </if>
(SELECT count(*) AS w FROM db_order WHERE `status` not in (0,4)) AS NoAccomplish , <if test="endTime != null">
(select count(*) from db_order) as sum and modify_time &lt;= #{endTime}
</if>
) AS accomplish,
( SELECT count(1) FROM db_order WHERE `status` = '1' ) AS reject,
( SELECT count(1) FROM db_order WHERE `status` = '6' ) AS refund,
( SELECT TRUNCATE ( SUM( pay_amount )/ 10000, 2 ) FROM db_order WHERE `status` = '4' ) AS money,
(SELECT count(1) AS w FROM db_order WHERE `status` not in (0,4)) AS NoAccomplish ,
(select count(1) from db_order) as sum
FROM
DUAL
</select>
<select id="getAccumulatedTransactionVolume" parameterType="java.lang.Integer" resultType="java.util.Map">
SELECT
SUM( pay_amount ) as transactionVolume,
DATE_FORMAT( modify_time, '%m' ) as `month`
FROM FROM
DUAL db_order
WHERE
`status` = 4
AND DATE_FORMAT( modify_time, '%Y' ) = #{year}
GROUP BY
DATE_FORMAT( modify_time, '%m' );
</select> </select>
<update id="unpaidJob" > <update id="unpaidJob" >
update db_order set status='1',modify_time=NOW(),reasons_for_rejection='超时未支付' where status=2 and modify_time&lt;=DATE_SUB(SYSDATE(),INTERVAL 1 hour) update db_order set status='1',modify_time=NOW(),reasons_for_rejection='超时未支付' where status=2 and modify_time&lt;=DATE_SUB(SYSDATE(),INTERVAL 1 hour)
......
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