Skip to content

Commit d2e5408

Browse files
author
javaage
committed
add record
1 parent 849e867 commit d2e5408

42 files changed

Lines changed: 2679 additions & 938 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

helloworld-springboot/src/main/UI/src/js/common/app.environments.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,12 @@
3838
getRoleList: '/api/role/list',
3939
deleteRole: '/api/role/{0}',
4040
addRole: '/api/role',
41-
updateRole: '/api/role'
41+
updateRole: '/api/role',
42+
getRecord: '/api/record/{0}',
43+
getRecordList: '/api/record/list',
44+
deleteRecord: '/api/record/{0}',
45+
addRecord: '/api/record',
46+
updateRecord: '/api/record'
4247
};
4348
function _joinUrl(domain, path) {
4449
return domain.replace(/(^http.*?)\/{0,}$/, '$1/') + path.replace(/^\/{0,}(.*)/, '$1');

helloworld-springboot/src/main/UI/src/js/common/app.services.js

Lines changed: 57 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ angular
117117
});
118118

119119
return deferred.promise;
120-
}
120+
};
121121

122122
this.getRoleList = function(){
123123
var deferred = $q.defer();
@@ -172,5 +172,60 @@ angular
172172
});
173173

174174
return deferred.promise;
175-
}
175+
};
176+
177+
this.getRecordList = function(){
178+
var deferred = $q.defer();
179+
$http.get(url.getRecordList,{})
180+
.success(function(data){
181+
console.log(data);
182+
if (data.code == 1) {
183+
deferred.resolve(data);
184+
} else {
185+
deferred.reject(data);
186+
}
187+
})
188+
.error(function(error){
189+
deferred.reject(error);
190+
});
191+
192+
return deferred.promise;
193+
};
194+
195+
this.addRecord = function(record){
196+
var deferred = $q.defer();
197+
$http.post(url.addRecord,record)
198+
.success(function(data){
199+
console.log(data);
200+
if (data.code == 1) {
201+
deferred.resolve(data);
202+
} else {
203+
deferred.reject(data);
204+
}
205+
})
206+
.error(function(error){
207+
deferred.reject(error);
208+
});
209+
210+
return deferred.promise;
211+
};
212+
213+
this.updateRecord = function(record){
214+
var deferred = $q.defer();
215+
var urlQuery = this.urlFormat(url.updateRecord,record.name);
216+
$http.put(urlQuery,record)
217+
.success(function(data){
218+
console.log(data);
219+
if (data.code == 1) {
220+
deferred.resolve(data);
221+
} else {
222+
deferred.reject(data);
223+
}
224+
})
225+
.error(function(error){
226+
deferred.reject(error);
227+
});
228+
229+
return deferred.promise;
230+
};
176231
}]);
Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
/**
2+
* Alerts Controller
3+
*/
4+
5+
angular
6+
.module('RDash')
7+
.controller('RecordCtrl', ['$rootScope', '$scope','$log','$uibModal','app.services','NgTableParams', RecordCtrl])
8+
.controller('OperateRecordCtrl', ['$scope','$log','$uibModalInstance','app.services', OperateRecordCtrl]);
9+
function RecordCtrl($rootScope, $scope, $log,$uibModal, services,NgTableParams) {
10+
$scope.records = [];
11+
12+
$scope.getRecordList = function(){
13+
services.getRecordList().then(function(result) {
14+
if (result.code == 1) {
15+
$scope.records = result.data;
16+
$scope.tableParams = new NgTableParams(
17+
{
18+
page: 1, // show first page
19+
count: 10, // count per page
20+
sorting: { active:'desc', recordName: 'asc'}
21+
},
22+
{
23+
total: 0, // length of data
24+
dataset: result.data
25+
});
26+
}
27+
}, function (error) {
28+
console.log(error);
29+
});
30+
}
31+
32+
$scope.addRecordModal = function(){
33+
//var scope = $rootScope.$new();
34+
$scope.record = {};
35+
$scope.isModify = false;
36+
var modalInstance = $uibModal.open({
37+
scope: $scope,
38+
animation: true,
39+
templateUrl: 'recordModal.html',
40+
controller: 'OperateRecordCtrl',
41+
});
42+
};
43+
44+
$scope.inactiveRecord = function(record){
45+
record.active = false;
46+
services.updateRecord(record).then(function(result) {
47+
if (result.code == 1) {
48+
//alert("success");
49+
}
50+
}, function (error) {
51+
console.log(error);
52+
});
53+
};
54+
55+
$scope.activeRecord = function(record){
56+
record.active = true;
57+
services.updateRecord(record).then(function(result) {
58+
if (result.code == 1) {
59+
//alert("success");
60+
}
61+
}, function (error) {
62+
console.log(error);
63+
});
64+
};
65+
66+
$scope.updateRecordModal = function(record){
67+
//var scope = $rootScope.$new();
68+
$scope.record =record;
69+
$scope.isModify = true;
70+
var modalInstance = $uibModal.open({
71+
scope: $scope,
72+
animation: true,
73+
templateUrl: 'recordModal.html',
74+
controller: 'OperateRecordCtrl',
75+
});
76+
};
77+
78+
$scope.updateRecord = function(record){
79+
services.updateRecord(record).then(function(result) {
80+
if (result.code == 1) {
81+
alert("success");
82+
}
83+
}, function (error) {
84+
console.log(error);
85+
});
86+
};
87+
88+
$scope.getRecordList();
89+
}
90+
91+
function OperateRecordCtrl($scope, $log,$uibModalInstance, services) {
92+
93+
94+
$scope.closeRecordModal = function(){
95+
$uibModalInstance.dismiss();
96+
};
97+
98+
99+
100+
$scope.submitRecordData = function(){
101+
if($scope.isModify){
102+
services.updateRecord($scope.record).then(function(result) {
103+
if (result.code == 1) {
104+
$scope.closeRecordModal();
105+
}
106+
}, function (error) {
107+
console.log(error);
108+
});
109+
}else{
110+
services.addRecord($scope.record).then(function(result) {
111+
if (result.code == 1) {
112+
$scope.getRecordList();
113+
$scope.closeRecordModal();
114+
}
115+
}, function (error) {
116+
console.log(error);
117+
});
118+
}
119+
};
120+
121+
}

