diff --git a/ruoyi-mall/src/main/java/com/cyl/h5/controller/H5MemberController.java b/ruoyi-mall/src/main/java/com/cyl/h5/controller/H5MemberController.java index e3bbe96..46f17a6 100644 --- a/ruoyi-mall/src/main/java/com/cyl/h5/controller/H5MemberController.java +++ b/ruoyi-mall/src/main/java/com/cyl/h5/controller/H5MemberController.java @@ -66,7 +66,6 @@ public class H5MemberController { } @ApiOperation("新增会员登录记录") - @Log(title = "会员登录记录", businessType = BusinessType.INSERT) @GetMapping("/record/login") public void add(HttpServletRequest request) { LoginMember loginMember = tokenService.getLoginMember(request); diff --git a/ruoyi-mall/src/main/java/com/cyl/h5/service/H5OrderService.java b/ruoyi-mall/src/main/java/com/cyl/h5/service/H5OrderService.java index 618c799..5ac4fb4 100644 --- a/ruoyi-mall/src/main/java/com/cyl/h5/service/H5OrderService.java +++ b/ruoyi-mall/src/main/java/com/cyl/h5/service/H5OrderService.java @@ -566,7 +566,7 @@ public class H5OrderService { OrderOperateHistory optHistory = new OrderOperateHistory(); optHistory.setOrderId(order.getId()); optHistory.setOrderSn(order.getOrderSn()); - optHistory.setOperateMan("系统"); + optHistory.setOperateMan("" + order.getMemberId()); optHistory.setOrderStatus(OrderStatus.NOT_DELIVERED.getType()); optHistory.setCreateTime(optDate); optHistory.setCreateBy(order.getMemberId()); diff --git a/ruoyi-mall/src/main/java/com/cyl/manager/oms/service/OrderService.java b/ruoyi-mall/src/main/java/com/cyl/manager/oms/service/OrderService.java index 84d58d2..09d4fd0 100644 --- a/ruoyi-mall/src/main/java/com/cyl/manager/oms/service/OrderService.java +++ b/ruoyi-mall/src/main/java/com/cyl/manager/oms/service/OrderService.java @@ -176,7 +176,7 @@ public class OrderService { return new PageImpl<>(managerOrderVOList, page, 0); } long total = ((com.github.pagehelper.Page) managerOrderVOList).getTotal(); - Map orderMap = managerOrderVOList.stream().collect(Collectors.toMap(ManagerOrderVO::getId, it -> it)); + Map orderMap = managerOrderVOList.stream().collect(Collectors.toMap(ManagerOrderVO::getId, it -> it, (v1,v2) -> v2, LinkedHashMap::new)); //查orderItem QueryWrapper qw = new QueryWrapper<>(); qw.in("order_id", orderMap.keySet()); diff --git a/ruoyi-mall/src/main/java/com/cyl/manager/statistics/controller/IndexStatisticsManagerController.java b/ruoyi-mall/src/main/java/com/cyl/manager/statistics/controller/IndexStatisticsManagerController.java index 2b5a7b0..16ebd31 100644 --- a/ruoyi-mall/src/main/java/com/cyl/manager/statistics/controller/IndexStatisticsManagerController.java +++ b/ruoyi-mall/src/main/java/com/cyl/manager/statistics/controller/IndexStatisticsManagerController.java @@ -2,6 +2,7 @@ package com.cyl.manager.statistics.controller; 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.OrderAndAftersaleStatisticsVO; 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.http.ResponseEntity; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -46,10 +45,9 @@ public class IndexStatisticsManagerController { } @ApiOperation(value = "订单信息") - @GetMapping("/orderStatistics") - public ResponseEntity> orderStatistics() { - - return ResponseEntity.ok(indexStatisticsService.orderStatistics()); + @PostMapping("/orderStatistics") + public ResponseEntity> orderStatistics(@RequestBody OrderStatisticsQueryParam param) { + return ResponseEntity.ok(indexStatisticsService.orderStatistics(param)); } @ApiOperation(value = "会员数,加购数") diff --git a/ruoyi-mall/src/main/java/com/cyl/manager/statistics/mapper/IndexStatisticsMapper.java b/ruoyi-mall/src/main/java/com/cyl/manager/statistics/mapper/IndexStatisticsMapper.java index 5fac288..e995b49 100644 --- a/ruoyi-mall/src/main/java/com/cyl/manager/statistics/mapper/IndexStatisticsMapper.java +++ b/ruoyi-mall/src/main/java/com/cyl/manager/statistics/mapper/IndexStatisticsMapper.java @@ -2,6 +2,7 @@ package com.cyl.manager.statistics.mapper; 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.ProductTopVO; @@ -11,6 +12,6 @@ public interface IndexStatisticsMapper { List goodsSkuStatistics(GoodsStatisticsQueryParam goodsStatisticsQueryParam); List goodsStatistics(GoodsStatisticsQueryParam goodsStatisticsQueryParam); - List orderStatistics(); + List orderStatistics(OrderStatisticsQueryParam param); } diff --git a/ruoyi-mall/src/main/java/com/cyl/manager/statistics/pojo/OrderStatisticsQueryParam.java b/ruoyi-mall/src/main/java/com/cyl/manager/statistics/pojo/OrderStatisticsQueryParam.java new file mode 100644 index 0000000..97044ce --- /dev/null +++ b/ruoyi-mall/src/main/java/com/cyl/manager/statistics/pojo/OrderStatisticsQueryParam.java @@ -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; + +} diff --git a/ruoyi-mall/src/main/java/com/cyl/manager/statistics/service/IndexStatisticsService.java b/ruoyi-mall/src/main/java/com/cyl/manager/statistics/service/IndexStatisticsService.java index 971a4d1..93017d6 100644 --- a/ruoyi-mall/src/main/java/com/cyl/manager/statistics/service/IndexStatisticsService.java +++ b/ruoyi-mall/src/main/java/com/cyl/manager/statistics/service/IndexStatisticsService.java @@ -7,6 +7,7 @@ import com.cyl.manager.oms.service.OrderDeliveryHistoryService; import com.cyl.manager.oms.service.OrderService; import com.cyl.manager.statistics.mapper.IndexStatisticsMapper; 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.OrderAndAftersaleStatisticsVO; import com.cyl.manager.statistics.pojo.vo.OrderStatisticsVO; @@ -51,8 +52,8 @@ public class IndexStatisticsService { } } - public List orderStatistics() { - return indexStatisticsMapper.orderStatistics(); + public List orderStatistics(OrderStatisticsQueryParam param) { + return indexStatisticsMapper.orderStatistics(param); } public MemberAndCartStatisticsVO statMemberAndCart() { diff --git a/ruoyi-mall/src/main/java/com/cyl/manager/ums/pojo/query/MemberLogininforQuery.java b/ruoyi-mall/src/main/java/com/cyl/manager/ums/pojo/query/MemberLogininforQuery.java index 41b65e3..9578cab 100644 --- a/ruoyi-mall/src/main/java/com/cyl/manager/ums/pojo/query/MemberLogininforQuery.java +++ b/ruoyi-mall/src/main/java/com/cyl/manager/ums/pojo/query/MemberLogininforQuery.java @@ -34,4 +34,8 @@ public class MemberLogininforQuery { @ApiModelProperty("登陆时间 精确匹配") private LocalDateTime loginTime; + private String beginTime; + + private String endTime; + } diff --git a/ruoyi-mall/src/main/java/com/cyl/manager/ums/service/MemberLogininforService.java b/ruoyi-mall/src/main/java/com/cyl/manager/ums/service/MemberLogininforService.java index e1c969a..aa6174e 100644 --- a/ruoyi-mall/src/main/java/com/cyl/manager/ums/service/MemberLogininforService.java +++ b/ruoyi-mall/src/main/java/com/cyl/manager/ums/service/MemberLogininforService.java @@ -4,16 +4,20 @@ import java.time.LocalDateTime; import java.util.Arrays; import java.util.List; import java.time.LocalDateTime; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.cyl.manager.ums.domain.Member; import com.cyl.manager.ums.mapper.MemberMapper; import com.github.pagehelper.PageHelper; 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.ip.AddressUtils; import com.ruoyi.common.utils.ip.IpUtils; import eu.bitwalker.useragentutils.UserAgent; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.data.domain.Pageable; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; @@ -35,6 +39,9 @@ public class MemberLogininforService { @Autowired private MemberMapper memberMapper; + @Value("${aes.key}") + private String aesKey; + /** * 查询会员登录记录 * @@ -53,17 +60,20 @@ public class MemberLogininforService { * @return 会员登录记录 */ public List selectList(MemberLogininforQuery query, Pageable page) { - if (page != null) { - PageHelper.startPage(page.getPageNumber() + 1, page.getPageSize()); - } QueryWrapper qw = new QueryWrapper<>(); String phone = query.getPhone(); if (!StringUtils.isEmpty(phone)) { - qw.eq("phone", phone); + LambdaQueryWrapper 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 (memberId != null) { - qw.eq("member_id", memberId); + if (page != null) { + PageHelper.startPage(page.getPageNumber() + 1, page.getPageSize()); } String ipaddr = query.getIpaddr(); if (!StringUtils.isEmpty(ipaddr)) { @@ -81,10 +91,11 @@ public class MemberLogininforService { if (!StringUtils.isEmpty(os)) { qw.eq("os", os); } - LocalDateTime loginTime = query.getLoginTime(); - if (loginTime != null) { - qw.eq("login_time", loginTime); + if (query.getBeginTime() != null && query.getEndTime() != null) { + qw.ge("login_time", query.getBeginTime()); + qw.lt("login_time", query.getEndTime()); } + qw.orderByDesc("login_time"); return memberLogininforMapper.selectList(qw); } diff --git a/ruoyi-mall/src/main/resources/mapper/statistics/IndexStatisticsMapper.xml b/ruoyi-mall/src/main/resources/mapper/statistics/IndexStatisticsMapper.xml index 3ed35a4..0acf28b 100644 --- a/ruoyi-mall/src/main/resources/mapper/statistics/IndexStatisticsMapper.xml +++ b/ruoyi-mall/src/main/resources/mapper/statistics/IndexStatisticsMapper.xml @@ -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 29 DAY ) AS date + + 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 + @@ -59,7 +69,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" IFNULL(b.order_amount,0) orderAmount from ( - + + + + + + + + ) a left join ( SELECT DATE_FORMAT(create_time, '%Y-%m-%d') as date, diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysLogininfor.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysLogininfor.java index 7fdea30..e615575 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysLogininfor.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysLogininfor.java @@ -1,14 +1,15 @@ package com.ruoyi.system.domain; -import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.annotation.Excel.ColumnType; import com.ruoyi.common.core.domain.BaseEntity; +import java.time.LocalDateTime; + /** * 系统访问记录表 sys_logininfor - * + * * @author ruoyi */ public class SysLogininfor extends BaseEntity @@ -50,7 +51,7 @@ public class SysLogininfor extends BaseEntity /** 访问时间 */ @JsonFormat(pattern = "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() { @@ -132,12 +133,12 @@ public class SysLogininfor extends BaseEntity this.msg = msg; } - public Date getLoginTime() + public LocalDateTime getLoginTime() { return loginTime; } - public void setLoginTime(Date loginTime) + public void setLoginTime(LocalDateTime loginTime) { this.loginTime = loginTime; }