Merge remote-tracking branch 'origin/master'

pull/1/head
sjm 2 years ago
commit 2c61cb85da

@ -66,7 +66,6 @@ public class H5MemberController {
} }
@ApiOperation("新增会员登录记录") @ApiOperation("新增会员登录记录")
@Log(title = "会员登录记录", businessType = BusinessType.INSERT)
@GetMapping("/record/login") @GetMapping("/record/login")
public void add(HttpServletRequest request) { public void add(HttpServletRequest request) {
LoginMember loginMember = tokenService.getLoginMember(request); LoginMember loginMember = tokenService.getLoginMember(request);

@ -566,7 +566,7 @@ public class H5OrderService {
OrderOperateHistory optHistory = new OrderOperateHistory(); OrderOperateHistory optHistory = new OrderOperateHistory();
optHistory.setOrderId(order.getId()); optHistory.setOrderId(order.getId());
optHistory.setOrderSn(order.getOrderSn()); optHistory.setOrderSn(order.getOrderSn());
optHistory.setOperateMan("系统"); optHistory.setOperateMan("" + order.getMemberId());
optHistory.setOrderStatus(OrderStatus.NOT_DELIVERED.getType()); optHistory.setOrderStatus(OrderStatus.NOT_DELIVERED.getType());
optHistory.setCreateTime(optDate); optHistory.setCreateTime(optDate);
optHistory.setCreateBy(order.getMemberId()); optHistory.setCreateBy(order.getMemberId());

@ -176,7 +176,7 @@ public class OrderService {
return new PageImpl<>(managerOrderVOList, page, 0); return new PageImpl<>(managerOrderVOList, page, 0);
} }
long total = ((com.github.pagehelper.Page) managerOrderVOList).getTotal(); long total = ((com.github.pagehelper.Page) managerOrderVOList).getTotal();
Map<Long, ManagerOrderVO> orderMap = managerOrderVOList.stream().collect(Collectors.toMap(ManagerOrderVO::getId, it -> it)); Map<Long, ManagerOrderVO> orderMap = managerOrderVOList.stream().collect(Collectors.toMap(ManagerOrderVO::getId, it -> it, (v1,v2) -> v2, LinkedHashMap::new));
//查orderItem //查orderItem
QueryWrapper<OrderItem> qw = new QueryWrapper<>(); QueryWrapper<OrderItem> qw = new QueryWrapper<>();
qw.in("order_id", orderMap.keySet()); qw.in("order_id", orderMap.keySet());

@ -2,6 +2,7 @@ package com.cyl.manager.statistics.controller;
import com.cyl.manager.statistics.pojo.GoodsStatisticsQueryParam; import com.cyl.manager.statistics.pojo.GoodsStatisticsQueryParam;
import com.cyl.manager.statistics.pojo.OrderStatisticsQueryParam;
import com.cyl.manager.statistics.pojo.vo.MemberAndCartStatisticsVO; import com.cyl.manager.statistics.pojo.vo.MemberAndCartStatisticsVO;
import com.cyl.manager.statistics.pojo.vo.OrderAndAftersaleStatisticsVO; import com.cyl.manager.statistics.pojo.vo.OrderAndAftersaleStatisticsVO;
import com.cyl.manager.statistics.pojo.vo.OrderStatisticsVO; import com.cyl.manager.statistics.pojo.vo.OrderStatisticsVO;
@ -14,9 +15,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List; import java.util.List;
@ -46,10 +45,9 @@ public class IndexStatisticsManagerController {
} }
@ApiOperation(value = "订单信息") @ApiOperation(value = "订单信息")
@GetMapping("/orderStatistics") @PostMapping("/orderStatistics")
public ResponseEntity<List<OrderStatisticsVO>> orderStatistics() { public ResponseEntity<List<OrderStatisticsVO>> orderStatistics(@RequestBody OrderStatisticsQueryParam param) {
return ResponseEntity.ok(indexStatisticsService.orderStatistics(param));
return ResponseEntity.ok(indexStatisticsService.orderStatistics());
} }
@ApiOperation(value = "会员数,加购数") @ApiOperation(value = "会员数,加购数")

@ -2,6 +2,7 @@ package com.cyl.manager.statistics.mapper;
import com.cyl.manager.statistics.pojo.GoodsStatisticsQueryParam; import com.cyl.manager.statistics.pojo.GoodsStatisticsQueryParam;
import com.cyl.manager.statistics.pojo.OrderStatisticsQueryParam;
import com.cyl.manager.statistics.pojo.vo.OrderStatisticsVO; import com.cyl.manager.statistics.pojo.vo.OrderStatisticsVO;
import com.cyl.manager.statistics.pojo.vo.ProductTopVO; import com.cyl.manager.statistics.pojo.vo.ProductTopVO;
@ -11,6 +12,6 @@ public interface IndexStatisticsMapper {
List<ProductTopVO> goodsSkuStatistics(GoodsStatisticsQueryParam goodsStatisticsQueryParam); List<ProductTopVO> goodsSkuStatistics(GoodsStatisticsQueryParam goodsStatisticsQueryParam);
List<ProductTopVO> goodsStatistics(GoodsStatisticsQueryParam goodsStatisticsQueryParam); List<ProductTopVO> goodsStatistics(GoodsStatisticsQueryParam goodsStatisticsQueryParam);
List<OrderStatisticsVO> orderStatistics(); List<OrderStatisticsVO> orderStatistics(OrderStatisticsQueryParam param);
} }