helloworld-springboot/src/main/UI/src/js/routes.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@ angular.module('RDash').config(['$stateProvider', '$urlRouterProvider',
3030
url: '/sample',
3131
templateUrl: 'templates/sample.html',
3232
controller: 'SampleCtrl'
33+
})
34+
.state('record', {
35+
url: '/record',
36+
templateUrl: 'templates/record.html',
37+
controller: 'RecordCtrl'
3338
})
3439
// .state('index', {
3540
// url: '/',
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
<div class="row" data-ng-controller="RecordCtrl">
2+
<div class="col-lg-12">
3+
<rd-widget>
4+
<rd-widget-header icon="fa-television" title="Record">
5+
6+
</rd-widget-header>
7+
<input class="btn btn-default" type="button" ng-click="addRecordModal()" value="Add Record">
8+
<rd-widget-body classes="medium no-padding">
9+
<div class="table-responsive">
10+
<table ng-table="tableParams" class="table table-condensed table-bordered table-striped" show-filter="false">
11+
<tr ng-repeat="item in $data" ng-class="{'inactive':!item.active}">
12+
<td title="'Request'" sortable="'request'" class="text-center">{{item.request}}</td>
13+
<td title="'Response'" sortable="'response'" class="text-center">{{item.response}}</td>
14+
<td title="'Time'" sortable="'time'" class="text-center">{{item.time | date:'MM-dd hh:mm:ss'}}</td>
15+
<td title="'Operation'" class="text-center" >
16+
<span ng-if="!item.active" style="width: 80px;margin-left: 10px; margin-right: 10px;">Update</span>
17+
<a ng-click="updateRecordModal(item)" ng-if="item.active" style="width: 80px;margin-left: 10px; margin-right: 10px;">Update</a>
18+
<a ng-click="inactiveRecord(item)" ng-if="item.active" style="width: 80px;">Inactive</a>
19+
<a ng-click="activeRecord(item)" ng-if="!item.active" style="width: 80px;">&nbsp;Active&nbsp;</a>
20+
</td>
21+
</tr>
22+
</table>
23+
</div>
24+
</rd-widget-body>
25+
<rd-widget>
26+
</div>
27+
<script type="text/ng-template" id="recordModal.html" />
28+
<div class="modal-header">
29+
<h3 ng-if="!isModify">Add Record</h3>
30+
<h3 ng-if="isModify">Update Record</h3>
31+
</div>
32+
<div class="modal-body">
33+
<form class="form-horizontal" name="recordForm" novalidate>
34+
35+
<div class="form-group">
36+
<label for="inputRecord" class="col-sm-4 control-label">Record*</label>
37+
<div class="col-sm-8">
38+
<input type="text" ng-model="record.recordName" class="form-control" id="inputRecord" placeholder="Record" required>
39+
</div>
40+
</div>
41+
42+
<div class="form-group">
43+
<label for="inputBU" class="col-sm-4 control-label">BU*</label>
44+
<div class="col-sm-8">
45+
<input type="text" ng-model="record.bu" class="form-control" id="inputBU" placeholder="BU" required>
46+
</div>
47+
</div>
48+
49+
<div class="form-group">
50+
<label for="inputJobTitle" class="col-sm-4 control-label">Job Title</label>
51+
<div class="col-sm-8">
52+
<input type="text" ng-model="record.title" class="form-control" id="inputJobTitle" placeholder="Job Title">
53+
</div>
54+
</div>
55+
<div class="form-group">
56+
<label for="inputGrade" class="col-sm-4 control-label">Grade</label>
57+
<div class="col-sm-8">
58+
<input type="text" ng-model="record.grade" class="form-control" id="inputGrade" placeholder="Grade">
59+
</div>
60+
</div>
61+
</form>
62+
</div>
63+
<div class="modal-footer">
64+
<button type="submit" class="btn btn-default" ng-click="submitRecordData()">Submit</button>
65+
<button type="cancel" class="btn btn-default" ng-click="closeRecordModal()">Cancel</button>
66+
</div>
67+
</script>
68+
</div>

