11 changed files with 168 additions and 16 deletions
-
BINapp.db
-
18src/main/java/com/iflytop/digester/DigesterApplicationRunner.java
-
19src/main/java/com/iflytop/digester/controller/DigestionController.java
-
12src/main/java/com/iflytop/digester/controller/LiquidController.java
-
38src/main/java/com/iflytop/digester/controller/OperationLogController.java
-
21src/main/java/com/iflytop/digester/deviceinstance/LiquidAdditionInstance.java
-
28src/main/java/com/iflytop/digester/model/MdbOperationLog.java
-
3src/main/java/com/iflytop/digester/underframework/controller/UfApiRuntimeVariable.java
-
31src/main/java/com/iflytop/digester/underframework/dao/model/UfMdbOption.java
-
12src/main/java/com/iflytop/digester/underframework/dao/model/UfMdbRuntimeVariable.java
-
2web
@ -0,0 +1,18 @@ |
|||
package com.iflytop.digester; |
|||
import com.iflytop.digester.deviceinstance.Device; |
|||
import jakarta.annotation.Resource; |
|||
import org.springframework.boot.ApplicationArguments; |
|||
import org.springframework.boot.ApplicationRunner; |
|||
import org.springframework.core.annotation.Order; |
|||
import org.springframework.stereotype.Component; |
|||
@Order(2) |
|||
@Component |
|||
public class DigesterApplicationRunner implements ApplicationRunner { |
|||
@Resource |
|||
private Device device; |
|||
|
|||
@Override |
|||
public void run(ApplicationArguments args) throws Exception { |
|||
this.device.liquidAddition.setup(); |
|||
} |
|||
} |
@ -0,0 +1,19 @@ |
|||
package com.iflytop.digester.controller; |
|||
import com.iflytop.digester.model.MdbDigestionSolution; |
|||
import com.iflytop.digester.underframework.controller.UfApiControllerBase; |
|||
import com.iflytop.digester.underframework.controller.UfApiResponse; |
|||
import com.iflytop.digester.underframework.dao.record.UfActiveRecord; |
|||
import org.springframework.stereotype.Controller; |
|||
import org.springframework.web.bind.annotation.PostMapping; |
|||
import org.springframework.web.bind.annotation.RequestBody; |
|||
import org.springframework.web.bind.annotation.ResponseBody; |
|||
import java.util.Map; |
|||
@Controller |
|||
public class DigestionController extends UfApiControllerBase { |
|||
@ResponseBody |
|||
@PostMapping("/api/digestion/list") |
|||
public UfApiResponse list(@RequestBody Map<String,Object> params) { |
|||
var items = UfActiveRecord.find(MdbDigestionSolution.class); |
|||
return this.success(items); |
|||
} |
|||
} |
@ -0,0 +1,38 @@ |
|||
package com.iflytop.digester.controller; |
|||
import com.iflytop.digester.model.MdbOperationLog; |
|||
import com.iflytop.digester.underframework.controller.UfApiControllerBase; |
|||
import com.iflytop.digester.underframework.controller.UfApiResponse; |
|||
import com.iflytop.digester.underframework.dao.model.UfMdbUser; |
|||
import com.iflytop.digester.underframework.dao.record.UfActiveRecord; |
|||
import com.iflytop.digester.underframework.dao.record.UfActiveRecordCriteria; |
|||
import org.springframework.stereotype.Controller; |
|||
import org.springframework.web.bind.annotation.PostMapping; |
|||
import org.springframework.web.bind.annotation.RequestBody; |
|||
import org.springframework.web.bind.annotation.ResponseBody; |
|||
import java.util.ArrayList; |
|||
import java.util.Map; |
|||
@Controller |
|||
public class OperationLogController extends UfApiControllerBase { |
|||
@ResponseBody |
|||
@PostMapping("/api/operation-log/list") |
|||
public UfApiResponse list(@RequestBody Map<String,Object> params) { |
|||
var criteria = new UfActiveRecordCriteria(); |
|||
criteria.limit = 10; |
|||
criteria.offset = (Integer)params.getOrDefault("offset", 0); |
|||
var logs = UfActiveRecord.find(MdbOperationLog.class, criteria); |
|||
|
|||
var list = new ArrayList<Map<String,Object>>(); |
|||
for ( var log : logs ) { |
|||
var map = log.toMap(); |
|||
map.put("user", null); |
|||
var user = UfActiveRecord.findOne(UfMdbUser.class, log.userId); |
|||
if ( null != user ) { |
|||
map.put("user", user.toMap()); |
|||
} |
|||
list.add(map); |
|||
} |
|||
|
|||
var total = UfActiveRecord.count(MdbOperationLog.class, criteria); |
|||
return this.success(Map.of("list",list, "total", total)); |
|||
} |
|||
} |
@ -0,0 +1,28 @@ |
|||
package com.iflytop.digester.model; |
|||
import com.iflytop.digester.underframework.dao.model.UfMdbUser; |
|||
import com.iflytop.digester.underframework.dao.record.UfActiveRecord; |
|||
import com.iflytop.digester.underframework.dao.record.UfActiveRecordField; |
|||
public class MdbOperationLog extends UfActiveRecord { |
|||
@UfActiveRecordField |
|||
public String userId; |
|||
|
|||
@UfActiveRecordField |
|||
public String content; |
|||
|
|||
@UfActiveRecordField |
|||
public Integer time; |
|||
|
|||
// get table name |
|||
public static String getTableName() { |
|||
return "app_operation_logs"; |
|||
} |
|||
|
|||
// log |
|||
public static void log(UfMdbUser user, String content, Object ... args ) { |
|||
var log = new MdbOperationLog(); |
|||
log.userId = user.id; |
|||
log.content = String.format(content, args); |
|||
log.time = (int)(System.currentTimeMillis() / 1000); |
|||
log.save(); |
|||
} |
|||
} |
@ -0,0 +1,31 @@ |
|||
package com.iflytop.digester.underframework.dao.model; |
|||
import com.iflytop.digester.underframework.dao.record.UfActiveRecord; |
|||
import com.iflytop.digester.underframework.dao.record.UfActiveRecordField; |
|||
import java.util.Map; |
|||
public class UfMdbOption extends UfActiveRecord { |
|||
@UfActiveRecordField |
|||
public String key; |
|||
|
|||
@UfActiveRecordField |
|||
public String value; |
|||
|
|||
// get table name |
|||
public static String getTableName() { |
|||
return "app_options"; |
|||
} |
|||
|
|||
// get option |
|||
public static String getString(String key, String defaultValue ) { |
|||
var option = UfActiveRecord.findOne(UfMdbOption.class, Map.of("key", key)); |
|||
if ( null == option ) { |
|||
return defaultValue; |
|||
} |
|||
return option.value; |
|||
} |
|||
|
|||
// get option |
|||
public static Integer getInteger(String key, Integer defaultValue ) { |
|||
var option = UfMdbOption.getString(key, defaultValue.toString()); |
|||
return Integer.parseInt(option); |
|||
} |
|||
} |
@ -1 +1 @@ |
|||
Subproject commit 7f4d0b8bfe683b41e75233368ed1ec1e98c8c350 |
|||
Subproject commit 568b1f82efb64410bbc4a54f923a5f5f2c0f8d5d |
Write
Preview
Loading…
Cancel
Save
Reference in new issue