Commit 40669193 by kaevom

全部完成

parent 366d7af8
......@@ -27,7 +27,21 @@
<groupId>com.yongqi</groupId>
<artifactId>yongqi-sms</artifactId>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacpp</artifactId>
<version>1.4.1</version>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacv</artifactId>
<version>1.4.1</version>
</dependency>
<dependency>
<groupId>org.bytedeco.javacpp-presets</groupId>
<artifactId>ffmpeg-platform</artifactId>
<version>3.4.2-1.4.1</version>
</dependency>
<!-- 短信 用哪个导入哪个依赖 -->
<!-- <dependency>-->
<!-- <groupId>com.aliyun</groupId>-->
......
......@@ -31,7 +31,12 @@ import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static com.yongqi.xinrenli.utils.videoText.getTempPath;
/**
* 订单
......@@ -265,7 +270,6 @@ public class DbOrderController extends BaseController {
@Log(title = "报表", businessType = BusinessType.DELETE)
@PostMapping("/createPay")
public R<Void> createPay(@RequestBody DbOrderEditBo bo) {
if("2".equals(bo.getStatus())){
if(ObjectUtils.isEmpty(bo.getActualAmount())){
return R.fail("沟通金额为空");
......@@ -278,4 +282,14 @@ public class DbOrderController extends BaseController {
}
return toAjax(iDbOrderService.createPay(bo));
}
@SaCheckPermission("xinrenli:order:cut")
@Log(title = "报表", businessType = BusinessType.DELETE)
@GetMapping("/cut")
public R test(String url) throws Exception {
String image = "/opt/xinrenli/image/"+url.substring(url.lastIndexOf("/")+1);
getTempPath("/opt/xinrenli/image/diyizhen.jpg",image);
Map<String, Object> map = new HashMap<>();
map.put("url","http://xinrenli.nyinhong.com/image/diyizhen.jpg");
return R.ok(map);//上传成功,返回保存的文件地址
}
}
......@@ -64,5 +64,8 @@ public class DbFile {
* 修改人
*/
private String modifyName;
/**
* 视频第一帧
*/
private String cropImage;
}
......@@ -79,5 +79,8 @@ public class DbFileBo extends BaseEntity {
* 业务id
*/
private String serviceId;
/**
* 视频第一帧
*/
private String cropImage;
}
......@@ -80,6 +80,9 @@ public class DbFileVo {
*/
@ExcelProperty(value = "修改人")
private String modifyName;
/**
* 视频第一帧
*/
private String cropImage;
}
......@@ -64,6 +64,7 @@ public class DbArticleServiceImpl implements IDbArticleService {
vo.setFileVos(dbFileVo);
return vo;
}
private static final String REG_EX = "</?[^>]+>";
/**
* 查询文章列表
......@@ -88,8 +89,7 @@ public class DbArticleServiceImpl implements IDbArticleService {
for (DbArticleVo article : result.getRecords()) {
String n = article.getContent();
n = n.replace("<p>", "");
n = n.replace("</p>", "");
n = n.replaceAll(REG_EX, "");
article.setContent(n);
}
......@@ -105,8 +105,7 @@ public class DbArticleServiceImpl implements IDbArticleService {
List<DbArticleVo> list = baseMapper.selectVoList(lqw);
for (DbArticleVo article : list) {
String n = article.getContent();
n = n.replace("<p>", "");
n = n.replace("</p>", "");
n = n.replaceAll(REG_EX, "");
article.setContent(n);
}
return list;
......
......@@ -17,6 +17,7 @@ import com.yongqi.xinrenli.domain.DbCoupon;
import com.yongqi.xinrenli.mapper.DbCouponMapper;
import com.yongqi.xinrenli.service.IDbCouponService;
import java.util.Calendar;
import java.util.List;
import java.util.Map;
import java.util.Collection;
......@@ -81,6 +82,13 @@ public class DbCouponServiceImpl implements IDbCouponService {
@Override
public Boolean insertByBo(DbCouponBo bo) {
DbCoupon add = BeanUtil.toBean(bo, DbCoupon.class);
Calendar calendar = Calendar.getInstance();
calendar.setTime(add.getFailureTime());
// 将时分秒,毫秒域清零
calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 59);
calendar.set(Calendar.SECOND, 59);
add.setFailureTime(calendar.getTime());
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
......
......@@ -41,6 +41,8 @@ import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
import static com.yongqi.xinrenli.utils.videoText.getTempPath;
/**
* 订单Service业务层处理
*
......@@ -193,6 +195,7 @@ public class DbOrderServiceImpl implements IDbOrderService {
file.setServiceType(FileEnumServiceType.ORDER.getServiceTyp());
file.setCreateName(String.valueOf(user.getUserId()));
file.setModifyName(String.valueOf(user.getUserId()));
});
fileMapper.insertBatch(files);
}
......@@ -204,6 +207,14 @@ public class DbOrderServiceImpl implements IDbOrderService {
file.setServiceType(FileEnumServiceType.ORDER.getServiceTyp());
file.setCreateName(String.valueOf(user.getUserId()));
file.setModifyName(String.valueOf(user.getUserId()));
try {
String image = "/opt/xinrenli/image/"+file.getUrl().substring(file.getUrl().lastIndexOf("/")+1);
String filename = UUID.randomUUID().toString()+".jpg";
file.setCropImage("http://xinrenli.nyinhong.com/image/"+filename);
getTempPath("/opt/xinrenli/image/"+filename,image);
} catch (Exception e) {
throw new RuntimeException(e);
}
});
fileMapper.insertBatch(files);
}
......@@ -258,6 +269,14 @@ public class DbOrderServiceImpl implements IDbOrderService {
file.setDeleteStatus(DeleteStatusEnum.OK.getCode());
file.setCreateName(String.valueOf(user.getUserId()));
file.setModifyName(String.valueOf(user.getUserId()));
try {
String image = "/opt/xinrenli/image/"+file.getUrl().substring(file.getUrl().lastIndexOf("/")+1);
String filename = UUID.randomUUID().toString()+".jpg";
file.setCropImage("http://xinrenli.nyinhong.com/image/"+filename);
getTempPath("/opt/xinrenli/image/"+filename,image);
} catch (Exception e) {
throw new RuntimeException(e);
}
});
fileMapper.insertBatch(files);
}
......@@ -312,6 +331,7 @@ public class DbOrderServiceImpl implements IDbOrderService {
vos.add(dbFileVo);
}
record.setFileVos(vos);
});
return TableDataInfo.build(result);
}
......
package com.yongqi.xinrenli.utils;
import org.bytedeco.javacv.FFmpegFrameGrabber;
import org.bytedeco.javacv.Frame;
import org.bytedeco.javacv.Java2DFrameConverter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.awt.image.RenderedImage;
import java.io.File;
public class videoText {
public static final Logger log = LoggerFactory.getLogger(videoText.class);
public static String getTempPath(String tempPath, String filePath) throws Exception {
// String tempPath=" ";//保存的目标路径
File targetFile = new File(tempPath);
if (!targetFile.getParentFile().exists()) {
targetFile.getParentFile().mkdirs();
}
File file2 = new File(filePath);
if (file2.exists()) {
log.info("文件存在,路径正确!");
FFmpegFrameGrabber ff = new FFmpegFrameGrabber(file2);
ff.start();
int ftp = ff.getLengthInFrames();
int flag=0;
Frame frame = null;
while (flag <= ftp) {
//获取帧
frame = ff.grabImage();
//过滤前3帧,避免出现全黑图片
if ((flag>3)&&(frame != null)) {
break;
}
flag++;
}
ImageIO.write(FrameToBufferedImage(frame), "jpg", targetFile);
ff.close();
ff.stop();
}
return null;
}
private static RenderedImage FrameToBufferedImage(Frame frame) {
//创建BufferedImage对象
Java2DFrameConverter converter = new Java2DFrameConverter();
BufferedImage bufferedImage = converter.getBufferedImage(frame);
return bufferedImage;
}
// public static void main(String[] args) {
// try {
//// getTempPath("http://jyt.fty.pw:8080/videos/guoyifang/a2966518-03dd-4a31-b05b-5c52db6baf73.mp4", "D:\\test.jpg");
// getTempPath("C:\\uploadFile\\test.jpg", "C:\\uploadFile\\f244965ee774152aaa8618837d24b1a6.mp4");
// } catch (Exception e) {
// e.printStackTrace();
// }
// }
}
......@@ -87,7 +87,7 @@
( SELECT count(*) FROM db_order WHERE `status` = '4' ) AS accomplish,
( SELECT count(*) FROM db_order WHERE `status` = '1' ) AS reject,
( SELECT count(*) FROM db_order WHERE `status` = '6' ) AS refund,
( SELECT CONCAT(TRUNCATE(SUM( actual_amount )/10000,2),'万元') FROM db_order WHERE `status` = '4' ) AS totalMoney,
( SELECT CONCAT(TRUNCATE(SUM( pay_amount )/10000,2),'万元') FROM db_order WHERE `status` = '4' ) AS totalMoney,
CONCAT(t.m,'-',t.w) AS contrastOrder
FROM
......@@ -112,17 +112,17 @@
( SELECT count(*) FROM db_order WHERE `status` = '4' ) AS accomplish,
( SELECT count(*) FROM db_order WHERE `status` = '1' ) AS reject,
( SELECT count(*) FROM db_order WHERE `status` = '6' ) AS refund,
( SELECT TRUNCATE ( SUM( actual_amount )/ 10000, 2 ) FROM db_order WHERE `status` = '4' ) AS totalMoney,
( SELECT TRUNCATE ( SUM( pay_amount )/ 10000, 2 ) FROM db_order WHERE `status` = '4' ) AS money,
(SELECT count(*) AS w FROM db_order WHERE `status` not in (0,4)) AS NoAccomplish ,
(select count(*) from db_order) as sum
FROM
DUAL
</select>
<update id="unpaidJob" >
update db_order set status='1',modify_time=NOW() where status=2 and modify_time&lt;=DATE_SUB(SYSDATE(),INTERVAL 1 hour)
update db_order set status='1',modify_time=NOW(),reasons_for_rejection='超时未支付' where status=2 and modify_time&lt;=DATE_SUB(SYSDATE(),INTERVAL 1 hour)
</update>
<update id="completedJob">
update db_order set status='4',modify_time=NOW() where status='3' and DATE_ADD(repair_time, INTERVAL 2 DAY)>=NOW()
update db_order set status='4',modify_time=NOW() where status='3' and DATE_ADD(repair_time, INTERVAL 2 DAY)&lt;=NOW()
</update>
</mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment