登录时增加shopName,logo;增加支付笔数;支付笔数饼图只判断完成的订单,
This commit is contained in:
parent
8d9ba78594
commit
f8f3212bdb
|
|
@ -108,7 +108,9 @@ public class AuthorizationController {
|
|||
put("token", properties.getTokenStartWith() + token);
|
||||
put("user", jwtUserDto);
|
||||
if (byAccount!= null){
|
||||
put("shopId",byAccount.getId());
|
||||
put("shopId", byAccount.getId());
|
||||
put("shopName", byAccount.getShopName());
|
||||
put("logo", byAccount.getLogo());
|
||||
}
|
||||
|
||||
}};
|
||||
|
|
|
|||
|
|
@ -99,6 +99,13 @@ public class TbShopInfoController {
|
|||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
@PutMapping("/shop")
|
||||
@Log("修改/shop/list")
|
||||
public ResponseEntity<Object> updateShopInfoShopId(@Validated @RequestBody TbShopInfo resources){
|
||||
tbShopInfoService.updateShopId(resources);
|
||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
@DeleteMapping
|
||||
@Log("删除/shop/list")
|
||||
@ApiOperation("删除/shop/list")
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ import javax.persistence.*;
|
|||
import javax.validation.constraints.*;
|
||||
import java.math.BigDecimal;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @website https://eladmin.vip
|
||||
|
|
@ -141,11 +142,11 @@ public class TbShopUser implements Serializable {
|
|||
|
||||
@Column(name = "`created_at`")
|
||||
@ApiModelProperty(value = "createdAt")
|
||||
private Long createdAt;
|
||||
private Date createdAt;
|
||||
|
||||
@Column(name = "`updated_at`")
|
||||
@ApiModelProperty(value = "updatedAt")
|
||||
private Long updatedAt;
|
||||
private Date updatedAt;
|
||||
|
||||
@Column(name = "`mini_open_id`")
|
||||
@ApiModelProperty(value = "小程序openId")
|
||||
|
|
|
|||
|
|
@ -39,4 +39,16 @@ public interface ShopUserDutyRepository extends JpaRepository<TbShopUserDuty, In
|
|||
"WHERE detail.shopId = :shopId " +
|
||||
"AND detail.loginTime BETWEEN :startTime AND :endTime")
|
||||
Tuple sumByShopIdToday(@Param("shopId") Integer shopId,@Param("startTime") Date startTime,@Param("endTime") Date endTime);
|
||||
|
||||
@Query(value = "SELECT\n" +
|
||||
"\tifnull( sum( order_num ), 0 ) AS amount,\n" +
|
||||
"\ttrade_day as tradeDay\n" +
|
||||
"FROM\n" +
|
||||
"\t`tb_shop_user_duty` \n" +
|
||||
"WHERE\n" +
|
||||
"\tshop_id = :shopId \n" +
|
||||
"\tAND login_time BETWEEN :startTime AND :endTime \n" +
|
||||
"GROUP BY\n" +
|
||||
"\ttrade_day", nativeQuery = true)
|
||||
List<Object[]> sumByDateOrderNum(@Param("shopId")Integer shopId, @Param("startTime") Date startTime,@Param("endTime") Date endTime);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,6 +41,6 @@ public interface TbOrderInfoRepository extends JpaRepository<TbOrderInfo, Intege
|
|||
List<TbOrderPayCountVo> queryTbOrderPayCount(@Param("shopId")String shopId);
|
||||
|
||||
@Query(value = "SELECT COUNT(1) ,pay_type AS payType FROM tb_order_info Where shop_id = :shopId AND " +
|
||||
" created_at BETWEEN :startTime AND :endTime GROUP BY pay_type" ,nativeQuery = true)
|
||||
" created_at BETWEEN :startTime AND :endTime AND status='closed' GROUP BY pay_type" ,nativeQuery = true)
|
||||
List<Object[]> countByShopId(@Param("shopId") String shopId, @Param("startTime") Long startTime, @Param("endTime") Long endTime);
|
||||
}
|
||||
|
|
@ -23,6 +23,7 @@ import org.springframework.data.jpa.repository.Query;
|
|||
|
||||
import javax.persistence.Tuple;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @website https://eladmin.vip
|
||||
|
|
@ -37,4 +38,7 @@ public interface TbShopUserRepository extends JpaRepository<TbShopUser, Integer>
|
|||
@Query("SELECT count(0) from TbShopUser user where user.shopId = :shopId and user.createdAt BETWEEN :startTime AND :endTime")
|
||||
Tuple searchByCountToday(@Param("shopId") String shopId, @Param("startTime") Long startTime, @Param("endTime") Long endTime);
|
||||
|
||||
@Query("SELECT count(0) from TbShopUser user where user.shopId = :shopId and user.createdAt BETWEEN :startTime AND :endTime")
|
||||
List<Object[]> CountTodayGroup(@Param("shopId") String shopId, @Param("startTime") Date startTime, @Param("endTime") Date endTime);
|
||||
|
||||
}
|
||||
|
|
@ -10,11 +10,9 @@ import cn.ysk.cashier.repository.order.TbOrderInfoRepository;
|
|||
import cn.ysk.cashier.repository.shop.TbShopUserRepository;
|
||||
import cn.ysk.cashier.service.SummaryService;
|
||||
import cn.ysk.cashier.utils.DateUtil;
|
||||
import cn.ysk.cashier.vo.CountPayTypeVO;
|
||||
import cn.ysk.cashier.vo.SumDateVO;
|
||||
import cn.ysk.cashier.vo.SummaryVO;
|
||||
import cn.ysk.cashier.vo.ProductVO;
|
||||
import cn.ysk.cashier.vo.*;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
|
@ -53,9 +51,49 @@ public class SummaryServiceImpl implements SummaryService {
|
|||
//用户数
|
||||
Tuple count = tbShopUserRepository.searchByCount(shopId.toString());
|
||||
summaryVO.setTotalUser(count.get(0, Long.class));
|
||||
//支付笔数柱形图
|
||||
List<Object[]> objects = shopUserDutyRepository.sumByDateOrderNum(shopId, DateUtil.getDate30DaysAgo(), DateUtil.getDayEnd());
|
||||
List<CountDateVO> countDateList = new ArrayList<>();
|
||||
for (Object[] o :objects) {
|
||||
CountDateVO countDateVO = new CountDateVO();
|
||||
countDateVO.setCount((BigDecimal) o[0]);
|
||||
countDateVO.setTradeDay((String) o[1]);
|
||||
countDateList.add(countDateVO);
|
||||
}
|
||||
//填充日期
|
||||
Map<String, CountDateVO> dataMap = new HashMap<>();
|
||||
for (CountDateVO entry : countDateList) {
|
||||
String tradeDay = entry.getTradeDay();
|
||||
BigDecimal countOrder = entry.getCount();
|
||||
dataMap.put(tradeDay, new CountDateVO(tradeDay, countOrder));
|
||||
}
|
||||
// 获取今天的日期
|
||||
LocalDate today = LocalDate.now();
|
||||
// 定义日期格式
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
// 转换为字符串
|
||||
List<CountDateVO> countDateLists = new ArrayList<>();
|
||||
for (int i = 0; i < 30; i++) {
|
||||
LocalDate tradeDayLocalDate = today.minusDays(i);
|
||||
String tradeDayString = tradeDayLocalDate.format(formatter);
|
||||
CountDateVO countDateVO;
|
||||
// 检查数据Map中是否存在该日期的数据
|
||||
if (dataMap.containsKey(tradeDayString)) {
|
||||
countDateVO = dataMap.get(tradeDayString);
|
||||
} else {
|
||||
// 如果不存在,则创建新的SumDateVO对象,amount设为0
|
||||
countDateVO = new CountDateVO(tradeDayString, BigDecimal.ZERO);
|
||||
}
|
||||
// 将SumDateVO对象添加到列表中
|
||||
countDateLists.add(countDateVO);
|
||||
}
|
||||
summaryVO.setCountDateList(countDateLists);
|
||||
//用户数折线图
|
||||
return summaryVO;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public Map<String,Object> selectSummaryDate(Integer shopId, Integer day) {
|
||||
Date startTime = new Date();
|
||||
|
|
|
|||
|
|
@ -243,9 +243,17 @@ public class TbShopInfoServiceImpl implements TbShopInfoService {
|
|||
TbShopInfo tbShopInfo = tbShopInfoRepository.findById(resources.getId()).orElseGet(TbShopInfo::new);
|
||||
ValidationUtil.isNull( tbShopInfo.getId(),"TbShopInfo","id",resources.getId());
|
||||
tbShopInfo.copy(resources);
|
||||
tbShopInfo.setUpdatedAt(Instant.now().toEpochMilli());
|
||||
tbShopInfoRepository.save(tbShopInfo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateShopId(TbShopInfo resources) {
|
||||
TbShopInfo tbShopInfo = tbShopInfoRepository.findById(resources.getId()).orElseGet(TbShopInfo::new);
|
||||
ValidationUtil.isNull( tbShopInfo.getId(),"TbShopInfo","id",resources.getId());
|
||||
tbShopInfo.copy(resources);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void update(String account) {
|
||||
|
|
|
|||
|
|
@ -70,6 +70,9 @@ public interface TbShopInfoService {
|
|||
*/
|
||||
void update(TbShopInfo resources);
|
||||
|
||||
|
||||
void updateShopId(TbShopInfo resources);
|
||||
|
||||
void update(String account);
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -0,0 +1,23 @@
|
|||
package cn.ysk.cashier.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* @author lyf
|
||||
*/
|
||||
@Data
|
||||
public class CountDateVO {
|
||||
private String tradeDay;
|
||||
private BigDecimal count;
|
||||
|
||||
public CountDateVO(String tradeDay, BigDecimal count) {
|
||||
this.tradeDay = tradeDay;
|
||||
this.count = count;
|
||||
}
|
||||
|
||||
public CountDateVO() {
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -30,5 +30,8 @@ public class SummaryVO {
|
|||
*用户数
|
||||
*/
|
||||
private Long totalUser =0L;
|
||||
|
||||
/**
|
||||
* 支付笔数柱形图
|
||||
*/
|
||||
private List<CountDateVO> countDateList;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue