|
@@ -0,0 +1,149 @@
|
|
|
+package com.szwl.controller;
|
|
|
+
|
|
|
+
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.google.gson.Gson;
|
|
|
+import com.qiniu.http.Response;
|
|
|
+import com.qiniu.storage.BucketManager;
|
|
|
+import com.qiniu.storage.Configuration;
|
|
|
+import com.qiniu.storage.Region;
|
|
|
+import com.qiniu.storage.UploadManager;
|
|
|
+import com.qiniu.storage.model.DefaultPutRet;
|
|
|
+import com.qiniu.util.Auth;
|
|
|
+import com.szwl.constant.ConfigConsts;
|
|
|
+import com.szwl.constant.ResponseCodesEnum;
|
|
|
+import com.szwl.model.bo.R;
|
|
|
+import com.szwl.model.bo.ResponseModel;
|
|
|
+import com.szwl.model.entity.MaintenanceRecord;
|
|
|
+import com.szwl.model.entity.ReturnCoinRecord;
|
|
|
+import com.szwl.model.entity.TAdmin;
|
|
|
+import com.szwl.model.param.MaintenanceRecordParm;
|
|
|
+import com.szwl.model.param.ReturnCoinParam;
|
|
|
+import com.szwl.service.MaintenanceRecordService;
|
|
|
+import com.szwl.service.TAdminService;
|
|
|
+import com.szwl.util.IDGenerator;
|
|
|
+import io.swagger.annotations.ApiOperation;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.apache.commons.lang.StringUtils;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.web.bind.annotation.PostMapping;
|
|
|
+import org.springframework.web.bind.annotation.RequestBody;
|
|
|
+import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
+import org.springframework.web.bind.annotation.RestController;
|
|
|
+import org.springframework.web.multipart.MultipartFile;
|
|
|
+
|
|
|
+import javax.servlet.ServletInputStream;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+/**
|
|
|
+ * <p>
|
|
|
+ * 维护记录表 前端控制器
|
|
|
+ * </p>
|
|
|
+ *
|
|
|
+ * @author wuhs
|
|
|
+ * @since 2025-05-23
|
|
|
+ */
|
|
|
+@Slf4j
|
|
|
+@RestController
|
|
|
+@RequestMapping("/maintenanceRecord")
|
|
|
+public class MaintenanceRecordController {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private MaintenanceRecordService maintenanceRecordService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private TAdminService adminService;
|
|
|
+
|
|
|
+
|
|
|
+ @ApiOperation("保存维护记录")
|
|
|
+ @PostMapping("/save")
|
|
|
+ public ResponseModel<?> save(@RequestBody MaintenanceRecord maintenanceRecord){
|
|
|
+ // 验证工号是否有效
|
|
|
+ maintenanceRecord.setId(IDGenerator.commonID());
|
|
|
+ maintenanceRecord.setCreateDate(new Date());
|
|
|
+ LambdaQueryWrapper<TAdmin> query = Wrappers.lambdaQuery();
|
|
|
+ query.eq(TAdmin::getManagerId, maintenanceRecord.getManagerId());
|
|
|
+ TAdmin admin = adminService.getOne(query);
|
|
|
+ if (admin == null) {
|
|
|
+ return R.fail(ResponseCodesEnum.A0001, "工号不存在");
|
|
|
+ }
|
|
|
+ if (admin.getType() != 3) {
|
|
|
+ return R.fail(ResponseCodesEnum.A0002,"工号类型错误");
|
|
|
+ }
|
|
|
+ maintenanceRecordService.save(maintenanceRecord);
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
+
|
|
|
+ @ApiOperation("删除维护记录")
|
|
|
+ @PostMapping("/delete")
|
|
|
+ public ResponseModel<?> delete(@RequestBody MaintenanceRecord maintenanceRecord){
|
|
|
+ maintenanceRecordService.removeById(maintenanceRecord.getId());
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
+
|
|
|
+ @ApiOperation("维护记录列表")
|
|
|
+ @PostMapping("/list")
|
|
|
+ public ResponseModel<IPage<?>> list(@RequestBody MaintenanceRecordParm param) {
|
|
|
+ Page<MaintenanceRecord> page = new Page<>(param.getCurrent(), param.getSize(), true);
|
|
|
+ LambdaQueryWrapper<MaintenanceRecord> query = Wrappers.lambdaQuery();
|
|
|
+ if (StringUtils.isNotEmpty(param.getClientId())) {
|
|
|
+ query.eq(MaintenanceRecord::getClientId, param.getClientId());
|
|
|
+ }
|
|
|
+ if (param.getStatus() != null) {
|
|
|
+ query.eq(MaintenanceRecord::getStatus, param.getStatus());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(param.getName())) {
|
|
|
+ query.like(MaintenanceRecord::getName, param.getName());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(param.getManagerId())) {
|
|
|
+ query.eq(MaintenanceRecord::getManagerId, param.getManagerId());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(param.getStartDate()) && StringUtils.isNotEmpty(param.getEndDate())) {
|
|
|
+ param.setStartDate(param.getStartDate() + " 00:00:00");
|
|
|
+ param.setEndDate(param.getEndDate() + " 23:59:59");
|
|
|
+ query.between(MaintenanceRecord::getCreateDate, param.getStartDate(), param.getEndDate());
|
|
|
+ }
|
|
|
+ query.orderByDesc(MaintenanceRecord::getCreateDate);
|
|
|
+ IPage<MaintenanceRecord> iPage = maintenanceRecordService.page(page, query);
|
|
|
+ return R.ok(iPage);
|
|
|
+ }
|
|
|
+
|
|
|
+ @ApiOperation("上传图片")
|
|
|
+ @PostMapping("/uploadPic")
|
|
|
+ public ResponseModel<?> uploadPic(MultipartFile file){
|
|
|
+ //构造一个带指定 Region 对象的配置类
|
|
|
+ Configuration cfg = new Configuration(Region.region2());
|
|
|
+ cfg.resumableUploadAPIVersion = Configuration.ResumableUploadAPIVersion.V2;// 指定分片上传版本
|
|
|
+ UploadManager uploadManager = new UploadManager(cfg);
|
|
|
+ //默认不指定key的情况下,以文件内容的hash值作为文件名
|
|
|
+ String filename = System.currentTimeMillis() + "_" + file.getOriginalFilename();
|
|
|
+ String key = "pic/" + filename;
|
|
|
+ try {
|
|
|
+ byte[] fileBytes = file.getBytes();
|
|
|
+ Auth auth = Auth.create(ConfigConsts.QINIU_CLOUD_ACCESS_KEY, ConfigConsts.QINIU_CLOUD_SECRET_KEY);
|
|
|
+ String upToken = auth.uploadToken(ConfigConsts.QINIU_CLOUD_BUCKET, key);
|
|
|
+ Response responseMap = uploadManager.put(fileBytes, key, upToken);
|
|
|
+ //解析上传成功的结果
|
|
|
+ DefaultPutRet putRet = new Gson().fromJson(responseMap.bodyString(), DefaultPutRet.class);
|
|
|
+ String result = "https://qiniuyun.sunzee.com.cn/" + key;
|
|
|
+ Configuration cfg0 = new Configuration(Region.region0());
|
|
|
+ int days = 30;
|
|
|
+ BucketManager bucketManager = new BucketManager(auth, cfg0);
|
|
|
+ bucketManager.deleteAfterDays(ConfigConsts.QINIU_CLOUD_BUCKET, key, days);
|
|
|
+ return R.ok(result);
|
|
|
+ } catch (Exception ex) {
|
|
|
+ //响应信息 json字符串格式
|
|
|
+ log.error("上传图片异常", ex);
|
|
|
+ }
|
|
|
+ return R.fail("上传图片异常");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+}
|
|
|
+
|