日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

随笔7

發布時間:2025/5/22 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 随笔7 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天在主播后臺中添加客服回復統計的功能,把遇到的問題和過程整理下來:
1.首先,在菜單的數據庫中添加一條"客服回復統計"的菜單數據,并添加到相應的父菜單中;寫一個頁面:

<!DOCTYPE html> <html> <head> <#include "../inc/inc.ftl"/> </head> <body> <div class="easyui-layout" data-options="fit:true,border:false" ><table id="dg"></table> </div> <div id="toolbar" style="padding:5px;height:auto"><form id="queryForm"><div>客服號:<input class="easyui-textbox" name="username" value="0" style="width:120px">時間:<input class="easyui-datetimebox" id="startDate" name="startDate" data-options="width:120">-<input class="easyui-datetimebox" id="endDate" name="endDate" data-options="width:120"><a href="javascript:void(0);" οnclick="javascript:loadData();" class="easyui-linkbutton" iconCls="icon-search">Search</a></div></form> </div> </body> </html> <script type="text/javascript">$(document).ready(function () {$('#startDate').datetimebox('setValue', getFormatDate(1));$('#endDate').datetimebox('setValue',getFormatDate(-1));loadData();});function getFormatDate(dateNum) {var day1 = new Date();day1.setTime(day1.getTime()-24*60*60*1000*dateNum);var s1 = day1.getFullYear()+"-" + (day1.getMonth()+1) + "-" + day1.getDate();return s1;}function loadData() {$("#dg").datagrid({url:'${request.contextPath}/examine/getStatisticsReplay',striped: true,border: false,collapsible:false, //是否可折疊的loadMsg:'正在加載數據...',fit: true, //自動大小singleSelect:true,//是否單選pagination:true,//分頁控件remoteSort: false,pageSize:50,showFooter: true,queryParams: $('#queryForm').serializeJSON(),columns:[[{field:'username',title:'客服號',width:110,halign:'center',},{field:'serviceAccid',title:'客服云信號',width:110,halign:'center',},{field: 'totalTime',title: '總時長',width: 100,halign: 'center',/* formatter: function (value, row, index) {return (value / 60).toFixed(0);}*/},{field:'replayNum',title:'總回復數',width:100,halign:'center',},{field:'aveTime',title:'平均回復時長',width:140,halign:'center'}]],toolbar: '#toolbar'});}</script>

效果是這樣:

欄目數和內容在

columns:

添加或刪除

2.習慣性寫完前端頁面后寫數據庫操作:

在StatisticsReplayRecordMapper中寫selectReplayRecord方法

public interface StatisticsReplayRecordMapper extends BaseMapper<StatisticsReplayRecord> {List<StatisticsReplayRecord> selectReplayRecord(@Param(value = "username") String username,@Param(value = "startDate")String startDate,@Param(value = "endDate")String endDate); }

然后去相應的xml進行配置:

在調試過程中有發現只能得到id和username的數據,是因為映射沒配置好

<resultMap id="BaseResultMap" type="com.yd.anchor.domain.mybatis.model.StatisticsReplayRecord"><result column="create_time" property="createTime" /><result column="modify_time" property="modifyTime" /><result column="service_accid" property="serviceAccid" /><result column="user_accid" property="userAccid" /><result column="interval_time" property="intervalTime" /></resultMap>

在mybatis中,數據庫字段的映射需要自己配置,特別注意resultMap 的id和type.

在寫where里面的內容時,我最初寫的是create_time>#{startDate} and?create_time<>#{endDate},但是出現了報錯,提示的大概意思是數據庫的格式不允許">"這類意思,網上描述的也很模糊,我改成了下面的語句后能正常運行

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.yd.anchor.domain.mybatis.mapper.StatisticsReplayRecordMapper"><resultMap id="BaseResultMap" type="com.yd.anchor.domain.mybatis.model.StatisticsReplayRecord"><result column="create_time" property="createTime" /><result column="modify_time" property="modifyTime" /><result column="service_accid" property="serviceAccid" /><result column="user_accid" property="userAccid" /><result column="interval_time" property="intervalTime" /></resultMap><select id="selectReplayRecord" resultMap="BaseResultMap">select * from statistics_replay_record<where><if test="startDate != null and startDate != '' or endDate != null and endDate != ''">AND create_time between #{startDate} and #{endDate}</if><if test="username!= null and username!=''">and username=#{username}</if></where></select> </mapper>

?

3.controller的代碼省略了,直接到service層:

在寫的過程中發現

