Commit 6c2ef512 by Wangmin

Merge remote-tracking branch 'origin/dev' into dev

parents 7bc6144b 56441d43
......@@ -3,13 +3,18 @@ package com.pz.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaIgnore;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.pz.common.core.controller.BaseController;
import com.pz.common.core.domain.PageQuery;
import com.pz.common.core.domain.R;
import com.pz.common.core.domain.dto.RoleDTO;
import com.pz.common.core.domain.model.LoginUser;
import com.pz.common.core.page.TableDataInfo;
import com.pz.system.domain.bo.DbghOrderBo;
import com.pz.system.domain.bo.OrderColumnarBo;
import com.pz.system.domain.vo.DbghOrderVo;
import com.pz.system.domain.vo.OrderColumnarVo;
import com.pz.system.domain.vo.OrderLineVo;
import com.pz.system.mapper.TotalOrderMapper;
import com.pz.common.core.domain.R;
import com.pz.merchant.service.ICompanyService;
......@@ -21,6 +26,7 @@ import com.pz.system.domain.vo.DbghOrderVo;
import com.pz.system.service.IStoreApplyService;
import com.pz.system.service.ISysUserService;
import com.pz.system.service.ITotalOrderService;
import com.pz.system.service.ITotalOrderService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
......@@ -32,6 +38,7 @@ import javax.validation.constraints.NotNull;
import javax.validation.constraints.NotEmpty;
import java.util.List;
import java.util.Map;
/**
* 数据总览
......@@ -44,6 +51,7 @@ import java.util.List;
@RestController
@RequestMapping("/system/data")
public class DataViewController extends BaseController {
private final ITotalOrderService iTotalOrderService;
private final ISysUserService iSysUserService;
......@@ -53,12 +61,9 @@ public class DataViewController extends BaseController {
private final IStoreApplyService iStoreApplyService;
private final ITotalOrderService iTotalOrderService;
/**
* 新增用户统计
*/
@SaIgnore
@GetMapping("/dataUser")
public R<DataViewVo> dataUser(DataViewBo dataViewBo) {
return R.ok(iSysUserService.dataUser(dataViewBo));
......@@ -67,7 +72,6 @@ public class DataViewController extends BaseController {
/**
* 新增陪诊员统计
*/
@SaIgnore
@GetMapping("/dataEmployees")
public R<DataViewVo> dataEmployees(DataViewBo dataViewBo) {
return R.ok(iEmployeesService.dataEmployees(dataViewBo));
......@@ -76,7 +80,6 @@ public class DataViewController extends BaseController {
/**
* 新增机构统计
*/
@SaIgnore
@GetMapping("/dataCompany")
public R<DataViewVo> dataCompany(DataViewBo dataViewBo) {
return R.ok(iCompanyService.dataCompany(dataViewBo));
......@@ -85,7 +88,6 @@ public class DataViewController extends BaseController {
/**
* 新增商城商户统计
*/
@SaIgnore
@GetMapping("/dataStoreApply")
public R<DataViewVo> dataStoreApply(DataViewBo dataViewBo) {
return R.ok(iStoreApplyService.dataStoreApply(dataViewBo));
......@@ -94,7 +96,6 @@ public class DataViewController extends BaseController {
/**
* 订单销售额
*/
@SaIgnore
@GetMapping("/saleroom")
public R<DataOrderVo> saleroom(DataViewBo dataViewBo) {
return R.ok(iTotalOrderService.saleroom(dataViewBo));
......@@ -103,7 +104,6 @@ public class DataViewController extends BaseController {
/**
* 平台收益
*/
@SaIgnore
@GetMapping("/platformRevenue")
public R<DataOrderVo> platformRevenue(DataViewBo dataViewBo) {
return R.ok(iTotalOrderService.platformRevenue(dataViewBo));
......@@ -112,7 +112,6 @@ public class DataViewController extends BaseController {
/**
* 订单量
*/
@SaIgnore
@GetMapping("/orderQuantity")
public R<DataViewVo> orderQuantity(DataViewBo dataViewBo) {
DataOrderVo dataOrderVo = iTotalOrderService.orderQuantity(dataViewBo);
......@@ -121,14 +120,12 @@ public class DataViewController extends BaseController {
return R.ok(dataViewVo);
}
private final TotalOrderMapper totalOrderMapper;
/**
* 数据总览柱状
* 数据总览折线
*/
@GetMapping("/findOrderColumnarVoList/{type}")
public R<List<OrderColumnarVo>> findOrderColumnarVoList(
@PathVariable Integer type) {
return R.ok(totalOrderMapper.findOrderColumnarVoList(type));
@GetMapping("/findOrderColumnarVoList")
public R<List<OrderLineVo>> findOrderColumnarVoList(
OrderColumnarBo bo) {
return R.ok(iTotalOrderService.findOrderColumnarVoList(bo));
}
}
......@@ -43,6 +43,10 @@ public class DbghOrderController extends BaseController {
@SaCheckPermission("system:dbghOrder:list")
@GetMapping("/list")
public TableDataInfo<DbghOrderVo> list(DbghOrderBo bo, PageQuery pageQuery) {
Long roleId = getLoginUser().getRoleId();
if(null != roleId && roleId == 3){
bo.setUserId(getUserId());
}
return iDbghOrderService.queryPageList(bo, pageQuery);
}
......
......@@ -43,6 +43,10 @@ public class DbmyOrderController extends BaseController {
@SaCheckPermission("system:dbmyOrder:list")
@GetMapping("/list")
public TableDataInfo<DbmyOrderVo> list(DbmyOrderBo bo, PageQuery pageQuery) {
Long roleId = getLoginUser().getRoleId();
if(null != roleId && roleId == 3){
bo.setUserId(getUserId());
}
return iDbmyOrderService.queryPageList(bo, pageQuery);
}
......
......@@ -43,6 +43,10 @@ public class DbwzOrderController extends BaseController {
@SaCheckPermission("system:dbwzOrder:list")
@GetMapping("/list")
public TableDataInfo<DbwzOrderVo> list(DbwzOrderBo bo, PageQuery pageQuery) {
Long roleId = getLoginUser().getRoleId();
if(null != roleId && roleId == 3){
bo.setUserId(getUserId());
}
return iDbwzOrderService.queryPageList(bo, pageQuery);
}
......
......@@ -3,6 +3,8 @@ package com.pz.web.controller.system;
import java.util.List;
import java.util.Arrays;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.pz.common.core.domain.dto.RoleDTO;
import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.*;
......@@ -43,6 +45,10 @@ public class YypzOrderController extends BaseController {
@SaCheckPermission("system:yypzOrder:list")
@GetMapping("/list")
public TableDataInfo<YypzOrderVo> list(YypzOrderBo bo, PageQuery pageQuery) {
Long roleId = getLoginUser().getRoleId();
if(null != roleId && roleId == 3){
bo.setUserId(getUserId());
}
TableDataInfo<YypzOrderVo> yypzOrderVoTableDataInfo = iYypzOrderService.queryPageList(bo, pageQuery);
return yypzOrderVoTableDataInfo;
}
......
......@@ -43,6 +43,10 @@ public class ZyphOrderController extends BaseController {
@SaCheckPermission("system:zyphOrder:list")
@GetMapping("/list")
public TableDataInfo<ZyphOrderVo> list(ZyphOrderBo bo, PageQuery pageQuery) {
Long roleId = getLoginUser().getRoleId();
if(null != roleId && roleId == 3){
bo.setUserId(getUserId());
}
return iZyphOrderService.queryPageList(bo, pageQuery);
}
......
......@@ -16,7 +16,9 @@ import java.time.LocalTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* 时间工具类
......@@ -87,6 +89,37 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
}
}
public static List<String> getRecentDates(int days) {
List<String> recentDates = new ArrayList<>();
LocalDate currentDate = LocalDate.now();
java.time.format.DateTimeFormatter formatter = java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd");
for (int i = 0; i < days; i++) {
String date = currentDate.format(formatter);
recentDates.add(date);
currentDate = currentDate.minusDays(1);
}
// 添加当天日期
recentDates.add(currentDate.format(formatter));
return recentDates;
}
public static List<String> getDateRange(String startDateStr, String endDateStr) {
List<String> dateList = new ArrayList<>();
LocalDate startDate = LocalDate.parse(startDateStr);
LocalDate endDate = LocalDate.parse(endDateStr);
LocalDate currentDate = startDate;
java.time.format.DateTimeFormatter formatter = java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd");
while (!currentDate.isAfter(endDate)) {
dateList.add(currentDate.format(formatter));
currentDate = currentDate.plusDays(1);
}
return dateList;
}
/**
* 日期路径 即年/月/日 如2018/08/08
*/
......@@ -97,11 +130,12 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
/**
* 字符串转换成日期
*
* @param strDate 日期字符串
* @param pattern 日期的格式,如:DateUtils.DATE_TIME_PATTERN
*/
public static Date stringToDate(String strDate, String pattern) {
if (StringUtils.isBlank(strDate)){
if (StringUtils.isBlank(strDate)) {
return null;
}
......
......@@ -46,6 +46,19 @@ public class CompanyController extends BaseController {
}
/**
* Pc查询商户列表
*/
@GetMapping("/Plist")
public R<List<CompanyVo>> Plist(CompanyBo bo) {
Long roleId = getLoginUser().getRoleId();
if(null != roleId && roleId == 3){
bo.setUid(getUserId().intValue());
}
bo.setStatus(1);
return R.ok(iCompanyService.queryListP(bo));
}
/**
* 导出商户列表
*/
@Log(title = "商户", businessType = BusinessType.EXPORT)
......
......@@ -3,6 +3,7 @@ package com.pz.merchant.controller.pc;
import java.util.List;
import java.util.Arrays;
import com.pz.merchant.service.ICompanyService;
import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.*;
......@@ -36,12 +37,17 @@ import com.pz.common.core.page.TableDataInfo;
public class EmployeesController extends BaseController {
private final IEmployeesService iEmployeesService;
private final ICompanyService iCompanyService;
/**
* 查询陪诊员列表
*/
@GetMapping("/list")
public TableDataInfo<EmployeesVo> list(EmployeesBo bo, PageQuery pageQuery) {
Long roleId = getLoginUser().getRoleId();
if(null != roleId && roleId == 3){
bo.setCompanyId(iCompanyService.selectCompanyById(getUserId()));
}
return iEmployeesService.queryPageList(bo, pageQuery);
}
......@@ -73,6 +79,7 @@ public class EmployeesController extends BaseController {
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody EmployeesBo bo) {
bo.setUid(getUserId().intValue());
return toAjax(iEmployeesService.insertByBo(bo));
}
......@@ -87,6 +94,17 @@ public class EmployeesController extends BaseController {
}
/**
* 修改陪诊员
*/
@Log(title = "陪诊员", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping("/EmployeesUpdate")
public R<Void> editE(@Validated(EditGroup.class) @RequestBody EmployeesBo bo) {
return toAjax(iEmployeesService.updateByC(bo));
}
/**
* 删除陪诊员
*
* @param ids 主键串
......
......@@ -119,4 +119,11 @@ public class EmployeesBo extends BaseEntity {
*/
private String favorableRate;
/**
* 手机号
*/
private String phone;
private Long userId;
}
......@@ -110,7 +110,10 @@ public class EmployeesVo {
private String cityName;
private Integer cityId;
/**
* 城市
*/
private Long cityId;
/**
* 好评率
*/
......
......@@ -41,6 +41,13 @@ public interface ICompanyService {
List<CompanyVo> queryList(CompanyBo bo);
/**
* pc查询商户列表
* @param bo
* @return
*/
List<CompanyVo> queryListP(CompanyBo bo);
/**
* 新增商户
*/
Boolean insertByBo(CompanyBo bo);
......@@ -101,4 +108,6 @@ public interface ICompanyService {
* 新增机构统计
*/
DataViewVo dataCompany(DataViewBo dataViewBo);
int selectCompanyById(Long userId);
}
......@@ -70,6 +70,13 @@ public interface IEmployeesService {
* @return
*/
Boolean updateByApp(EmployeesBo bo);
/**
* 机构端修改陪诊员
* @param bo
* @return
*/
Boolean updateByC(EmployeesBo bo);
/**
* 校验并批量删除陪诊员信息
*/
......
......@@ -96,9 +96,22 @@ public class CompanyServiceImpl implements ICompanyService {
return baseMapper.selectVoList(lqw);
}
/**
* pc查询商户列表
* @param bo
* @return
*/
@Override
public List<CompanyVo> queryListP(CompanyBo bo) {
LambdaQueryWrapper<Company> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<Company> buildQueryWrapper(CompanyBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<Company> lqw = Wrappers.lambdaQuery();
lqw.eq(null != bo.getStatus(), Company::getStatus,1);
lqw.eq(null != bo.getUid(), Company::getUid,bo.getUid());
lqw.like(StringUtils.isNotBlank(bo.getName()), Company::getName, bo.getName());
return lqw;
}
......@@ -130,7 +143,7 @@ public class CompanyServiceImpl implements ICompanyService {
sysUser.setUserType(UserType.XCX_USER.getUserType());
sysUserMapper.updateById(sysUser);
}else if(update.getStatus() == 1){
sysUser.setUserType(UserType.APP_USER.getUserType());
sysUser.setUserType(UserType.AMERCHANT_USER.getUserType());
sysUserMapper.updateById(sysUser);
}
return baseMapper.updateById(update) > 0;
......@@ -276,4 +289,9 @@ public class CompanyServiceImpl implements ICompanyService {
public DataViewVo dataCompany(DataViewBo dataViewBo) {
return baseMapper.selectDataView(dataViewBo);
}
@Override
public int selectCompanyById(Long userId) {
return baseMapper.selectVoOne(new LambdaQueryWrapper<Company>().eq(Company::getUid, userId)).getId();
}
}
package com.pz.merchant.service.impl;
import cn.dev33.satoken.secure.BCrypt;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.RandomUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
......@@ -13,6 +15,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.pz.common.enums.UserType;
import com.pz.common.exception.ServiceException;
import com.pz.common.exception.user.UserException;
import com.pz.common.utils.StringUtils;
import com.pz.common.utils.redis.RedisUtils;
import com.pz.merchant.domain.Company;
......@@ -68,7 +71,12 @@ public class EmployeesServiceImpl implements IEmployeesService {
*/
@Override
public EmployeesVo queryById(Integer id) {
return baseMapper.selectVoById(id);
EmployeesVo employeesVo = baseMapper.selectVoById(id);
// 获取用户头像
Optional.ofNullable(sysUserMapper.selectUserById(employeesVo.getUid().longValue())).ifPresent(
sysUser -> employeesVo.setAvatar(sysUser.getAvatar())
);
return employeesVo;
}
/**
......@@ -89,6 +97,7 @@ public class EmployeesServiceImpl implements IEmployeesService {
sysUser -> employeesVo.setUserName(sysUser.getNickName())
);
// 获取城市
Optional.ofNullable(cityMapper.selectVoById(employeesVo.getCityId())).ifPresent(
cityVo -> employeesVo.setCityName(cityVo.getName())
......@@ -127,8 +136,10 @@ public class EmployeesServiceImpl implements IEmployeesService {
lqw.like(StringUtils.isNotBlank(bo.getName()), Employees::getName, bo.getName());
lqw.eq(StringUtils.isNotBlank(bo.getStartYear()), Employees::getStartYear, bo.getStartYear());
lqw.eq(bo.getUid() != null, Employees::getUid, bo.getUid());
lqw.eq(bo.getCompanyId() != null, Employees::getCompanyId, bo.getCompanyId());
lqw.eq(bo.getStatus() != null, Employees::getStatus, bo.getStatus());
lqw.eq(bo.getNowType() != null, Employees::getNowType, bo.getNowType());
lqw.orderByDesc(Employees::getId);
return lqw;
}
......@@ -138,10 +149,27 @@ public class EmployeesServiceImpl implements IEmployeesService {
@Override
public Boolean insertByBo(EmployeesBo bo) {
Employees add = BeanUtil.toBean(bo, Employees.class);
add.setNowType(1);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
// 注册用户
SysUser sysUser = new SysUser();
//sysUser.setOpenId(loginBo.getOpenId());
sysUser.setPhonenumber(bo.getPhone());
sysUser.setUserName(bo.getPhone());
sysUser.setAvatar(bo.getAvatar());
sysUser.setNickName("用户" + RandomUtil.randomString(8));
sysUser.setUserType(UserType.XCX_USER.getUserType());
sysUser.setSex("2");
// 初始密码为123456
sysUser.setPassword(BCrypt.hashpw("123456"));
if (sysUserMapper.insert(sysUser) < 1) {
throw new UserException("用户注册失败,请检查用户信息");
}
add.setUid(sysUser.getUserId().intValue());
baseMapper.updateById(add);
}
return flag;
}
......@@ -201,6 +229,25 @@ public class EmployeesServiceImpl implements IEmployeesService {
}
/**
* 机构端修改陪诊员
* @param bo
* @return
*/
@Override
public Boolean updateByC(EmployeesBo bo) {
Employees update = BeanUtil.toBean(bo, Employees.class);
validEntityBeforeSave(update);
// 注册用户
SysUser sysUser = new SysUser();
sysUser.setUserId(update.getUid().longValue());
sysUser.setAvatar(bo.getAvatar());
if (sysUserMapper.updateById(sysUser) < 1) {
throw new UserException("用户注册失败,请检查用户信息");
}
return baseMapper.updateById(update) > 0;
}
/**
* 需求广场
*
* @param bo
......
......@@ -73,4 +73,6 @@ public class DbghOrderBo extends BaseEntity {
private String orderSn;
private Long userId;
}
......@@ -120,4 +120,6 @@ public class DbmyOrderBo extends BaseEntity {
private String remark;
private String orderSn;
private Long userId;
}
......@@ -105,4 +105,6 @@ public class DbwzOrderBo extends BaseEntity {
private String remark;
private String orderSn;
private Long userId;
}
package com.pz.system.domain.bo;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class OrderColumnarBo implements Serializable {
/**
* 0:近七天,1:近三十天,2:自定义
*/
private Integer type;
private String time;
/**
* 自定义开始时间
*/
private String startTime;
/**
* 自定义结束时间
*/
private String endTime;
/**
* 陪诊员ids
*/
private List<Integer> emIds;
}
......@@ -79,5 +79,5 @@ public class YypzOrderBo extends BaseEntity {
*/
private String remark;
private Long userId;
}
......@@ -77,7 +77,7 @@ public class ZqghOrderBo extends BaseEntity {
private String remark;
private String orderSn;
private Long userId;
/**
* 预约时间段
......
......@@ -85,4 +85,5 @@ public class ZyphOrderBo extends BaseEntity {
private String remark;
private String orderSn;
private Long userId;
}
......@@ -11,7 +11,10 @@ public class OrderColumnarVo implements Serializable {
* 业务名称
*/
private String name;
/**
* 日期
*/
private String time;
/**
* 数量
*/
......
package com.pz.system.domain.vo;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class OrderLineVo implements Serializable {
private String key;
private List<OrderColumnarVo> list;
}
......@@ -68,8 +68,8 @@ public interface TotalOrderMapper extends BaseMapperPlus<TotalOrderMapper, Total
/**
* 数据总览
* @param type
* @param time
* @return
*/
List<OrderColumnarVo> findOrderColumnarVoList(@Param("type") Integer type);
List<OrderColumnarVo> findOrderColumnarVoList(@Param("time") String time);
}
......@@ -6,17 +6,22 @@ import com.pz.common.core.domain.R;
import com.pz.system.domain.TotalOrder;
import com.pz.system.domain.bo.CreateOrderBo;
import com.pz.system.domain.bo.DataViewBo;
import com.pz.system.domain.bo.OrderColumnarBo;
import com.pz.system.domain.vo.AccompanyDemandVo;
import com.pz.system.domain.vo.DataOrderVo;
import com.pz.system.domain.vo.DataViewVo;
import com.pz.system.domain.vo.OrderColumnarVo;
import com.pz.system.domain.vo.OrderLineVo;
import com.pz.system.domain.vo.TotalOrderVo;
import com.pz.system.domain.bo.TotalOrderBo;
import com.pz.common.core.page.TableDataInfo;
import com.pz.common.core.domain.PageQuery;
import org.apache.ibatis.annotations.Param;
import javax.validation.constraints.NotNull;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
* 总订单Service接口
......@@ -165,4 +170,11 @@ public interface ITotalOrderService {
* 订单量
*/
DataOrderVo orderQuantity(DataViewBo dataViewBo);
/**
* 数据总览
* @param bo
* @return
*/
List<OrderLineVo> findOrderColumnarVoList(OrderColumnarBo bo);
}
......@@ -21,6 +21,7 @@ import com.pz.common.enums.DeviceType;
import com.pz.common.enums.LoginType;
import com.pz.common.enums.UserStatus;
import com.pz.common.enums.UserType;
import com.pz.common.exception.ServiceException;
import com.pz.common.exception.user.CaptchaException;
import com.pz.common.exception.user.CaptchaExpireException;
import com.pz.common.exception.user.UserException;
......@@ -29,8 +30,11 @@ import com.pz.common.response.WxAuthResponse;
import com.pz.common.utils.*;
import com.pz.common.utils.redis.RedisUtils;
import com.pz.common.utils.spring.SpringUtils;
import com.pz.merchant.domain.Company;
import com.pz.merchant.domain.WechatUserInfo;
import com.pz.merchant.domain.bo.WechatLoginBo;
import com.pz.merchant.mapper.CompanyMapper;
import com.pz.merchant.service.ICompanyService;
import com.pz.system.mapper.SysUserMapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
......@@ -43,6 +47,7 @@ import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.time.Duration;
import java.util.List;
import java.util.Optional;
import java.util.function.Supplier;
/**
......@@ -58,6 +63,8 @@ public class SysLoginService {
private final SysUserMapper userMapper;
private final ISysConfigService configService;
private final SysPermissionService permissionService;
private final CompanyMapper companyMapper;
private final ISysRoleService iSysRoleService;
@Value("${user.password.maxRetryCount}")
private Integer maxRetryCount;
......@@ -83,6 +90,14 @@ public class SysLoginService {
// 框架登录不限制从什么表查询 只要最终构建出 LoginUser 即可
SysUser user = loadUserByUsername(username);
checkLogin(LoginType.PASSWORD, username, () -> !BCrypt.checkpw(password, user.getPassword()));
Optional.ofNullable(iSysRoleService.selectRolesByUserId(user.getUserId())).ifPresent(sysRoles -> {
if (sysRoles.get(0).getRoleId().equals(3)) {
Optional.ofNullable(companyMapper.selectOne(Wrappers.<Company>lambdaQuery().eq(Company::getUid, user.getUserId()).eq(Company::getStatus, 1)))
.orElseThrow(() -> new ServiceException("审核暂未通过,请等待!"));
}
});
// 此处可根据登录用户的数据不同 自行创建 loginUser 属性不够用继承扩展就行了
LoginUser loginUser = buildLoginUser(user);
// 生成token
......
......@@ -5,6 +5,7 @@ import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.fasterxml.jackson.core.JsonProcessingException;
......@@ -22,6 +23,7 @@ import com.pz.common.enums.CommonOrderStatus;
import com.pz.common.enums.TotalOrderStatus;
import com.pz.common.exception.ServiceException;
import com.pz.common.helper.LoginHelper;
import com.pz.common.utils.DateUtils;
import com.pz.common.utils.HttpUtils;
import com.pz.common.utils.JsonUtils;
import com.pz.merchant.domain.Company;
......@@ -38,6 +40,7 @@ import com.pz.system.datastructure.OrderDelayQueue;
import com.pz.system.datastructure.TotalOrderDelayOperator;
import com.pz.system.domain.*;
import com.pz.system.domain.bo.CreateOrderBo;
import com.pz.system.domain.bo.OrderColumnarBo;
import com.pz.system.domain.bo.DataViewBo;
import com.pz.system.domain.bo.TotalOrderBo;
import com.pz.system.domain.vo.*;
......@@ -60,6 +63,7 @@ import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeFormatterBuilder;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
/**
* 总订单Service业务层处理
......@@ -1237,6 +1241,56 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
}
@Override
public List<OrderLineVo> findOrderColumnarVoList(OrderColumnarBo bo) {
Long roleId = LoginHelper.getLoginUser().getRoleId();
Long userId = LoginHelper.getUserId();
//商户
if (roleId == 3L) {
//查找该商户
Optional.ofNullable(companyMapper.selectOne(Wrappers.<Company>lambdaQuery().eq(Company::getUid, userId).eq(Company::getStatus, 2)))
.ifPresent(company -> {
//获取该商户下所有陪诊员
List<Employees> employees = employeesMapper.selectList(Wrappers.<Employees>lambdaQuery().eq(Employees::getCompanyId, company.getId()));
if (CollectionUtils.isNotEmpty(employees)) {
bo.setEmIds(employees.stream().map(Employees::getId).collect(Collectors.toList()));
}
});
}
List<OrderLineVo> list = new ArrayList<>();
List<String> recentDates;
switch (bo.getType()) {
case 0:
recentDates = DateUtils.getRecentDates(6);
break;
case 1:
recentDates = DateUtils.getRecentDates(29);
break;
case 2:
recentDates = DateUtils.getDateRange(bo.getStartTime(), bo.getEndTime());
break;
default:
return list;
}
// 使用一个 Map 来缓存已经查询过的订单列列表
Map<String, List<OrderColumnarVo>> orderMap = new HashMap<>();
for (String time : recentDates) {
List<OrderColumnarVo> orderColumnarVoList = orderMap.get(time);
if (orderColumnarVoList == null) {
orderColumnarVoList = baseMapper.findOrderColumnarVoList(time);
orderMap.put(time, orderColumnarVoList);
}
OrderLineVo orderLineVo = new OrderLineVo();
orderLineVo.setKey(time);
orderLineVo.setList(orderColumnarVoList);
list.add(orderLineVo);
}
return list.stream()
.sorted(Comparator.comparing(OrderLineVo::getKey))
.collect(Collectors.toList());
}
public String getOrderSn() {
long timestamp = System.currentTimeMillis();
String timestampStr = Long.toString(timestamp);
......
......@@ -46,9 +46,15 @@
LEFT JOIN department AS d ON d.id = yyod.did
LEFT JOIN services AS s ON s.id = tlo.service_id
LEFT JOIN employees AS e ON e.id = tlo.em_id
LEFT JOIN company AS co ON co.id = e.company_id
<where>
<if test="bo.orderSn != null and bo.orderSn != ''">
where tlo.order_sn LIKE CONCAT('%', #{bo.orderSn}, '%')
and tlo.order_sn LIKE CONCAT('%', #{bo.orderSn}, '%')
</if>
<if test="bo.userId != null">
and co.uid = #{bo.userId}
</if>
</where>
</select>
<select id="selectSonOrderInfoByTotalId" resultType="com.pz.merchant.domain.vo.SonOrderVo">
......
......@@ -50,9 +50,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
LEFT JOIN city AS c ON c.id = tlo.city_id
LEFT JOIN services AS s ON s.id = tlo.service_id
LEFT JOIN employees AS e ON e.id = tlo.em_id
LEFT JOIN company AS co ON co.id = e.company_id
<where>
<if test="bo.orderSn != null and bo.orderSn != ''">
where tlo.order_sn LIKE CONCAT('%', #{bo.orderSn}, '%')
and tlo.order_sn LIKE CONCAT('%', #{bo.orderSn}, '%')
</if>
<if test="bo.userId != null">
and co.uid = #{bo.userId}
</if>
</where>
</select>
<select id="selectSonOrderInfoByTotalId" resultType="com.pz.merchant.domain.vo.SonOrderVo">
......
......@@ -51,9 +51,15 @@
LEFT JOIN department AS d ON d.id = yyod.did
LEFT JOIN services AS s ON s.id = tlo.service_id
LEFT JOIN employees AS e ON e.id = tlo.em_id
LEFT JOIN company AS co ON co.id = e.company_id
<where>
<if test="bo.orderSn != null and bo.orderSn != ''">
where tlo.order_sn LIKE CONCAT('%', #{bo.orderSn}, '%')
and tlo.order_sn LIKE CONCAT('%', #{bo.orderSn}, '%')
</if>
<if test="bo.userId != null">
and co.uid = #{bo.userId}
</if>
</where>
</select>
<select id="selectSonOrderInfoByTotalId" resultType="com.pz.merchant.domain.vo.SonOrderVo">
......
......@@ -83,8 +83,10 @@
</if>
</select>
<select id="selectPlatformRevenue" resultType="com.pz.system.domain.vo.DataOrderVo">
SELECT IFNULL(ROUND(SUM(employees_divide.order_price - employees_divide.divide_price), 2),0) as dataSum FROM employees_divide
left join total_order on total_order.order_sn = employees_divide.order_id WHERE total_order.`status` = 2 and refund_amount = 0
SELECT IFNULL(ROUND(SUM(employees_divide.order_price - employees_divide.divide_price), 2),0) as dataSum FROM
employees_divide
left join total_order on total_order.order_sn = employees_divide.order_id WHERE total_order.`status` = 2 and
refund_amount = 0
<if test="dataViewBo.condition == 2">
and employees_divide.create_time >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) -- 近7天
</if>
......@@ -121,18 +123,13 @@
where total_order.id = #{id}
</select>
<select id="findOrderColumnarVoList" resultType="com.pz.system.domain.vo.OrderColumnarVo">
SELECT b.`name` name, COUNT(t.business_id) AS num
SELECT b.`name` name,DATE (#{time}) AS time, COUNT(t.business_id) AS num
FROM business b
LEFT JOIN total_order t ON t.business_id = b.id
AND t.`status` = 2
<if test="type == 1">
AND DATE(t.finish_time) = CURDATE()
</if>
<if test="type == 2">
AND DATE(t.finish_time) BETWEEN DATE_SUB(CURDATE(), INTERVAL 6 DAY) AND CURDATE()
</if>
<if test="type == 3">
AND DATE(t.finish_time) BETWEEN DATE_SUB(CURDATE(), INTERVAL 29 DAY) AND CURDATE()
AND DATE (t.create_time) = DATE (#{time})
<if test="bo.emIds != null and bo.emIds.size() > 0">
AND t.em_id IN(bo.emIds)
</if>
GROUP BY b.id;
</select>
......
......@@ -49,9 +49,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
LEFT JOIN department AS d ON d.id = yyod.did
LEFT JOIN services AS s ON s.id = tlo.service_id
LEFT JOIN employees AS e ON e.id = tlo.em_id
LEFT JOIN company AS co ON co.id = e.company_id
<where>
<if test="bo.orderSn != null and bo.orderSn != ''">
where tlo.order_sn LIKE CONCAT('%', #{bo.orderSn}, '%')
and tlo.order_sn LIKE CONCAT('%', #{bo.orderSn}, '%')
</if>
<if test="bo.userId != null">
and co.uid = #{bo.userId}
</if>
</where>
</select>
<select id="selectSonOrderInfoByTotalId" resultType="com.pz.merchant.domain.vo.SonOrderVo">
......
......@@ -52,9 +52,15 @@
LEFT JOIN department AS d ON d.id = yyod.did
LEFT JOIN services AS s ON s.id = tlo.service_id
LEFT JOIN employees AS e ON e.id = tlo.em_id
LEFT JOIN company AS co ON co.id = e.company_id
<where>
<if test="bo.orderSn != null and bo.orderSn != ''">
where tlo.order_sn LIKE CONCAT('%', #{bo.orderSn}, '%')
and tlo.order_sn LIKE CONCAT('%', #{bo.orderSn}, '%')
</if>
<if test="bo.userId != null">
and co.uid = #{bo.userId}
</if>
</where>
</select>
<select id="selectSonOrderInfoByTotalId" resultType="com.pz.merchant.domain.vo.SonOrderVo">
......
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