helloworld-springboot/src/main/java/com/cisco/la/controller/HookController.java

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package com.cisco.la.controller;
1818

19+
import java.util.Date;
1920
import java.util.HashMap;
2021
import java.util.Map;
2122

@@ -29,7 +30,10 @@
2930
import org.springframework.web.bind.annotation.RestController;
3031

3132
import com.cisco.la.Application;
32-
import com.cisco.la.service.UserService;
33+
import com.cisco.la.model.RecordModel;
34+
import com.cisco.la.service.RecordService;
35+
import com.google.gson.Gson;
36+
import com.google.gson.JsonObject;
3337

3438
import ai.api.AIConfiguration;
3539
import ai.api.AIDataService;
@@ -41,13 +45,20 @@
4145
@RequestMapping(value="/api/hook")
4246
public class HookController {
4347
@Autowired
44-
private UserService userService;
48+
private RecordService recordService;
4549

4650
@RequestMapping( method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
4751
public Object postResponse(@RequestBody String json) {
4852
Map<String, Object> code = new HashMap<String, Object>();
4953
code.put("speech", "post welcome hook speech!");
5054
code.put("displayText", "post welcome hook displayText!");
55+
56+
RecordModel recordModel = new RecordModel();
57+
recordModel.setRequest(json);
58+
Gson gson = new Gson();
59+
recordModel.setResponse(gson.toJson(code));
60+
recordModel.setTime(new Date());
61+
recordService.addRecord(recordModel);
5162
return code;
5263
}
5364

@@ -84,6 +95,14 @@ public Object aiResponse(@PathVariable("input") String input) {
8495
code.put("input", input);
8596
code.put("speech", speech);
8697
code.put("displayText", speech);
98+
99+
RecordModel recordModel = new RecordModel();
100+
recordModel.setRequest(input);
101+
Gson gson = new Gson();
102+
recordModel.setResponse(gson.toJson(code));
103+
recordModel.setTime(new Date());
104+
recordService.addRecord(recordModel);
105+
87106
return code;
88107
}
89108
}

0 commit comments

Comments
 (0)