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