StatisticsReplayRecord中的字段和我需要返回前端的數據不同,所以創建了一個新的DTO用來承載這些數據 /*** 客服回復統計* @param username* @param startDate* @param endDate* @return*/public List<StatisticsReplayRecordDTO> getStatisticsReplay(String username, String startDate, String endDate){//根據username,startDate,endDate查詢到數據封裝在list中List<StatisticsReplayRecord> list = statisticsReplayRecordMapper.selectReplayRecord(username,startDate,endDate);StatisticsReplayRecordDTO dto=new StatisticsReplayRecordDTO();List<StatisticsReplayRecordDTO> list1 = new ArrayList<>();//對集合操作前判空if(!CollectionUtils.isEmpty(list)){dto.setTotalTime(0);dto.setUsername(list.get(0).getUsername());dto.setServiceAccid(list.get(0).getServiceAccid());dto.setReplayNum(list.size());//遍歷循環,每循環一次加上相應的時間list.forEach(x->{dto.setTotalTime(x.getIntervalTime()+dto.getTotalTime());});//調用Math.floor去掉小數Double ave = Math.floor(dto.getTotalTime()/dto.getReplayNum());dto.setAveTime(ave);list1.add(dto);}return list1;}

大概的操作都寫了注釋,但是需要注意一個是在對集合操作的時候要判空,另一個是要返回list或者規定的datagrid格式,因為頁面上是用easyui的datagrid接受,剛開始我直接返回dto,一直出現什么length的報錯.



?

轉載于:https://www.cnblogs.com/Lukizzz/p/9544443.html

總結

以上是生活随笔為你收集整理的随笔7的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 极品粉嫩国产18尤物 | 国产绳艺sm调教室论坛 | 中文字幕一区二区三区在线不卡 | 久久97精品久久久久久久不卡 | 国产一区久久 | 日本天堂在线播放 | 国产一级片免费观看 | 色偷偷噜噜噜亚洲男人的天堂 | 亚洲精品66 | 久久亚洲私人国产精品va | 黄色免费在线网址 | 久久九九视频 | 久久综合综合久久 | 五月天校园春色 | 国产一区二区高清 | 嫩模被强到高潮呻吟不断 | 一区二区三区在线看 | 男女激情啪啪 | 国产精品久久久久久久久 | 免费二区 | 欧美日韩国产在线一区 | 成人免费看类便视频 | 在线观看一二三区 | 中文字幕乱码人妻二区三区 | 女人舌吻男人茎视频 | 欧美精品小视频 | 献给魔王伊伏洛基亚吧动漫在线观看 | 91在线观看免费高清完整版在线观看 | 黄色美女视频网站 | 一区二区三区视频在线免费观看 | 91免费高清在线观看 | 国产在线观看免费网站 | www.三区| 女人扒开屁股让男人桶 | 图片区小说区视频区 | 人人妻人人澡人人爽精品日本 | 国产手机看片 | 饥渴的少妇和男按摩师 | 国产强被迫伦姧在线观看无码 | 精品熟女一区二区 | 日韩三级av在线 | 国产精品成人3p一区二区三区 | 99riav国产| 亚洲情人网 | 亚洲视频一二 | 亚洲欧美精品在线观看 | 欧美乱仑 | 国产成人精品一区二区三区在线 | 国产精品第8页 | 夜夜精品视频 | 亚洲av综合色区无码二区爱av | 美女福利在线视频 | 久久伊人国产 | 国产成人精品无码播放 | 国产91视频在线 | 丝袜美腿亚洲综合 | 波多野结衣先锋影音 | 欧美精品1区2区 | 久久久久久av无码免费网站下载 | 自拍偷拍亚洲精品 | 欧美一区二区三区视频在线观看 | 夜久久| 久久在线| 五月婷婷一区 | 国产成人精品午夜福利Av免费 | 日本欧美在线观看 | 久久国产精品综合 | 国产av一区二区三区最新精品 | 在线看亚洲 | 国产成人精品一二三区 | 麻豆综合 | 在线观看黄色国产 | 午夜影院试看 | 久久这里只精品 | yy6080久久| 成人午夜av在线 | 成人黄色在线视频 | 日本在线不卡一区二区 | 鬼灭之刃柱训练篇在线观看 | 国产成人无码精品久久久电影 | 正在播放经典国语对白 | 国产三级在线播放 | 国产欧美自拍 | 国产熟女一区二区丰满 | 日韩欧美片 | 精品视频一区二区三区四区五区 | 巨胸喷奶水www久久久免费动漫 | 一级欧美在线 | 午夜一二区 | 亚洲av成人一区二区国产精品 | 岛国片免费在线观看 | 高跟肉丝丝袜呻吟啪啪网站av | 经典一区二区三区 | 亚洲五月花 | 国产精品免费观看视频 | av片在线播放| 成人中文字幕在线 | 国产探花在线观看 | 亚洲成人精选 |