用户个人数据统计

pull/1/head
czc 2 years ago
parent ff44665cfc
commit 1e7e5ffd79

@ -24,4 +24,6 @@ public interface AftersaleMapper extends BaseMapper<Aftersale> {
List<ManagerRefundOrderVO> selectManagerRefundOrder(ManagerAftersaleOrderRequest managerAftersaleOrderPageRequest); List<ManagerRefundOrderVO> selectManagerRefundOrder(ManagerAftersaleOrderRequest managerAftersaleOrderPageRequest);
int countByMemberId(Long memberId);
} }

@ -7,6 +7,7 @@ import com.cyl.h5.pojo.vo.H5OrderVO;
import com.cyl.manager.oms.domain.Order; import com.cyl.manager.oms.domain.Order;
import com.cyl.manager.oms.pojo.request.ManagerOrderQueryRequest; import com.cyl.manager.oms.pojo.request.ManagerOrderQueryRequest;
import com.cyl.manager.oms.pojo.vo.ManagerOrderVO; import com.cyl.manager.oms.pojo.vo.ManagerOrderVO;
import com.cyl.manager.ums.pojo.vo.MemberDataStatisticsVO;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
/** /**
@ -33,5 +34,7 @@ public interface OrderMapper extends BaseMapper<Order> {
Integer cancelBatch(@Param("list") List<Order> orderList); Integer cancelBatch(@Param("list") List<Order> orderList);
MemberDataStatisticsVO statOrderCountAndAmount(Long memberId);
} }

@ -3,6 +3,7 @@ package com.cyl.manager.ums.controller;
import java.util.List; import java.util.List;
import com.cyl.manager.ums.pojo.dto.ChangeMemberStatusDTO; import com.cyl.manager.ums.pojo.dto.ChangeMemberStatusDTO;
import com.cyl.manager.ums.pojo.vo.MemberDataStatisticsVO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.PageImpl;
@ -97,4 +98,10 @@ public class MemberController extends BaseController {
public ResponseEntity<String> getPhoneDecrypted(@PathVariable String phoneEncrypted){ public ResponseEntity<String> getPhoneDecrypted(@PathVariable String phoneEncrypted){
return ResponseEntity.ok(service.getPhoneDecrypted(phoneEncrypted)); return ResponseEntity.ok(service.getPhoneDecrypted(phoneEncrypted));
} }
@ApiOperation("查看会员统计数据")
@GetMapping("/view/statistics/{memberId}")
public ResponseEntity<MemberDataStatisticsVO> viewStatistics(@PathVariable Long memberId){
return ResponseEntity.ok(service.viewStatistics(memberId));
}
} }

@ -0,0 +1,20 @@
package com.cyl.manager.ums.pojo.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@Data
@ApiModel("会员下单数据统计对象")
public class MemberDataStatisticsVO {
@ApiModelProperty("购物车数")
private Integer cartCount;
@ApiModelProperty("订单数")
private Integer orderCount;
@ApiModelProperty("下单金额")
private BigDecimal orderAmount;
@ApiModelProperty("售后数")
private Integer aftersaleCount;
}

@ -3,9 +3,16 @@ package com.cyl.manager.ums.service;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
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.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.cyl.manager.oms.domain.Order;
import com.cyl.manager.oms.mapper.AftersaleMapper;
import com.cyl.manager.oms.mapper.OrderMapper;
import com.cyl.manager.ums.domain.MemberCart;
import com.cyl.manager.ums.mapper.MemberCartMapper;
import com.cyl.manager.ums.pojo.dto.ChangeMemberStatusDTO; import com.cyl.manager.ums.pojo.dto.ChangeMemberStatusDTO;
import com.cyl.manager.ums.pojo.vo.MemberDataStatisticsVO;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.ruoyi.common.utils.AesCryptoUtils; import com.ruoyi.common.utils.AesCryptoUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -30,6 +37,15 @@ public class MemberService {
@Value("${aes.key}") @Value("${aes.key}")
private String aesKey; private String aesKey;
@Autowired
private MemberCartMapper memberCartMapper;
@Autowired
private OrderMapper orderMapper;
@Autowired
private AftersaleMapper aftersaleMapper;
/** /**
* *
* *
@ -111,4 +127,14 @@ public class MemberService {
public String getPhoneDecrypted(String phoneEncrypted) { public String getPhoneDecrypted(String phoneEncrypted) {
return AesCryptoUtils.decrypt(aesKey, phoneEncrypted); return AesCryptoUtils.decrypt(aesKey, phoneEncrypted);
} }
public MemberDataStatisticsVO viewStatistics(Long memberId) {
LambdaQueryWrapper<MemberCart> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(MemberCart::getMemberId, memberId);
int cartCount = memberCartMapper.selectCount(wrapper);
MemberDataStatisticsVO vo = orderMapper.statOrderCountAndAmount(memberId);
vo.setCartCount(cartCount);
vo.setAftersaleCount(aftersaleMapper.countByMemberId(memberId));
return vo;
}
} }

@ -89,5 +89,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</where> </where>
order by a.create_time desc order by a.create_time desc
</select> </select>
<select id="countByMemberId" resultType="java.lang.Integer">
select
IFNULL(count(distinct id), 0)
from oms_aftersale
where member_id=#{memberId}
</select>
</mapper> </mapper>

@ -225,5 +225,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
from oms_order from oms_order
where member_id=#{memberId} and delete_status=0 where member_id=#{memberId} and delete_status=0
</select> </select>
<select id="statOrderCountAndAmount" resultType="com.cyl.manager.ums.pojo.vo.MemberDataStatisticsVO">
select
IFNULL(count(id), 0) orderCount,
IFNULL(sum(pay_amount), 0) orderAmount
from oms_order
where status in (1,2,3) and aftersale_status=1 and member_id=#{memberId}
</select>
</mapper> </mapper>

Loading…
Cancel
Save