弄餐检测功能上传
This commit is contained in:
parent
45ab22e797
commit
b8cdc9d125
|
|
@ -0,0 +1,58 @@
|
|||
package com.bonus.canteen.core.device.controller;
|
||||
|
||||
import com.bonus.canteen.core.device.domain.SampleDetail;
|
||||
import com.bonus.canteen.core.device.domain.UploadModel;
|
||||
import com.bonus.canteen.core.device.service.IDeviceInfoService;
|
||||
import com.bonus.common.core.web.controller.BaseController;
|
||||
import com.bonus.common.core.web.page.TableDataInfo;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @author 10752
|
||||
*/
|
||||
@Api(tags = "食品安全检测接口")
|
||||
@RestController
|
||||
@RequestMapping("/detection")
|
||||
public class DeviceDetectionController extends BaseController {
|
||||
|
||||
@Resource
|
||||
private IDeviceInfoService deviceInfoService;
|
||||
|
||||
private final ObjectMapper objectMapper = new ObjectMapper();
|
||||
@PostMapping("/uploadData")
|
||||
public String uploadData(@RequestParam("modelJson") String modelJson) {
|
||||
try {
|
||||
// 将字符串反序列化为对象
|
||||
UploadModel model = objectMapper.readValue(modelJson, UploadModel.class);
|
||||
// 保存 details
|
||||
deviceInfoService.saveDetails(model.getDetails());
|
||||
// TODO: 保存数据库 或 业务处理
|
||||
System.out.println("接收到的数据:" + model.getUsername() + " - " + model.getDwmc());
|
||||
|
||||
if (model.getDetails() != null) {
|
||||
model.getDetails().forEach(d -> {
|
||||
System.out.println("样品:" + d.getYangpinmingcheng() + " -> 检测结果:" + d.getJiancejieguo());
|
||||
});
|
||||
}
|
||||
|
||||
return "{\"code\":200, \"msg\":\"上传成功\"}";
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return "{\"code\":500, \"msg\":\"数据解析失败\"}";
|
||||
}
|
||||
}
|
||||
// 根据条件查询
|
||||
@GetMapping("/listByCondition")
|
||||
public TableDataInfo listByCondition(SampleDetail sampleDetail) {
|
||||
startPage();
|
||||
List<SampleDetail> detailsByCondition = deviceInfoService.getDetailsByCondition(sampleDetail);
|
||||
return getDataTable(detailsByCondition);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
package com.bonus.canteen.core.device.domain;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class SampleDetail {
|
||||
|
||||
private String yangpinmingcheng;
|
||||
private String jiancejieguo;
|
||||
private String jiancejieguoCode;
|
||||
private String jianceleixingCode;
|
||||
private String lianxidianhua;
|
||||
private String jianceren;
|
||||
private String jiancezhi;
|
||||
private String jiancedidian;
|
||||
private String jiancexiangmu;
|
||||
private String yangpinbianhao;
|
||||
private String jianceriqi;
|
||||
private String shanghumingcheng;
|
||||
}
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
package com.bonus.canteen.core.device.domain;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class UploadModel {
|
||||
private String yqbh;
|
||||
private String password;
|
||||
private String dwmc;
|
||||
private String username;
|
||||
private List<SampleDetail> details;
|
||||
}
|
||||
|
|
@ -2,6 +2,7 @@ package com.bonus.canteen.core.device.mapper;
|
|||
|
||||
import java.util.List;
|
||||
import com.bonus.canteen.core.device.domain.DeviceInfo;
|
||||
import com.bonus.canteen.core.device.domain.SampleDetail;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
|
|
@ -146,4 +147,8 @@ public interface DeviceInfoMapper {
|
|||
int updateTimeBySn(String sn);
|
||||
|
||||
int updateTimeByKitchenSn(String sn);
|
||||
|
||||
void saveDetails(List<SampleDetail> details);
|
||||
|
||||
List<SampleDetail> getDetailsByCondition(SampleDetail sampleDetail);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.bonus.canteen.core.device.service;
|
|||
|
||||
import java.util.List;
|
||||
import com.bonus.canteen.core.device.domain.DeviceInfo;
|
||||
import com.bonus.canteen.core.device.domain.SampleDetail;
|
||||
|
||||
/**
|
||||
* 设备资料Service接口
|
||||
|
|
@ -65,4 +66,8 @@ public interface IDeviceInfoService {
|
|||
void updateTimeBySn(String deviceSn);
|
||||
|
||||
void updateTimeByKitchenSn(String deviceSn);
|
||||
|
||||
void saveDetails(List<SampleDetail> details);
|
||||
|
||||
List<SampleDetail> getDetailsByCondition(SampleDetail sampleDetail);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
package com.bonus.canteen.core.device.service.impl;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import com.bonus.canteen.core.device.domain.SampleDetail;
|
||||
import com.bonus.common.core.exception.ServiceException;
|
||||
import com.bonus.common.core.utils.DateUtils;
|
||||
import com.bonus.common.core.utils.StringUtils;
|
||||
|
|
@ -183,4 +186,14 @@ public class DeviceInfoServiceImpl implements IDeviceInfoService {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void saveDetails(List<SampleDetail> details) {
|
||||
deviceInfoMapper.saveDetails(details);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SampleDetail> getDetailsByCondition(SampleDetail sampleDetail) {
|
||||
return deviceInfoMapper.getDetailsByCondition(sampleDetail);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,9 +35,9 @@ public class ZhhqCookRecipeController extends BaseController {
|
|||
@ApiOperation("获取一周菜谱详情")
|
||||
@PostMapping({"/getWeekRecipe"})
|
||||
public AjaxResult getWeekRecipeDetailList(@RequestHeader Map<String, String> requestHeader, @RequestBody @Valid WeekRecipeDTO dto) {
|
||||
/* if (!(GlobalConstants.JYY + getCurrentDateStr()).equals(Sm4Utils.decrypt(HeaderFetchUtil.getSign(requestHeader)))) {
|
||||
if (!(GlobalConstants.JYY + getCurrentDateStr()).equals(Sm4Utils.decrypt(HeaderFetchUtil.getSign(requestHeader)))) {
|
||||
throw new ServiceException("访问缺少认证信息");
|
||||
}*/
|
||||
}
|
||||
try {
|
||||
return AjaxResult.success(this.zhhqCookRecipeService.getWeekRecipeDetailList(dto));
|
||||
} catch (Exception e) {
|
||||
|
|
|
|||
|
|
@ -115,6 +115,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
select recipe_id from cook_recipe_bind_device where stall_id = #{stallId} and recipe_id is not null
|
||||
limit 1
|
||||
</select>
|
||||
<select id="getDetailsByCondition" resultType="com.bonus.canteen.core.device.domain.SampleDetail">
|
||||
SELECT *
|
||||
FROM kitchen_device_detection
|
||||
WHERE 1=1
|
||||
<if test="yangpinmingcheng != null and yangpinmingcheng != ''">
|
||||
AND yangpinmingcheng LIKE CONCAT('%', #{yangpinmingcheng}, '%')
|
||||
</if>
|
||||
<if test="jiancejieguo != null and jiancejieguo != ''">
|
||||
AND jiancejieguo = #{jiancejieguo}
|
||||
</if>
|
||||
ORDER BY jianceriqi DESC
|
||||
</select>
|
||||
|
||||
<insert id="insertDeviceInfo" parameterType="com.bonus.canteen.core.device.domain.DeviceInfo" useGeneratedKeys="true" keyProperty="deviceId">
|
||||
insert into device_info
|
||||
|
|
@ -217,6 +229,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
values (#{deviceId}, #{canteenId}, #{stallId},#{recipeId},
|
||||
#{createBy}, #{createTime})
|
||||
</insert>
|
||||
<insert id="saveDetails" parameterType="java.util.List">
|
||||
INSERT INTO kitchen_device_detection (
|
||||
yangpinbianhao, yangpinmingcheng, shanghumingcheng,
|
||||
jianceleixing_code, jiancexiangmu, jiancezhi,
|
||||
jiancejieguo, jiancejieguo_code, jianceren,
|
||||
lianxidianhua, jiancedidian, jianceriqi
|
||||
)
|
||||
VALUES
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
(
|
||||
#{item.yangpinbianhao}, #{item.yangpinmingcheng}, #{item.shanghumingcheng},
|
||||
#{item.jianceleixingCode}, #{item.jiancexiangmu}, #{item.jiancezhi},
|
||||
#{item.jiancejieguo}, #{item.jiancejieguoCode}, #{item.jianceren},
|
||||
#{item.lianxidianhua}, #{item.jiancedidian}, #{item.jianceriqi}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<update id="updateDeviceInfo" parameterType="com.bonus.canteen.core.device.domain.DeviceInfo">
|
||||
update device_info
|
||||
|
|
|
|||
Loading…
Reference in New Issue