25 changed files with 672 additions and 26 deletions
@ -0,0 +1,27 @@
@@ -0,0 +1,27 @@
|
||||
package com.ecell.internationalize.app; |
||||
|
||||
import com.ecell.internationalize.common.swagger.annotation.EnableCustomSwagger2; |
||||
import org.mybatis.spring.annotation.MapperScan; |
||||
import org.springframework.boot.SpringApplication; |
||||
import org.springframework.boot.autoconfigure.SpringBootApplication; |
||||
import org.springframework.cloud.openfeign.EnableFeignClients; |
||||
import org.springframework.context.annotation.EnableAspectJAutoProxy; |
||||
import org.springframework.scheduling.annotation.EnableAsync; |
||||
import org.springframework.scheduling.annotation.EnableScheduling; |
||||
|
||||
/** |
||||
* @author borui |
||||
*/ |
||||
@EnableAspectJAutoProxy(exposeProxy = true) |
||||
@MapperScan(basePackages={"com.ecell.internationalize.app.**.mapper"}) |
||||
@EnableAsync |
||||
@EnableCustomSwagger2 |
||||
@EnableFeignClients |
||||
@EnableScheduling |
||||
@SpringBootApplication(scanBasePackages = "com.ecell.internationalize") |
||||
public class EcellInternationalizeApp { |
||||
public static void main(String[] args) { |
||||
SpringApplication.run(EcellInternationalizeApp.class, args); |
||||
System.out.println("易赛国际化app服务系统启动成功"); |
||||
} |
||||
} |
@ -0,0 +1,7 @@
@@ -0,0 +1,7 @@
|
||||
package com.ecell.internationalize.app.entity; |
||||
|
||||
/** |
||||
* @author borui |
||||
*/ |
||||
public class AddressBookApp { |
||||
} |
@ -0,0 +1,7 @@
@@ -0,0 +1,7 @@
|
||||
package com.ecell.internationalize.app.service; |
||||
|
||||
/** |
||||
* @author borui |
||||
*/ |
||||
public interface AddressBookAppService { |
||||
} |
@ -0,0 +1,8 @@
@@ -0,0 +1,8 @@
|
||||
package com.ecell.internationalize.app.service.impl; |
||||
|
||||
/** |
||||
* @author borui |
||||
*/ |
||||
public class AddressBookAppServiceImpl { |
||||
|
||||
} |
@ -0,0 +1,44 @@
@@ -0,0 +1,44 @@
|
||||
package com.ecell.internationalize.system.controller; |
||||
import com.ecell.internationalize.common.core.utils.locale.LocaleUtil; |
||||
import com.ecell.internationalize.common.core.web.domain.AjaxResult; |
||||
import com.ecell.internationalize.common.system.constant.FieldConstant; |
||||
import com.ecell.internationalize.system.service.DeviceStepDailyService; |
||||
import io.swagger.annotations.Api; |
||||
import io.swagger.annotations.ApiOperation; |
||||
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 java.util.Map; |
||||
|
||||
/** |
||||
* <p> |
||||
* 设备步数 前端控制器 |
||||
* </p> |
||||
* |
||||
* @author liy |
||||
* @since 2022-07-11 |
||||
*/ |
||||
@Api(value="设备步数",tags={"设备步数接口"}) |
||||
@RestController |
||||
@RequestMapping("/device_step_daily") |
||||
public class DeviceStepDailyController { |
||||
@Autowired |
||||
private DeviceStepDailyService deviceStepDailyService; |
||||
/** |
||||
* 设备步数条件分页查询 |
||||
* @Author liy |
||||
* @Date 2022/7/12 10:38 |
||||
* @param map 分页条件查询体 |
||||
* @Return AjaxResult |
||||
*/ |
||||
@ApiOperation("条件分页查询设备步数信息") |
||||
@PostMapping("step/list") |
||||
public AjaxResult queryAll(@RequestBody Map<String,Object> map){ |
||||
return AjaxResult.success(LocaleUtil.getMessage(FieldConstant.MESSAGES_SUCCESS),deviceStepDailyService.findAllByPage(map)); |
||||
} |
||||
|
||||
} |
||||
|
@ -0,0 +1,83 @@
@@ -0,0 +1,83 @@
|
||||
package com.ecell.internationalize.system.entity; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill; |
||||
import com.baomidou.mybatisplus.annotation.TableField; |
||||
import com.baomidou.mybatisplus.annotation.TableId; |
||||
import com.baomidou.mybatisplus.annotation.TableName; |
||||
import com.fasterxml.jackson.annotation.JsonFormat; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
import lombok.experimental.Accessors; |
||||
|
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* <p> |
||||
* 设备定位(签到) |
||||
* </p> |
||||
* |
||||
* @author liy |
||||
* @since 2022-07-11 |
||||
*/ |
||||
@Data |
||||
@EqualsAndHashCode(callSuper = false) |
||||
@Accessors(chain = true) |
||||
@TableName("device_position") |
||||
public class DevicePosition { |
||||
|
||||
private static final long serialVersionUID=1L; |
||||
|
||||
/** |
||||
* 主键Id |
||||
*/ |
||||
@TableId("id") |
||||
private String id; |
||||
|
||||
/** |
||||
* 设备iMei |
||||
*/ |
||||
@TableField("i_mei") |
||||
private String mei; |
||||
|
||||
/** |
||||
* 经度 |
||||
*/ |
||||
private String longitude; |
||||
|
||||
/** |
||||
* 纬度 |
||||
*/ |
||||
private String latitude; |
||||
|
||||
/** |
||||
* 定位类型(0:LBS,1:GPS) |
||||
*/ |
||||
private String positionType; |
||||
|
||||
/** |
||||
* 地址 |
||||
*/ |
||||
private String address; |
||||
|
||||
/** |
||||
* 创建人 |
||||
*/ |
||||
private String createUser; |
||||
/** |
||||
* 创建时间 |
||||
*/ |
||||
@TableField(value = "create_time",fill = FieldFill.INSERT) |
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
||||
private Date createTime; |
||||
/** |
||||
* 修改人 |
||||
*/ |
||||
private String updateUser; |
||||
/** |
||||
* 修改时间 |
||||
*/ |
||||
@TableField(value = "update_time",fill = FieldFill.UPDATE) |
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
||||
private Date updateTime; |
||||
|
||||
} |
@ -0,0 +1,29 @@
@@ -0,0 +1,29 @@
|
||||
package com.ecell.internationalize.system.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
||||
import com.ecell.internationalize.system.entity.DeviceStepDaily; |
||||
import org.apache.ibatis.annotations.Param; |
||||
|
||||
import java.util.List; |
||||
import java.util.Map; |
||||
|
||||
/** |
||||
* <p> |
||||
* 设备步数 Mapper 接口 |
||||
* </p> |
||||
* |
||||
* @author liy |
||||
* @since 2022-07-11 |
||||
*/ |
||||
public interface DeviceStepDailyMapper extends BaseMapper<DeviceStepDaily> { |
||||
/** |
||||
* 步数条件分页查询 |
||||
* @Author liy |
||||
* @Date 2022/7/12 15:42 |
||||
* @param page 分页 |
||||
* @param map 查询条件 |
||||
* @return Page |
||||
*/ |
||||
Page<DeviceStepDaily> getList(@Param("page") Page<DeviceStepDaily> page, @Param("map") Map<String, Object> map,@Param("iMeiList") List<String> iMeiList); |
||||
} |
@ -0,0 +1,27 @@
@@ -0,0 +1,27 @@
|
||||
package com.ecell.internationalize.system.service; |
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||
import com.baomidou.mybatisplus.extension.service.IService; |
||||
import com.ecell.internationalize.system.entity.DeviceStepDaily; |
||||
|
||||
import java.util.Map; |
||||
|
||||
/** |
||||
* <p> |
||||
* 设备步数 服务类 |
||||
* </p> |
||||
* |
||||
* @author liy |
||||
* @since 2022-07-11 |
||||
*/ |
||||
public interface DeviceStepDailyService extends IService<DeviceStepDaily> { |
||||
/** |
||||
* 设备步数条件分页查询 |
||||
* @Author liy |
||||
* @Date 2022/7/12 10:42 |
||||
* @param map 分页查询体 |
||||
* @return IPage |
||||
*/ |
||||
IPage<DeviceStepDaily> findAllByPage(Map<String, Object> map); |
||||
|
||||
} |
@ -0,0 +1,73 @@
@@ -0,0 +1,73 @@
|
||||
package com.ecell.internationalize.system.service.impl; |
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
||||
import com.ecell.internationalize.common.core.context.SecurityContextHolder; |
||||
import com.ecell.internationalize.common.system.constant.FieldConstant; |
||||
import com.ecell.internationalize.common.system.entity.SysUser; |
||||
import com.ecell.internationalize.system.entity.DeviceInfo; |
||||
import com.ecell.internationalize.system.entity.DeviceStepDaily; |
||||
import com.ecell.internationalize.system.mapper.DeviceInfoMapper; |
||||
import com.ecell.internationalize.system.mapper.DeviceStepDailyMapper; |
||||
import com.ecell.internationalize.system.mapper.FirmManageMapper; |
||||
import com.ecell.internationalize.system.service.DeviceStepDailyService; |
||||
import org.springframework.beans.factory.annotation.Autowired; |
||||
import org.springframework.stereotype.Service; |
||||
import org.springframework.util.CollectionUtils; |
||||
|
||||
import java.util.List; |
||||
import java.util.Map; |
||||
import java.util.stream.Collectors; |
||||
|
||||
/** |
||||
* <p> |
||||
* 设备步数 服务实现类 |
||||
* </p> |
||||
* |
||||
* @author liy |
||||
* @since 2022-07-11 |
||||
*/ |
||||
@Service |
||||
public class DeviceStepDailyServiceImpl extends ServiceImpl<DeviceStepDailyMapper, DeviceStepDaily> implements DeviceStepDailyService { |
||||
@Autowired |
||||
private DeviceStepDailyMapper deviceStepDailyMapper; |
||||
@Autowired |
||||
private FirmManageMapper firmManageMapper; |
||||
@Autowired |
||||
private DeviceInfoMapper deviceInfoMapper; |
||||
/** |
||||
* 设备步数条件分页查询 |
||||
* @Author liy |
||||
* @Date 2022/7/12 10:42 |
||||
* @param map 分页查询体 |
||||
* @return IPage |
||||
*/ |
||||
@Override |
||||
public IPage<DeviceStepDaily> findAllByPage(Map<String, Object> map) { |
||||
Page<DeviceStepDaily> page=new Page<>(Integer.parseInt(map.get(FieldConstant.CURRENT).toString()),Integer.parseInt(map.get(FieldConstant.SIZE).toString())); |
||||
String userId= SecurityContextHolder.getStringUserId(); |
||||
SysUser sysUser = firmManageMapper.queryFirmId(userId); |
||||
if (FieldConstant.ADMIN.equals(userId) || "3".equals(sysUser.getFirmFlag())){ |
||||
//管理员或者超级厂商显示所有数据
|
||||
return deviceStepDailyMapper.getList(page,map,null); |
||||
} |
||||
LambdaQueryWrapper<DeviceInfo> lambdaQueryWrapper=new LambdaQueryWrapper<>(); |
||||
lambdaQueryWrapper.eq(DeviceInfo::getDelFlag,FieldConstant.DEL_FLAG); |
||||
//厂商
|
||||
if (FieldConstant.MATH_ONE.equals(sysUser.getFirmFlag())){ |
||||
//如果该用户选择的是厂商,显示厂商以及厂商下面的所有代理商设备数据
|
||||
lambdaQueryWrapper.eq(DeviceInfo::getFirmId,sysUser.getFirmId()); |
||||
} |
||||
else { |
||||
lambdaQueryWrapper.eq(DeviceInfo::getAgentId,sysUser.getSecondFirmId()); |
||||
} |
||||
List<DeviceInfo> deviceInfoList = deviceInfoMapper.selectList(lambdaQueryWrapper); |
||||
if (CollectionUtils.isEmpty(deviceInfoList)){ |
||||
return null; |
||||
} |
||||
List<String> iMeiList= deviceInfoList.stream().map(DeviceInfo::getImei).collect(Collectors.toList()); |
||||
return deviceStepDailyMapper.getList(page,map,iMeiList); |
||||
} |
||||
} |
@ -0,0 +1,39 @@
@@ -0,0 +1,39 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||
<mapper namespace="com.ecell.internationalize.system.mapper.DeviceStepDailyMapper"> |
||||
|
||||
<!-- 通用查询映射结果 --> |
||||
<resultMap id="BaseResultMap" type="com.ecell.internationalize.system.entity.DeviceStepDaily"> |
||||
<id column="id" property="id" /> |
||||
<result column="imei" property="imei" /> |
||||
<result column="walks_num" property="walksNum" /> |
||||
<result column="name" property="name" /> |
||||
<result column="walks_distance" property="walksDistance" /> |
||||
<result column="walks_calorie" property="walksCalorie" /> |
||||
<result column="create_user" property="createUser" /> |
||||
<result column="create_time" property="createTime" /> |
||||
<result column="update_user" property="updateUser" /> |
||||
<result column="update_time" property="updateTime" /> |
||||
</resultMap> |
||||
<select id="getList" resultMap="BaseResultMap"> |
||||
select A.id,A.imei,A.walks_num,A.walks_distance,A.walks_calorie,A.create_user,A.create_time,A.update_user,A.update_time,B.name from |
||||
device_step_daily A left join device_owner_info_app B ON A.imei=B.imei |
||||
where 1=1 |
||||
<if test="map.iMei!=null and map.iMei!=''"> |
||||
and A.imei=#{map.iMei} |
||||
</if> |
||||
<if test="map.startTime!=null"> |
||||
<![CDATA[and DATE_FORMAT(A.create_time,'%Y-%m-%d')>=DATE_FORMAT(#{map.startTime},'%Y-%m-%d')]]> |
||||
</if> |
||||
<if test="map.endTime!=null"> |
||||
<![CDATA[and DATE_FORMAT(A.create_time,'%Y-%m-%d')<=DATE_FORMAT(#{map.endTime},'%Y-%m-%d')]]> |
||||
</if> |
||||
<if test="iMeiList!=null and iMeiList.size>0"> |
||||
and A.imei in |
||||
<foreach collection="iMeiList" item="iMeiList" open="(" close=")" separator=","> |
||||
#{iMeiList} |
||||
</foreach> |
||||
</if> |
||||
order by A.create_time desc |
||||
</select> |
||||
</mapper> |
Loading…
Reference in new issue