@ -0,0 +1,14 @@
package com.cyl.manager.statistics.pojo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel("订单统计查询条件对象")
@Data
public class OrderStatisticsQueryParam {
@ApiModelProperty("查询范围类型 1近一周 2近一个月")
private Integer type;
}

@ -7,6 +7,7 @@ import com.cyl.manager.oms.service.OrderDeliveryHistoryService;
import com.cyl.manager.oms.service.OrderService; import com.cyl.manager.oms.service.OrderService;
import com.cyl.manager.statistics.mapper.IndexStatisticsMapper; import com.cyl.manager.statistics.mapper.IndexStatisticsMapper;
import com.cyl.manager.statistics.pojo.GoodsStatisticsQueryParam; import com.cyl.manager.statistics.pojo.GoodsStatisticsQueryParam;
import com.cyl.manager.statistics.pojo.OrderStatisticsQueryParam;
import com.cyl.manager.statistics.pojo.vo.MemberAndCartStatisticsVO; import com.cyl.manager.statistics.pojo.vo.MemberAndCartStatisticsVO;
import com.cyl.manager.statistics.pojo.vo.OrderAndAftersaleStatisticsVO; import com.cyl.manager.statistics.pojo.vo.OrderAndAftersaleStatisticsVO;
import com.cyl.manager.statistics.pojo.vo.OrderStatisticsVO; import com.cyl.manager.statistics.pojo.vo.OrderStatisticsVO;
@ -51,8 +52,8 @@ public class IndexStatisticsService {
} }
} }
public List<OrderStatisticsVO> orderStatistics() { public List<OrderStatisticsVO> orderStatistics(OrderStatisticsQueryParam param) {
return indexStatisticsMapper.orderStatistics(); return indexStatisticsMapper.orderStatistics(param);
} }
public MemberAndCartStatisticsVO statMemberAndCart() { public MemberAndCartStatisticsVO statMemberAndCart() {

@ -34,4 +34,8 @@ public class MemberLogininforQuery {
@ApiModelProperty("登陆时间 精确匹配") @ApiModelProperty("登陆时间 精确匹配")
private LocalDateTime loginTime; private LocalDateTime loginTime;
private String beginTime;
private String endTime;
} }

@ -4,16 +4,20 @@ import java.time.LocalDateTime;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.cyl.manager.ums.domain.Member; import com.cyl.manager.ums.domain.Member;
import com.cyl.manager.ums.mapper.MemberMapper; import com.cyl.manager.ums.mapper.MemberMapper;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.ruoyi.common.core.domain.model.LoginMember; import com.ruoyi.common.core.domain.model.LoginMember;
import com.ruoyi.common.utils.AesCryptoUtils;
import com.ruoyi.common.utils.ServletUtils; import com.ruoyi.common.utils.ServletUtils;
import com.ruoyi.common.utils.ip.AddressUtils; import com.ruoyi.common.utils.ip.AddressUtils;
import com.ruoyi.common.utils.ip.IpUtils; import com.ruoyi.common.utils.ip.IpUtils;
import eu.bitwalker.useragentutils.UserAgent; import eu.bitwalker.useragentutils.UserAgent;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -35,6 +39,9 @@ public class MemberLogininforService {
@Autowired @Autowired
private MemberMapper memberMapper; private MemberMapper memberMapper;
@Value("${aes.key}")
private String aesKey;
/** /**
* *
* *
@ -53,17 +60,20 @@ public class MemberLogininforService {
* @return * @return
*/ */
public List<MemberLogininfor> selectList(MemberLogininforQuery query, Pageable page) { public List<MemberLogininfor> selectList(MemberLogininforQuery query, Pageable page) {
if (page != null) {
PageHelper.startPage(page.getPageNumber() + 1, page.getPageSize());
}
QueryWrapper<MemberLogininfor> qw = new QueryWrapper<>(); QueryWrapper<MemberLogininfor> qw = new QueryWrapper<>();
String phone = query.getPhone(); String phone = query.getPhone();
if (!StringUtils.isEmpty(phone)) { if (!StringUtils.isEmpty(phone)) {
qw.eq("phone", phone); LambdaQueryWrapper<Member> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Member::getPhoneEncrypted, AesCryptoUtils.encrypt(aesKey, phone));
Member member = memberMapper.selectOne(wrapper);
if (member != null){
qw.eq("phone", member.getPhoneEncrypted());
}else {
qw.eq("phone", "-1");
}
} }
Long memberId = query.getMemberId(); if (page != null) {
if (memberId != null) { PageHelper.startPage(page.getPageNumber() + 1, page.getPageSize());
qw.eq("member_id", memberId);
} }
String ipaddr = query.getIpaddr(); String ipaddr = query.getIpaddr();
if (!StringUtils.isEmpty(ipaddr)) { if (!StringUtils.isEmpty(ipaddr)) {
@ -81,10 +91,11 @@ public class MemberLogininforService {
if (!StringUtils.isEmpty(os)) { if (!StringUtils.isEmpty(os)) {
qw.eq("os", os); qw.eq("os", os);
} }
LocalDateTime loginTime = query.getLoginTime(); if (query.getBeginTime() != null && query.getEndTime() != null) {
if (loginTime != null) { qw.ge("login_time", query.getBeginTime());
qw.eq("login_time", loginTime); qw.lt("login_time", query.getEndTime());
} }
qw.orderByDesc("login_time");
return memberLogininforMapper.selectList(qw); return memberLogininforMapper.selectList(qw);
} }

@ -36,6 +36,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
SELECT date_sub( curdate( ), INTERVAL 28 DAY ) AS date UNION ALL SELECT date_sub( curdate( ), INTERVAL 28 DAY ) AS date UNION ALL
SELECT date_sub( curdate( ), INTERVAL 29 DAY ) AS date SELECT date_sub( curdate( ), INTERVAL 29 DAY ) AS date
</sql> </sql>
<sql id="dateRange2">
SELECT
curdate( ) AS date UNION ALL
SELECT date_sub( curdate( ), INTERVAL 1 DAY ) AS date UNION ALL
SELECT date_sub( curdate( ), INTERVAL 2 DAY ) AS date UNION ALL
SELECT date_sub( curdate( ), INTERVAL 3 DAY ) AS date UNION ALL
SELECT date_sub( curdate( ), INTERVAL 4 DAY ) AS date UNION ALL
SELECT date_sub( curdate( ), INTERVAL 5 DAY ) AS date UNION ALL
SELECT date_sub( curdate( ), INTERVAL 6 DAY ) AS date
</sql>
<resultMap id="topSalesResultMap" type="com.cyl.manager.statistics.pojo.vo.ProductTopVO"> <resultMap id="topSalesResultMap" type="com.cyl.manager.statistics.pojo.vo.ProductTopVO">
<result property="productName" column="product_name"/> <result property="productName" column="product_name"/>
<result property="totalSales" column="total_sales"/> <result property="totalSales" column="total_sales"/>
@ -59,7 +69,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
IFNULL(b.order_amount,0) orderAmount IFNULL(b.order_amount,0) orderAmount
from from
( (
<choose>
<when test="type == 1">
<include refid="dateRange2"></include>
</when>
<when test="type == 2">
<include refid="dateRange"></include> <include refid="dateRange"></include>
</when>
</choose>
) a ) a
left join ( left join (
SELECT DATE_FORMAT(create_time, '%Y-%m-%d') as date, SELECT DATE_FORMAT(create_time, '%Y-%m-%d') as date,

@ -1,11 +1,12 @@
package com.ruoyi.system.domain; package com.ruoyi.system.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.annotation.Excel.ColumnType; import com.ruoyi.common.annotation.Excel.ColumnType;
import com.ruoyi.common.core.domain.BaseEntity; import com.ruoyi.common.core.domain.BaseEntity;
import java.time.LocalDateTime;
/** /**
* 访 sys_logininfor * 访 sys_logininfor
* *
@ -50,7 +51,7 @@ public class SysLogininfor extends BaseEntity
/** 访问时间 */ /** 访问时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "访问时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") @Excel(name = "访问时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date loginTime; private LocalDateTime loginTime;
public Long getInfoId() public Long getInfoId()
{ {
@ -132,12 +133,12 @@ public class SysLogininfor extends BaseEntity
this.msg = msg; this.msg = msg;
} }
public Date getLoginTime() public LocalDateTime getLoginTime()
{ {
return loginTime; return loginTime;
} }
public void setLoginTime(Date loginTime) public void setLoginTime(LocalDateTime loginTime)
{ {
this.loginTime = loginTime; this.loginTime = loginTime;
} }

Loading…
Cancel
Save