查询关联统计

This commit is contained in:
wangshuai 2024-07-09 19:41:39 +08:00
parent c920fa5132
commit f7f3da25ac
6 changed files with 45 additions and 28 deletions

View File

@ -28,6 +28,8 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;
import java.util.stream.Collectors;
@ -78,33 +80,32 @@ public class BusStoreInfoController extends BaseController {
}
List<BusStoreInfo> list = busStoreInfoService.selectBusStoreInfoList(busStoreInfo);
List<RespBusStoreInfo> tableList = list.stream()
.map(busStoreInfo1 -> {
RespBusStoreInfo info = new RespBusStoreInfo(busStoreInfo1);
BusStoreDayInfo busStoreDayInfo = new BusStoreDayInfo();
busStoreDayInfo.setStoreId(info.getId());
List<BusStoreDayInfo> ll = busStoreDayInfoService.selectBusStoreDayInfoList(busStoreDayInfo);
int a = ll.get(0).getLastReturnVisitNum();
int b = ll.get(0).getLastOrderNum();
info.setLastOrderNum(ll.get(0).getLastOrderNum());
info.setLastPositiveReviewsNum(ll.get(0).getLastPositiveReviewsNum());
info.setLastFiveStarReviewsNum(ll.get(0).getLastFiveStarReviewsNum());
info.setLastReturnVisitNum(ll.get(0).getLastReturnVisitNum());
info.setTodayReturnVisitNum(ll.get(0).getTodayReturnVisitNum());
info.setScore(ll.get(0).getScore());
if (b != 0 && a != 0) {
java.text.DecimalFormat df = new java.text.DecimalFormat("#.00");
String formattedResult = df.format((double) a / b);
info.setLastReturnVisitRate(formattedResult);
} else {
info.setLastReturnVisitRate("0");
}
BusReturnVisitInfo busReturnVisitInfo = new BusReturnVisitInfo();
busReturnVisitInfo.setStoreCode(busStoreInfo1.getStoreCode());
List<BusReturnVisitInfo> lll = iBusReturnVisitInfoService.selectBusReturnVisitInfoList(busReturnVisitInfo);
info.setTodayReturnVisitNum(lll.size());
return info;
})
.collect(Collectors.toList());
.map(busStoreInfo1 -> {
RespBusStoreInfo info = new RespBusStoreInfo(busStoreInfo1);
BusStoreDayInfo busStoreDayInfo = new BusStoreDayInfo();
busStoreDayInfo.setStoreId(info.getId());
List<BusStoreDayInfo> ll = busStoreDayInfoService.selectBusStoreDayInfoList(busStoreDayInfo);
int b = ll.get(0).getLastOrderNum();
info.setLastOrderNum(ll.get(0).getLastOrderNum());
info.setLastPositiveReviewsNum(ll.get(0).getLastPositiveReviewsNum());
info.setLastFiveStarReviewsNum(ll.get(0).getLastFiveStarReviewsNum());
String date = LocalDateTime.now().minusDays(1).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
List<BusReturnVisitInfo> llll = iBusReturnVisitInfoService.selectBusReturnVisitInfoListByDate(busStoreInfo1.getStoreCode(),date);
info.setLastReturnVisitNum(llll.size());
info.setScore(ll.get(0).getScore());
if (b != 0 && llll.size() != 0) {
java.text.DecimalFormat df = new java.text.DecimalFormat("0.00");
String formattedResult = df.format(((double) llll.size() / b)*100);
info.setLastReturnVisitRate(formattedResult);
} else {
info.setLastReturnVisitRate("0");
}
String today = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
List<BusReturnVisitInfo> lll = iBusReturnVisitInfoService.selectBusReturnVisitInfoListByDate(busStoreInfo1.getStoreCode(),today);
info.setTodayReturnVisitNum(lll.size());
return info;
})
.collect(Collectors.toList());
tableList.forEach(System.out::println);
return getDataTable(tableList);
}

View File

@ -62,4 +62,6 @@ public interface BusReturnVisitInfoMapper
*/
public int deleteBusReturnVisitInfoByIds(Long[] ids);
int batchInsertVisit(@Param("ls") List<BusReturnVisitInfo> ls);
List<BusReturnVisitInfo> selectBusReturnVisitInfoListByDate(@Param("storeCode") String storeCode,@Param("date") String date);
}

View File

@ -58,4 +58,6 @@ public interface IBusReturnVisitInfoService
* @return 结果
*/
public int deleteBusReturnVisitInfoById(Long id);
List<BusReturnVisitInfo> selectBusReturnVisitInfoListByDate(String storeCode, String date);
}

View File

@ -90,4 +90,9 @@ public class BusReturnVisitInfoServiceImpl implements IBusReturnVisitInfoService
{
return busReturnVisitInfoMapper.deleteBusReturnVisitInfoById(id);
}
@Override
public List<BusReturnVisitInfo> selectBusReturnVisitInfoListByDate(String storeCode, String date) {
return busReturnVisitInfoMapper.selectBusReturnVisitInfoListByDate(storeCode,date);
}
}

View File

@ -198,7 +198,7 @@ public class MeituanServiceImpl implements IMeituanService {
*/
@Override
public String orderInfoList() {
LocalDateTime now = LocalDateTime.now().minusDays(1);
LocalDateTime now = LocalDateTime.now();
BusStoreInfo busStoreInfo = new BusStoreInfo();
busStoreInfo.setGrantStatus("1");
List<BusStoreInfo> busStoreInfoList = busStoreInfoMapper.selectBusStoreInfoList(busStoreInfo);

View File

@ -34,6 +34,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectBusReturnVisitInfoVo"/>
where id = #{id}
</select>
<select id="selectBusReturnVisitInfoListByDate" resultType="com.ruoyi.business.domain.BusReturnVisitInfo" parameterType="String">
<include refid="selectBusReturnVisitInfoVo"/>
<where>
<if test="storeCode != null and storeCode != ''"> and store_code = #{storeCode}</if>
<if test="date != null "> and DATE_FORMAT(return_visit_time,'%Y-%m-%d') = #{date}</if>
</where>
</select>
<insert id="batchInsertVisit">
insert into bus_return_visit_info (store_code,store_name,phone_number,phone_end_number,return_visit_time) values