Commit dfbe3eb3 by kaevom

所有接口基本完成

parent 6856d847
...@@ -15,6 +15,8 @@ import com.yongqi.system.domain.vo.RouterVo; ...@@ -15,6 +15,8 @@ import com.yongqi.system.domain.vo.RouterVo;
import com.yongqi.system.service.ISysMenuService; import com.yongqi.system.service.ISysMenuService;
import com.yongqi.system.service.ISysUserService; import com.yongqi.system.service.ISysUserService;
import com.yongqi.system.service.SysLoginService; import com.yongqi.system.service.SysLoginService;
import com.yongqi.xinrenli.domain.vo.DbWxUserVo;
import com.yongqi.xinrenli.service.IDbWxUserService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -37,6 +39,7 @@ public class SysLoginController { ...@@ -37,6 +39,7 @@ public class SysLoginController {
private final SysLoginService loginService; private final SysLoginService loginService;
private final ISysMenuService menuService; private final ISysMenuService menuService;
private final ISysUserService userService; private final ISysUserService userService;
private final IDbWxUserService wxUserService;
/** /**
* 登录方法 * 登录方法
...@@ -118,7 +121,7 @@ public class SysLoginController { ...@@ -118,7 +121,7 @@ public class SysLoginController {
@GetMapping("getInfo") @GetMapping("getInfo")
public R<Map<String, Object>> getInfo() { public R<Map<String, Object>> getInfo() {
LoginUser loginUser = LoginHelper.getLoginUser(); LoginUser loginUser = LoginHelper.getLoginUser();
SysUser user = userService.selectUserById(loginUser.getUserId()); DbWxUserVo user = wxUserService.queryById(loginUser.getUserId());
Map<String, Object> ajax = new HashMap<>(); Map<String, Object> ajax = new HashMap<>();
ajax.put("user", user); ajax.put("user", user);
ajax.put("roles", loginUser.getRolePermission()); ajax.put("roles", loginUser.getRolePermission());
......
...@@ -3,10 +3,7 @@ package com.yongqi.xinrenli.controller; ...@@ -3,10 +3,7 @@ package com.yongqi.xinrenli.controller;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.*;
import java.util.List;
import java.util.Arrays;
import java.util.UUID;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
...@@ -118,7 +115,7 @@ public class DbFileController extends BaseController { ...@@ -118,7 +115,7 @@ public class DbFileController extends BaseController {
@SaCheckPermission("xinrenli:file:upload") @SaCheckPermission("xinrenli:file:upload")
@Log(title = "文件", businessType = BusinessType.DELETE) @Log(title = "文件", businessType = BusinessType.DELETE)
@PostMapping("/upload") @PostMapping("/upload")
public String upload(MultipartFile file, HttpServletRequest req) { public R upload(MultipartFile file, HttpServletRequest req) {
if(!file.isEmpty()){ if(!file.isEmpty()){
String uploadPath = "C:\\uploadFile"; String uploadPath = "C:\\uploadFile";
// 如果目录不存在则创建 // 如果目录不存在则创建
...@@ -131,20 +128,21 @@ public class DbFileController extends BaseController { ...@@ -131,20 +128,21 @@ public class DbFileController extends BaseController {
//重新随机生成名字 //重新随机生成名字
String filename = UUID.randomUUID().toString() +suffixName; String filename = UUID.randomUUID().toString() +suffixName;
File localFile = new File(uploadPath+"\\"+filename); File localFile = new File(uploadPath+"\\"+filename);
String url = "http://xinrenli.nyinhong.com/image/"+filename;
try { try {
file.transferTo(localFile); //把上传的文件保存至本地 file.transferTo(localFile); //把上传的文件保存至本地
/** /**
* 这里应该把filename保存到数据库,供前端访问时使用 * 这里应该把filename保存到数据库,供前端访问时使用
*/ */
return localFile.getPath();//上传成功,返回保存的文件地址 Map<String, Object> map = new HashMap<>();
map.put("url",url);
return R.ok(map);//上传成功,返回保存的文件地址
}catch (IOException e){ }catch (IOException e){
e.printStackTrace(); e.printStackTrace();
System.out.println("上传失败"); return R.fail("上传失败");
return "";
} }
}else{ }else{
System.out.println("文件为空"); return R.fail("文件为空");
return "";
} }
} }
......
package com.yongqi.xinrenli.controller; package com.yongqi.xinrenli.controller;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Arrays; import java.util.Arrays;
...@@ -85,11 +86,19 @@ public class DbOrderController extends BaseController { ...@@ -85,11 +86,19 @@ public class DbOrderController extends BaseController {
@SaCheckPermission("xinrenli:order:export") @SaCheckPermission("xinrenli:order:export")
@Log(title = "订单", businessType = BusinessType.EXPORT) @Log(title = "订单", businessType = BusinessType.EXPORT)
@PostMapping("/export") @PostMapping("/export")
public void export(DbOrderBo bo, HttpServletResponse response) { public R<Void> export(DbOrderBo bo, HttpServletResponse response) {
try {
List<DbOrderVo> list = iDbOrderService.queryList(bo); List<DbOrderVo> list = iDbOrderService.queryList(bo);
ExcelUtil.exportExcel(list, "订单", DbOrderVo.class, response); ExcelUtil.exportExcel(list, "订单", DbOrderVo.class, response);
} catch (Exception e) {
return toAjax(false);
}
return toAjax(true);
} }
/** /**
* 获取订单详细信息 * 获取订单详细信息
* *
...@@ -110,7 +119,7 @@ public class DbOrderController extends BaseController { ...@@ -110,7 +119,7 @@ public class DbOrderController extends BaseController {
@RepeatSubmit() @RepeatSubmit()
@PostMapping("/add") @PostMapping("/add")
public R<Void> add(@Validated(AddGroup.class) @RequestBody DbOrderBo bo) { public R<Void> add(@Validated(AddGroup.class) @RequestBody DbOrderBo bo) {
// LoginUser loginUser = getLoginUser(); LoginUser loginUser = getLoginUser();
LoginUser user = new LoginUser(); LoginUser user = new LoginUser();
user.setUserId(bo.getUserId()); user.setUserId(bo.getUserId());
return toAjax(iDbOrderService.insertByBo(bo, user)); return toAjax(iDbOrderService.insertByBo(bo, user));
...@@ -182,7 +191,7 @@ public class DbOrderController extends BaseController { ...@@ -182,7 +191,7 @@ public class DbOrderController extends BaseController {
@Log(title = "退款", businessType = BusinessType.OTHER) @Log(title = "退款", businessType = BusinessType.OTHER)
@GetMapping("/refund") @GetMapping("/refund")
public R refund(@NotNull(message = "订单id不能为空") @RequestParam("orderId") Long orderId, public R refund(@NotNull(message = "订单id不能为空") @RequestParam("orderId") Long orderId,
@NotNull(message = "退款金额不能为空")@RequestParam("refundeAmount")BigDecimal refundAmount) { @NotNull(message = "退款金额不能为空")@RequestParam("refundeAmount") BigDecimal refundAmount) {
LoginUser loginUser = LoginHelper.getLoginUser(); LoginUser loginUser = LoginHelper.getLoginUser();
return iDbOrderService.refund(orderId, refundAmount, loginUser); return iDbOrderService.refund(orderId, refundAmount, loginUser);
} }
...@@ -207,6 +216,25 @@ public class DbOrderController extends BaseController { ...@@ -207,6 +216,25 @@ public class DbOrderController extends BaseController {
return R.ok(iDbOrderService.reportForms()); return R.ok(iDbOrderService.reportForms());
} }
/** /**
* 导出报表
*/
@SaCheckPermission("xinrenli:order:exportReportForms")
@Log(title = "订单", businessType = BusinessType.EXPORT)
@PostMapping("/exportReportForms")
public R<Void> exportReportForms(HttpServletResponse response) {
try {
ReportFormsVo vo = iDbOrderService.reportForms();
List<ReportFormsVo> list = new ArrayList<>();
list.add(vo);
ExcelUtil.exportExcel(list, "订单", ReportFormsVo.class, response);
} catch (Exception e) {
return toAjax(false);
}
return toAjax(true);
}
/**
* 生成支付订单和发起退款接口,驳回接口 * 生成支付订单和发起退款接口,驳回接口
*/ */
@SaCheckPermission("xinrenli:order:createPay") @SaCheckPermission("xinrenli:order:createPay")
......
...@@ -75,6 +75,9 @@ public class DbFileBo extends BaseEntity { ...@@ -75,6 +75,9 @@ public class DbFileBo extends BaseEntity {
*/ */
// @NotBlank(message = "修改人不能为空", groups = {AddGroup.class, EditGroup.class}) // @NotBlank(message = "修改人不能为空", groups = {AddGroup.class, EditGroup.class})
private String modifyName; private String modifyName;
/**
* 业务id
*/
private String serviceId;
} }
...@@ -119,7 +119,7 @@ public class DbOrderBo extends BaseEntity { ...@@ -119,7 +119,7 @@ public class DbOrderBo extends BaseEntity {
* 文件列表 * 文件列表
*/ */
@NotNull(message = "图片,视频,语音必须上传其中一个", groups = {AddGroup.class, EditGroup.class}) @NotNull(message = "图片,视频,语音必须上传其中一个", groups = {AddGroup.class, EditGroup.class})
private List<DbFileBo> fileBoList; private List<DbFileBo> fileVos;
} }
...@@ -33,13 +33,13 @@ public class DbWxUserBo extends BaseEntity { ...@@ -33,13 +33,13 @@ public class DbWxUserBo extends BaseEntity {
/** /**
* 微信用户的唯一标识 * 微信用户的唯一标识
*/ */
@NotBlank(message = "微信用户的唯一标识不能为空", groups = {AddGroup.class, EditGroup.class}) @NotBlank(message = "微信用户的唯一标识不能为空", groups = {AddGroup.class})
private String openId; private String openId;
/** /**
* 是否是团长:1:是,2:否 * 是否是团长:1:是,2:否
*/ */
@NotNull(message = "是否是团长:1:是,2:否不能为空", groups = {AddGroup.class, EditGroup.class}) @NotNull(message = "是否是团长:1:是,2:否不能为空", groups = {AddGroup.class})
private Integer headOrNot; private Integer headOrNot;
/** /**
...@@ -51,133 +51,133 @@ public class DbWxUserBo extends BaseEntity { ...@@ -51,133 +51,133 @@ public class DbWxUserBo extends BaseEntity {
/** /**
* 用户的性别,值为1时是男性,值为2时是女性,值为0时是未知 * 用户的性别,值为1时是男性,值为2时是女性,值为0时是未知
*/ */
@NotNull(message = "用户的性别,值为1时是男性,值为2时是女性,值为0时是未知不能为空", groups = {AddGroup.class, EditGroup.class}) @NotNull(message = "用户的性别,值为1时是男性,值为2时是女性,值为0时是未知不能为空", groups = {AddGroup.class})
private Integer sex; private Integer sex;
/** /**
* 用户个人资料填写的省份 * 用户个人资料填写的省份
*/ */
@NotBlank(message = "用户个人资料填写的省份不能为空", groups = {AddGroup.class, EditGroup.class}) @NotBlank(message = "用户个人资料填写的省份不能为空", groups = {AddGroup.class})
private String province; private String province;
/** /**
* 普通用户个人资料填写的城市 * 普通用户个人资料填写的城市
*/ */
@NotBlank(message = "普通用户个人资料填写的城市不能为空", groups = {AddGroup.class, EditGroup.class}) @NotBlank(message = "普通用户个人资料填写的城市不能为空", groups = {AddGroup.class})
private String city; private String city;
/** /**
* 国家,如中国为CN * 国家,如中国为CN
*/ */
@NotBlank(message = "国家,如中国为CN不能为空", groups = {AddGroup.class, EditGroup.class}) @NotBlank(message = "国家,如中国为CN不能为空", groups = {AddGroup.class})
private String country; private String country;
/** /**
* 用户头像 * 用户头像
*/ */
@NotBlank(message = "用户头像不能为空", groups = {AddGroup.class, EditGroup.class}) @NotBlank(message = "用户头像不能为空", groups = {AddGroup.class})
private String headImgUrl; private String headImgUrl;
/** /**
* 只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段。 * 只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段。
*/ */
@NotBlank(message = "只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段。不能为空", groups = {AddGroup.class, EditGroup.class}) @NotBlank(message = "只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段。不能为空", groups = {AddGroup.class})
private String unionId; private String unionId;
/** /**
* 手机号 * 手机号
*/ */
@NotBlank(message = "手机号不能为空", groups = {AddGroup.class, EditGroup.class}) @NotBlank(message = "手机号不能为空", groups = {AddGroup.class})
private String mobile; private String mobile;
/** /**
* 授权手机号 * 授权手机号
*/ */
@NotBlank(message = "授权手机号不能为空", groups = {AddGroup.class, EditGroup.class}) @NotBlank(message = "授权手机号不能为空", groups = {AddGroup.class})
private String authMobile; private String authMobile;
/** /**
* 商场编码 * 商场编码
*/ */
@NotBlank(message = "商场编码不能为空", groups = {AddGroup.class, EditGroup.class}) @NotBlank(message = "商场编码不能为空", groups = {AddGroup.class})
private String mallCode; private String mallCode;
/** /**
* 会员卡号 * 会员卡号
*/ */
@NotBlank(message = "会员卡号不能为空", groups = {AddGroup.class, EditGroup.class}) @NotBlank(message = "会员卡号不能为空", groups = {AddGroup.class})
private String userCode; private String userCode;
/** /**
* *
*/ */
@NotBlank(message = "不能为空", groups = {AddGroup.class, EditGroup.class}) @NotBlank(message = "不能为空", groups = {AddGroup.class})
private String sessionKey; private String sessionKey;
/** /**
* 是否关注微信(1:关注,0:取消关注) * 是否关注微信(1:关注,0:取消关注)
*/ */
@NotNull(message = "是否关注微信(1:关注,0:取消关注)不能为空", groups = {AddGroup.class, EditGroup.class}) @NotNull(message = "是否关注微信(1:关注,0:取消关注)不能为空", groups = {AddGroup.class})
private Integer wechatSubscribe; private Integer wechatSubscribe;
/** /**
* 是否取消关注(关注后又取消,和oauth取得的会员区别)(1:取消,0:未取消) * 是否取消关注(关注后又取消,和oauth取得的会员区别)(1:取消,0:未取消)
*/ */
@NotNull(message = "是否取消关注(关注后又取消,和oauth取得的会员区别)(1:取消,0:未取消)不能为空", groups = {AddGroup.class, EditGroup.class}) @NotNull(message = "是否取消关注(关注后又取消,和oauth取得的会员区别)(1:取消,0:未取消)不能为空", groups = {AddGroup.class})
private Integer cancelSubscribe; private Integer cancelSubscribe;
/** /**
* 微信原始ID * 微信原始ID
*/ */
@NotBlank(message = "微信原始ID不能为空", groups = {AddGroup.class, EditGroup.class}) @NotBlank(message = "微信原始ID不能为空", groups = {AddGroup.class})
private String wechatOriginalId; private String wechatOriginalId;
/** /**
* 下单次数 * 下单次数
*/ */
@NotNull(message = "下单次数不能为空", groups = {AddGroup.class, EditGroup.class}) @NotNull(message = "下单次数不能为空", groups = {AddGroup.class})
private Long orderNum; private Long orderNum;
/** /**
* 累计消费 * 累计消费
*/ */
@NotNull(message = "累计消费不能为空", groups = {AddGroup.class, EditGroup.class}) @NotNull(message = "累计消费不能为空", groups = {AddGroup.class})
private BigDecimal cumulativeConsumption; private BigDecimal cumulativeConsumption;
/** /**
* 最近消费时间 * 最近消费时间
*/ */
@NotNull(message = "最近消费时间不能为空", groups = {AddGroup.class, EditGroup.class}) @NotNull(message = "最近消费时间不能为空", groups = {AddGroup.class})
private Date lastConsumptionTime; private Date lastConsumptionTime;
/** /**
* 创建人Code * 创建人Code
*/ */
@NotBlank(message = "创建人Code不能为空", groups = {AddGroup.class, EditGroup.class}) @NotBlank(message = "创建人Code不能为空", groups = {AddGroup.class})
private String createCode; private String createCode;
/** /**
* 更新时间 * 更新时间
*/ */
@NotNull(message = "更新时间不能为空", groups = {AddGroup.class, EditGroup.class}) @NotNull(message = "更新时间不能为空", groups = {AddGroup.class})
private Date modifyTime; private Date modifyTime;
/** /**
* 更新者 * 更新者
*/ */
@NotBlank(message = "更新者不能为空", groups = {AddGroup.class, EditGroup.class}) @NotBlank(message = "更新者不能为空", groups = {AddGroup.class})
private String modifyBy; private String modifyBy;
/** /**
* 更新者code * 更新者code
*/ */
@NotBlank(message = "更新者code不能为空", groups = {AddGroup.class, EditGroup.class}) @NotBlank(message = "更新者code不能为空", groups = {AddGroup.class})
private String modifyCode; private String modifyCode;
/** /**
* 删除状态 0:未删除 1:删除 * 删除状态 0:未删除 1:删除
*/ */
@NotNull(message = "删除状态 0:未删除 1:删除不能为空", groups = {AddGroup.class, EditGroup.class}) @NotNull(message = "删除状态 0:未删除 1:删除不能为空", groups = {AddGroup.class})
private Integer deleteFlag; private Integer deleteFlag;
......
...@@ -85,7 +85,10 @@ public class DbOrderVo { ...@@ -85,7 +85,10 @@ public class DbOrderVo {
*/ */
@ExcelProperty(value = "订单状态:0 已发布;1 已驳回;2 待支付;3 已接单;4 已完成;5 退款中;6 已退款") @ExcelProperty(value = "订单状态:0 已发布;1 已驳回;2 待支付;3 已接单;4 已完成;5 退款中;6 已退款")
private Integer status; private Integer status;
/**
* 驳回理由
*/
private String reasonsForRejection;
/** /**
* 创建人 * 创建人
*/ */
...@@ -113,5 +116,17 @@ public class DbOrderVo { ...@@ -113,5 +116,17 @@ public class DbOrderVo {
* 文件列表 * 文件列表
*/ */
private List<DbFileVo> fileVos; private List<DbFileVo> fileVos;
/**
* 图片列表
*/
private List<DbFileVo> picture;
/**
* 视频列表
*/
private List<DbFileVo> video;
/**
* 语言列表
*/
private List<DbFileVo> voice;
} }
...@@ -41,14 +41,9 @@ public class ReportFormsVo { ...@@ -41,14 +41,9 @@ public class ReportFormsVo {
@ExcelProperty(value = "累计成交金额") @ExcelProperty(value = "累计成交金额")
private String totalMoney; private String totalMoney;
/** /**
* 已完成订单 * 已完成/未完成订单对比
*/ */
@ExcelProperty(value = "已完成订单") @ExcelProperty(value = "已完成/未完成订单对比")
private Integer doneOrder; private String contrastOrder;
/**
* 未完成订单
*/
@ExcelProperty(value = "未完成订单")
private Integer noDoneOrder;
} }
...@@ -62,6 +62,7 @@ public class DbFileServiceImpl implements IDbFileService { ...@@ -62,6 +62,7 @@ public class DbFileServiceImpl implements IDbFileService {
Map<String, Object> params = bo.getParams(); Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<DbFile> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<DbFile> lqw = Wrappers.lambdaQuery();
lqw.eq(StringUtils.isNotBlank(bo.getServiceType()), DbFile::getServiceType, bo.getServiceType()); lqw.eq(StringUtils.isNotBlank(bo.getServiceType()), DbFile::getServiceType, bo.getServiceType());
lqw.eq(StringUtils.isNotBlank(bo.getServiceId()), DbFile::getServiceId, bo.getServiceId());
lqw.eq(StringUtils.isNotBlank(bo.getUrl()), DbFile::getUrl, bo.getUrl()); lqw.eq(StringUtils.isNotBlank(bo.getUrl()), DbFile::getUrl, bo.getUrl());
lqw.eq(StringUtils.isNotBlank(bo.getFileType()), DbFile::getFileType, bo.getFileType()); lqw.eq(StringUtils.isNotBlank(bo.getFileType()), DbFile::getFileType, bo.getFileType());
lqw.eq(bo.getSort() != null, DbFile::getSort, bo.getSort()); lqw.eq(bo.getSort() != null, DbFile::getSort, bo.getSort());
......
...@@ -48,6 +48,7 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -48,6 +48,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* 订单Service业务层处理 * 订单Service业务层处理
...@@ -83,6 +84,18 @@ public class DbOrderServiceImpl implements IDbOrderService { ...@@ -83,6 +84,18 @@ public class DbOrderServiceImpl implements IDbOrderService {
.eq(DbFile::getServiceType, FileEnumServiceType.ORDER.getServiceTyp()) .eq(DbFile::getServiceType, FileEnumServiceType.ORDER.getServiceTyp())
.eq(DbFile::getServiceId, dbOrderVo.getId()) .eq(DbFile::getServiceId, dbOrderVo.getId())
.eq(DbFile::getDeleteStatus, DeleteStatusEnum.OK.getCode())); .eq(DbFile::getDeleteStatus, DeleteStatusEnum.OK.getCode()));
Map<String, List<DbFileVo>> groupMap = dbFileVos.stream().collect(Collectors.groupingBy(u -> u.getFileType()));
groupMap.forEach((k, v) -> {
if(k.equals("picture")){
dbOrderVo.setPicture(v);
}
if(k.equals("video")){
dbOrderVo.setPicture(v);
}
if(k.equals("voice")){
dbOrderVo.setPicture(v);
}
});
dbOrderVo.setFileVos(dbFileVos); dbOrderVo.setFileVos(dbFileVos);
return dbOrderVo; return dbOrderVo;
} }
...@@ -138,7 +151,7 @@ public class DbOrderServiceImpl implements IDbOrderService { ...@@ -138,7 +151,7 @@ public class DbOrderServiceImpl implements IDbOrderService {
boolean flag = baseMapper.insert(add) > 0; boolean flag = baseMapper.insert(add) > 0;
if (flag) { if (flag) {
bo.setId(add.getId()); bo.setId(add.getId());
List<DbFile> files = BeanUtil.copyToList(bo.getFileBoList(), DbFile.class); List<DbFile> files = BeanUtil.copyToList(bo.getFileVos(), DbFile.class);
files.forEach(file->{ files.forEach(file->{
file.setDeleteStatus(DeleteStatusEnum.OK.getCode()); file.setDeleteStatus(DeleteStatusEnum.OK.getCode());
file.setServiceId(add.getId()); file.setServiceId(add.getId());
...@@ -280,12 +293,23 @@ public class DbOrderServiceImpl implements IDbOrderService { ...@@ -280,12 +293,23 @@ public class DbOrderServiceImpl implements IDbOrderService {
DbFileVo dbFileVo = fileMapper.selectVoOne(Wrappers.<DbFile>lambdaQuery() DbFileVo dbFileVo = fileMapper.selectVoOne(Wrappers.<DbFile>lambdaQuery()
.eq(DbFile::getServiceId, record.getId()) .eq(DbFile::getServiceId, record.getId())
.eq(DbFile::getServiceType, FileEnumServiceType.ORDER.getServiceTyp()) .eq(DbFile::getServiceType, FileEnumServiceType.ORDER.getServiceTyp())
.eq(DbFile::getSort, 1)
.eq(DbFile::getDeleteStatus, DeleteStatusEnum.OK.getCode())); .eq(DbFile::getDeleteStatus, DeleteStatusEnum.OK.getCode()));
List<DbFileVo> vos = new ArrayList<>(); List<DbFileVo> vos = new ArrayList<>();
if (ObjectUtils.isNotEmpty(dbFileVo)) { if (ObjectUtils.isNotEmpty(dbFileVo)) {
vos.add(dbFileVo); vos.add(dbFileVo);
} }
Map<String, List<DbFileVo>> groupMap = vos.stream().collect(Collectors.groupingBy(u -> u.getFileType()));
groupMap.forEach((k, v) -> {
if(k.equals("picture")){
record.setPicture(v);
}
if(k.equals("video")){
record.setPicture(v);
}
if(k.equals("voice")){
record.setPicture(v);
}
});
record.setFileVos(vos); record.setFileVos(vos);
}); });
return TableDataInfo.build(result); return TableDataInfo.build(result);
......
...@@ -86,18 +86,14 @@ ...@@ -86,18 +86,14 @@
( SELECT count(*) FROM db_order WHERE `status` = '4' ) AS accomplish, ( SELECT count(*) FROM db_order WHERE `status` = '4' ) AS accomplish,
( SELECT count(*) FROM db_order WHERE `status` = '2' ) AS reject, ( SELECT count(*) FROM db_order WHERE `status` = '2' ) AS reject,
( SELECT count(*) FROM db_order WHERE `status` = '6' ) AS refund, ( SELECT count(*) FROM db_order WHERE `status` = '6' ) AS refund,
( SELECT SUM( actual_amount ) FROM db_order WHERE `status` = '4' ) AS totalMoney, ( SELECT CONCAT(TRUNCATE(SUM( actual_amount )/10000,2),'万元') FROM db_order WHERE `status` = '4' ) AS totalMoney,
t.w AS doneOrder, CONCAT(t.m,'-',t.w) AS contrastOrder
t.m AS noDoneOrder
FROM FROM
( (
SELECT SELECT
t1.w /( concat(round(t1.w/(t1.w + t2.m)*100 ,2) ,'%') AS w,
t1.w + t2.m concat(round(t2.m /(t1.w + t2.m)*100 ,2) ,'%') AS m
)* 100+ '%' AS w,
t2.m /(
t1.w + t2.m
)* 100+ '%' AS m
FROM FROM
( (
SELECT SELECT
......
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