package com.example.groupproject.service.impl;
import com.example.groupproject.dao.OrderDao;
import com.example.groupproject.dao.StatisticDao;
import com.example.groupproject.entity.Order;
import com.example.groupproject.service.StatisticService;
import com.example.groupproject.utils.Statistic;
import com.example.groupproject.utils.Turnover;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
/**
* @author: 张振彬
* @create: 2022-06-21
* @version: 1.0
*/
@Service
@Transactional
public class StatisticServiceImpl implements StatisticService {
@Autowired
private StatisticDao statisticDao;
@Autowired
private OrderDao orderDao;
@Override
public Integer queryByPrice(Double minPrice, Double maxPrice) {
return this.statisticDao.queryByPrice(minPrice, maxPrice);
}
@Override
public Integer queryCount() {
return this.statisticDao.queryCount();
}
@Override
public List houseStatistic() {
//按价格区间索引
Integer total = this.statisticDao.queryCount();
// System.out.println("----------" + total);
// System.out.println("----------" + (double) 1 / 9);
List<Statistic> list = new ArrayList<>(Arrays.asList(new Statistic[6]));
Double minPrice = 0.00;
Double maxPrice = 50.00;
//DecimalFormat df = new DecimalFormat(".00");//设置保留位数
for (int i = 0; i < 6; i++) {
Statistic statistic = new Statistic();
statistic.setValue(this.statisticDao.queryByPrice(minPrice, maxPrice));
statistic.setName(minPrice + "-" + maxPrice + "万");
list.set(i, statistic);
minPrice = maxPrice;
maxPrice += 50.00;
if (maxPrice > 300.00 && maxPrice < 100000000.00) {
break;
}
}
System.out.println(list);
return list;
}
@Override
public Integer querySeller() {
return this.statisticDao.querySeller();
}
@Override
public Integer queryBuyer() {
return this.statisticDao.queryBuyer();
}
@Override
public Integer queryClientCount() {
return this.statisticDao.queryClientCount();
}
@Override
public List clientStatistic() {
//统计系统客源数目
Integer total = this.statisticDao.queryClientCount();
//卖家总数
Integer seller = this.statisticDao.querySeller();
//买家总数
Integer buyer = this.statisticDao.queryBuyer();
//游客总数
// NumberFormat numberFormat = NumberFormat.getNumberInstance();
// numberFormat.setMaximumFractionDigits(2);
List<Statistic> list = new ArrayList<>(Arrays.asList(new Statistic[3]));
Statistic statistic1 = new Statistic();
statistic1.setValue(seller);
statistic1.setName("卖房人数");
Statistic statistic2 = new Statistic();
statistic2.setValue(buyer);
statistic2.setName("买房人数");
Statistic statistic3 = new Statistic();
statistic3.setValue(total *2 - (seller + buyer));
statistic3.setName("游客数量");
list.set(0, statistic1);
list.set(1, statistic2);
list.set(2, statistic3);
return list;
}
@Override
public Integer queryOrderCount(Date startTime, Date endTime) {
return this.statisticDao.queryOrderCount(startTime, endTime);
}
@Override
public Integer queryDoneOrder() {
return this.statisticDao.queryDoneOrder();
}
@Override
public List turnoverStatistic(Integer quarter) {
Date startTime = null;
Date endTime = null;
Double turnover = 0.00;
SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd");
//判断季度
if (quarter == 1) {
try {
startTime = ft.parse("2022-01-01");
endTime = ft.parse("2022-04-01");
} catch (ParseException e) {
e.printStackTrace();
}
} else if (quarter == 2) {
try {
startTime = ft.parse("2022-04-01");
endTime = ft.parse("2022-07-01");
} catch (ParseException e) {
e.printStackTrace();
}
} else if (quarter == 3) {
try {
startTime = ft.parse("2022-07-01");
endTime = ft.parse("2022-10-01");
} catch (ParseException e) {
e.printStackTrace();
}
} else if (quarter == 4) {
try {
startTime = ft.parse("2022-10-01");
endTime = ft.parse("2022-12-31");
} catch (ParseException e) {
e.printStackTrace();
}
}
//达成的订单总数
Integer total = this.statisticDao.queryOrderCount(startTime, endTime);
List<Order> list = this.statisticDao.queryBySeason(startTime, endTime);
//统计本季度营业额订单中抽取3个点的中介费
for (Order order : list) {
System.out.println(order.getSalePrice() * 0.03);
turnover += order.getSalePrice() * (0.03);
}
//小数点后三位
NumberFormat numberFormat = NumberFormat.getNumberInstance();
numberFormat.setMaximumFractionDigits(3);
List<String> res = new ArrayList<>(Arrays.asList(new String[2]));
//达成订单总数
res.set(0, numberFormat.format(total));
//本季度营业额
res.set(1, numberFormat.format(turnover));
System.out.println(res);
return res;
}
@Override
public Turnover lineChartDate() {
Date startTime = null;
Date endTime = null;
Double turnover = 0.00;
SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd");
//小数点后2位
NumberFormat numberFormat = NumberFormat.getNumberInstance();
numberFormat.setMaximumFractionDigits(3);
List<String> res1 = new ArrayList<>(Arrays.asList(new String[4]));
List<String> res2 = new ArrayList<>(Arrays.asList(new String[4]));
//判断季度
for(int quarter = 0;quarter<4;quarter++) {
if (quarter == 0) {
try {
startTime = ft.parse("2022-01-01");
endTime = ft.parse("2022-04-01");
} catch (ParseException e) {
e.printStackTrace();
}
} else if (quarter == 1) {
try {
startTime = ft.parse("2022-04-01");
endTime = ft.parse("2022-07-01");
} catch (ParseException e) {
e.printStackTrace();
}
} else if (quarter == 2) {
try {
startTime = ft.parse("2022-07-01");
endTime = ft.parse("2022-10-01");
} catch (ParseException e) {
e.printStackTrace();
}
} else if (quarter == 3) {
try {
startTime = ft.parse("2022-10-01");
endTime = ft.parse("2022-12-31");
} catch (ParseException e) {
e.printStackTrace();
}
}
//达成的订单总数
Integer total = this.statisticDao.queryOrderCount(startTime, endTime);
List<Order> list = this.statisticDao.queryBySeason(startTime, endTime);
//统计本季度营业额订单中抽取3个点的中介费
for (O
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
基于SSM的房产中介管理系统.zip (73个子文件)
Graduation Design
mvnw.cmd 7KB
pom.xml 3KB
src
test
java
com
example
groupproject
SpringbootApplicationTests.java 2KB
main
resources
mapper
StatisticMapper.xml 2KB
HouseMapper.xml 9KB
EmpMapper.xml 3KB
AchievementMapper.xml 239B
OrderMapper.xml 3KB
AdminMapper.xml 875B
ClientMapper.xml 3KB
ImgMapper.xml 2KB
log4j.properties 2KB
static
js
jquery-3.6.0.min.js 87KB
application.yml 669B
java
com
example
groupproject
SpringbootApplication.java 445B
handler
RestExceptionHandler.java 3KB
ReturnFormat.java 987B
RestJson.java 1KB
controller
ImgController.java 2KB
EmpController.java 4KB
AdminController.java 1KB
OrderController.java 5KB
HouseController.java 8KB
StatisticsController.java 3KB
AchievementController.java 2KB
ClientController.java 5KB
utils
Achievement.java 1KB
Result.java 1KB
Statistic.java 674B
PageBeans.java 2KB
Turnover.java 701B
ResultCodeEnum.java 891B
dao
HouseDao.java 1KB
ImgDao.java 656B
ClientDao.java 574B
StatisticDao.java 640B
AdminDao.java 451B
impl
EmpDaoImpl.java 1KB
OrderDaoImpl.java 1KB
HouseDaoImpl.java 2KB
AdminDaoImpl.java 1018B
ClientDaoImpl.java 1KB
EmpDao.java 954B
OrderDao.java 819B
service
AchievementService.java 470B
OrderService.java 554B
AdminService.java 473B
ClientService.java 839B
StatisticService.java 805B
ImgService.java 240B
impl
ClientServiceImpl.java 5KB
HouseServiceImpl.java 7KB
EmpServiceImpl.java 4KB
StatisticServiceImpl.java 9KB
ImgServiceImpl.java 952B
AdminServiceImpl.java 1KB
OrderServiceImpl.java 3KB
AchievementImpl.java 6KB
EmpService.java 690B
HouseService.java 988B
entity
Client.java 1KB
Emp.java 2KB
Admin.java 1KB
House.java 4KB
Order.java 2KB
Img.java 1KB
config
Swagger.java 2KB
Hello.java 484B
CorsFilter.java 2KB
.mvn
wrapper
maven-wrapper.properties 233B
maven-wrapper.jar 57KB
mvnw 10KB
.gitignore 395B
共 73 条
- 1
资源评论
学术菜鸟小晨
- 粉丝: 1w+
- 资源: 4928
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功