夏文涛 2 лет назад
Родитель
Сommit
a6587afe83

+ 1 - 1
src/main/java/com/template/api/SmartUserControllerAPI.java

@@ -120,7 +120,7 @@ public interface SmartUserControllerAPI {
      */
     @PostMapping(value = "smartUserExport")
     @ApiOperation(value = "导出用户数据", notes = "导出用户数据", httpMethod = "POST")
-    void smartUserExport(HttpServletResponse response,@RequestHeader("user_head") String userhead, @Validated @RequestBody smartUserExportRequest suer);
+    CommonResult smartUserExport(HttpServletResponse response,@RequestHeader("user_head") String userhead, @Validated @RequestBody smartUserExportRequest suer);
 
     @PostMapping(value = "/deleteSmartUserByIdOld")
     @ApiOperation(value = "根据ID删除指定用户", notes = "根据ID删除指定用户", httpMethod = "POST")

+ 59 - 50
src/main/java/com/template/controller/SmartUserController.java

@@ -2563,7 +2563,7 @@ public class SmartUserController implements SmartUserControllerAPI {
             List<SmartUser> users = smartUserService.getPhoneUsers(isur.getPhone());
             if (users != null && users.size() > 0) {
                 Optional<SmartUser> ownerUser = users.stream().filter(e -> org.springframework.util.StringUtils.hasText(e.getXOpenId())).findFirst();
-                if(ownerUser != null && ownerUser.isPresent()){
+                if (ownerUser != null && ownerUser.isPresent()) {
                     su.setXOpenId(ownerUser.get().getXOpenId());
                 }
             }
@@ -2843,53 +2843,6 @@ public class SmartUserController implements SmartUserControllerAPI {
                 }
                 //endregion
             } else {
-                //region 希沃新增学生信息
-                if (useXw == 1) {
-                    CommonResult<String> insertStudent = SeewoInsertStudent(seewoClient, su.getName(), su.getCardNo(), su.getSexId(), su.getPhone(), classData.getClassUid());
-                    if (!insertStudent.isSuccess()) {
-                        return CommonResult.fail(insertStudent.getMessage());
-                    } else {
-                        su.setXwStudentUid(insertStudent.getData());
-                    }
-
-                    //上传图片
-                    List<PhotoServiceSavePhotosParam.ThirdSavePhotoQuery> photoList = new ArrayList<>();
-                    PhotoServiceSavePhotosParam.ThirdSavePhotoQuery photo = new PhotoServiceSavePhotosParam.ThirdSavePhotoQuery();
-                    photo.setPhotoUrl(su.getHeadImage());
-                    photo.setUserCode(su.getCardNo());
-                    photoList.add(photo);
-                    CommonResult result = SeewoInsertBatchPhoto(seewoClient, photoList, eSeewoUserType.Student.getValue());
-                    if (!result.isSuccess()) {
-                        return result;
-                    }
-                }
-                //endregion
-
-                //region 百胜新增学生信息
-                if (useBs == 1) {
-                    /**
-                     * 学生数据的有效期是到毕业年份的8月31日
-                     */
-                    String startTime = TimeExchange.DateToString(new Date(), "yyyy-MM-dd HH:mm:ss");
-                    String endTime = queryGraduationYear(gradeData.getGradeNo());
-                    CommonResult<String> insertBsStudent = bsInsertStudent(su.getName(), su.getCardNo(), su.getSexId(), su.getHeadImage(), su.getTimeGroupId(), classData.getBsClassNo(), startTime, endTime, su.getIdCard());
-
-                    if (insertBsStudent.isSuccess()) {
-                        su.setBsStudentNo(insertBsStudent.getData());
-                    } else {
-                        //region 希沃删除学生
-                        //百胜数据插入失败后需要把已插入到希沃的数据删除
-                        CommonResult deleteStudent = SeewoDeleteStudent(seewoClient, classData.getClassUid(), oldCardNo);
-                        if (!deleteStudent.isSuccess()) {
-                            return CommonResult.fail(deleteStudent.getMessage());
-                        }
-                        //endregion
-
-                        return CommonResult.fail("切换身份后," + insertBsStudent.getMessage() + ",百胜无法插入学生数据");
-                    }
-                }
-                //endregion
-
                 if (oldIdentity.intValue() == eIdentityStatu.Parent.getValue()) {
 
                     List<SmartUser> studentDatas = smartUserService.getSmartUserIds(Arrays.asList(oldAffiliate.split(",")));
@@ -2938,6 +2891,54 @@ public class SmartUserController implements SmartUserControllerAPI {
                     }
                     //endregion
                 }
+
+                //region 希沃新增学生信息
+                if (useXw == 1) {
+                    CommonResult<String> insertStudent = SeewoInsertStudent(seewoClient, su.getName(), su.getCardNo(), su.getSexId(), su.getPhone(), classData.getClassUid());
+                    if (!insertStudent.isSuccess()) {
+                        return CommonResult.fail(insertStudent.getMessage());
+                    } else {
+                        su.setXwStudentUid(insertStudent.getData());
+                    }
+
+                    //上传图片
+                    List<PhotoServiceSavePhotosParam.ThirdSavePhotoQuery> photoList = new ArrayList<>();
+                    PhotoServiceSavePhotosParam.ThirdSavePhotoQuery photo = new PhotoServiceSavePhotosParam.ThirdSavePhotoQuery();
+                    photo.setPhotoUrl(su.getHeadImage());
+                    photo.setUserCode(su.getCardNo());
+                    photoList.add(photo);
+                    CommonResult result = SeewoInsertBatchPhoto(seewoClient, photoList, eSeewoUserType.Student.getValue());
+                    if (!result.isSuccess()) {
+                        return result;
+                    }
+                }
+                //endregion
+
+                //region 百胜新增学生信息
+                if (useBs == 1) {
+                    /**
+                     * 学生数据的有效期是到毕业年份的8月31日
+                     */
+                    String startTime = TimeExchange.DateToString(new Date(), "yyyy-MM-dd HH:mm:ss");
+                    String endTime = queryGraduationYear(gradeData.getGradeNo());
+                    CommonResult<String> insertBsStudent = bsInsertStudent(su.getName(), su.getCardNo(), su.getSexId(), su.getHeadImage(), su.getTimeGroupId(), classData.getBsClassNo(), startTime, endTime, su.getIdCard());
+
+                    if (insertBsStudent.isSuccess()) {
+                        su.setBsStudentNo(insertBsStudent.getData());
+                    } else {
+                        //region 希沃删除学生
+                        //百胜数据插入失败后需要把已插入到希沃的数据删除
+                        CommonResult deleteStudent = SeewoDeleteStudent(seewoClient, classData.getClassUid(), oldCardNo);
+                        if (!deleteStudent.isSuccess()) {
+                            return CommonResult.fail(deleteStudent.getMessage());
+                        }
+                        //endregion
+
+                        return CommonResult.fail("切换身份后," + insertBsStudent.getMessage() + ",百胜无法插入学生数据");
+                    }
+                }
+                //endregion
+
             }
 
         } else if (usur.getIdentityId().intValue() == eIdentityStatu.Teacher.getValue()) {//教师
@@ -4633,7 +4634,15 @@ public class SmartUserController implements SmartUserControllerAPI {
      */
     @Override
     @DESRespondSecret(validated = false)
-    public void smartUserExport(HttpServletResponse response, String userhead, smartUserExportRequest sure) {
+    public CommonResult smartUserExport(HttpServletResponse response, String userhead, smartUserExportRequest sure) {
+        if (sure.getGauageOutfitVos() == null) {
+            return CommonResult.fail("表头数据为空");
+        }
+
+        if (sure.getGauageOutfitVos().size() <= 0) {
+            return CommonResult.fail("表头数据为空");
+        }
+
         //region 角色判断
         String userID = AesUtils.decrypt(userhead);
         SmartUser operateData = smartUserService.getSmartById(Integer.valueOf(userID));
@@ -4946,7 +4955,7 @@ public class SmartUserController implements SmartUserControllerAPI {
                 ExcelUtils.excelDownload(workbook, "用户信息.xlsx", response);
             }
         }
-
+        return CommonResult.ok("导出成功");
     }
     //endregion
 

+ 4 - 4
src/main/java/com/template/controller/SmartVisitorController.java

@@ -246,10 +246,10 @@ public class SmartVisitorController implements SmartVisitorControllerAPI {
         //要进行访客数据重复判断
         //那是不是第二次预约的时间不能在那个可访问的时间段内
         //例如:比如,第一次约了7:00-10:00;那第二次:6:00-7:30 或 8:11-13:00都不行
-        Integer count = smartVisitorService.queryVisitorCount(su.getIdCard(), startTime, endTime);
-        if (count > 0) {
-            return CommonResult.fail("该时间段已预约,请勿重复预约!");
-        }
+//        Integer count = smartVisitorService.queryVisitorCount(su.getIdCard(), startTime, endTime);
+//        if (count > 0) {
+//            return CommonResult.fail("该时间段已预约,请勿重复预约!");
+//        }
 
         SmartVisitor sv = new SmartVisitor();
         sv.setUserId(oar.getUserId());

+ 3 - 3
src/main/java/com/template/controller/WechatScanLoginController.java

@@ -124,7 +124,7 @@ public class WechatScanLoginController implements WechatScanLoginControllerAPI {
             if (access != null) {
                 String openid = access.getOpenid();
                 logger.info("openid: " + openid);
-                SmartUser user = wechatScanLoginService.selectByOpenid(openid);
+                SmartUser user = wechatScanLoginService.selectTeacherByOpenid(openid);
                 if (user == null) {        /*不存在*/
                     return "redirect:" + HttpParame.FRONT_URI + "/#/login?message=" + URLEncoder.encode("请绑定信息", "UTF-8");
                 } else {
@@ -405,7 +405,7 @@ public class WechatScanLoginController implements WechatScanLoginControllerAPI {
     @DESRespondSecret(validated = true)
     public CommonResult getMeterDayPage(@RequestBody MeterMonthData meterMonthData, int currentPage, int pageCount) {
         PageHelper.startPage(currentPage, pageCount);
-        PageInfo<MeterMonthData> list = wechatScanLoginService.getMeterDayPage(meterMonthData);
+        PageInfo<MeterMonthDataVo> list = wechatScanLoginService.getMeterDayPage(meterMonthData);
         return CommonResult.ok(list);
     }
 
@@ -653,7 +653,7 @@ public class WechatScanLoginController implements WechatScanLoginControllerAPI {
             u.setXOpenId(openid);
         }
 
-        smartUserService.saveBatch(user);
+        smartUserService.updateUserBatchById(user);
         long expired = 1000 * 60 * 60 * 24 * 365;
         String token = JWTUtil.getToken(user.get(0), expired);
         JSONObject jsonObject = new JSONObject();

+ 1 - 1
src/main/java/com/template/mapper/WechatScanLoginMapper.java

@@ -58,6 +58,6 @@ public interface WechatScanLoginMapper extends BaseMapper<SmartUser> {
     public List<MeterMonthData> getMeterMonthPage(@Param("meterMonthData")MeterMonthData meterMonthData);
 
     // 实时抄表
-    public List<MeterMonthData> getMeterDayPage(@Param("meterMonthData")MeterMonthData meterMonthData);
+    public List<MeterMonthDataVo> getMeterDayPage(@Param("meterMonthData")MeterMonthData meterMonthData);
 
 }

+ 5 - 0
src/main/java/com/template/model/tongji/MeterMonthData.java

@@ -4,6 +4,11 @@ public class MeterMonthData {
 
     public Integer id;
     public String name;
+    /**
+     * 电表:1
+     * 水表:0
+     */
+    public Integer type;
     public String date;
     public Double wNum;
     public Double eNum;

+ 32 - 0
src/main/java/com/template/model/tongji/MeterMonthDataVo.java

@@ -0,0 +1,32 @@
+package com.template.model.tongji;
+
+public class MeterMonthDataVo {
+
+    public Integer id;
+
+    /**
+     * 楼栋
+     */
+    public String buildAddress;
+
+    /**
+     * 位置
+     */
+    public String address;
+
+    /**
+     * 水/电明细数据
+     */
+    public Double meterPower;
+
+    /**
+     * 水/电表号
+     */
+    public String meterNo;
+
+    /**
+     * 通讯时间
+     */
+    public String createTime;
+
+}

+ 3 - 1
src/main/java/com/template/services/WechatScanLoginService.java

@@ -32,6 +32,8 @@ public interface WechatScanLoginService {
 
 	SmartUser selectByOpenid(String openid);
 
+	SmartUser selectTeacherByOpenid(String openid);
+
 	SmartUser selectByCardNo(String CardNo);
 
 	int updateSmartUser(SmartUser sa);
@@ -62,5 +64,5 @@ public interface WechatScanLoginService {
 	public PageInfo<MeterMonthData> getMeterMonthPage(@Param("meterMonthData")MeterMonthData meterMonthData);
 
 	// 实时抄表
-	public PageInfo<MeterMonthData> getMeterDayPage(@Param("meterMonthData")MeterMonthData meterMonthData);
+	public PageInfo<MeterMonthDataVo> getMeterDayPage(@Param("meterMonthData")MeterMonthData meterMonthData);
 }

+ 16 - 3
src/main/java/com/template/services/impl/WechatScanLoginServiceImpl.java

@@ -7,6 +7,7 @@ import com.template.common.constanst.Constanst;
 import com.template.common.utils.*;
 import com.template.mapper.SmartUserMapper;
 import com.template.mapper.WechatScanLoginMapper;
+import com.template.model.enumModel.eIdentityStatu;
 import com.template.model.pojo.SmartUser;
 import com.template.model.tongji.*;
 import com.template.model.weixin.AccessToken;
@@ -165,6 +166,18 @@ public class WechatScanLoginServiceImpl implements WechatScanLoginService {
 	}
 
 	@Override
+	public SmartUser selectTeacherByOpenid(String openid){
+		QueryWrapper<SmartUser> queryWrapper = new QueryWrapper<>();
+		queryWrapper.eq( "open_id", openid);
+		queryWrapper.eq( "identity_id", eIdentityStatu.Teacher.getValue());
+		List<SmartUser> users = smartUserMapper.selectList(queryWrapper);
+		if (users==null || users.size()<=0){
+			return null;
+		}
+		return users.get(0);
+	}
+
+	@Override
 	public SmartUser selectByCardNo(String CardNo){
 		QueryWrapper<SmartUser> queryWrapper = new QueryWrapper<>();
 		queryWrapper.eq( "card_no", CardNo);
@@ -301,9 +314,9 @@ public class WechatScanLoginServiceImpl implements WechatScanLoginService {
 
 	// 实时抄表
 	@Override
-	public PageInfo<MeterMonthData> getMeterDayPage(@Param("meterMonthData")MeterMonthData meterMonthData){
-		List<MeterMonthData> list = wechatScanLoginMapper.getMeterDayPage(meterMonthData);
-		PageInfo<MeterMonthData> meterPageInfo = new PageInfo<>(list);
+	public PageInfo<MeterMonthDataVo> getMeterDayPage(@Param("meterMonthData")MeterMonthData meterMonthData){
+		List<MeterMonthDataVo> list = wechatScanLoginMapper.getMeterDayPage(meterMonthData);
+		PageInfo<MeterMonthDataVo> meterPageInfo = new PageInfo<>(list);
 		return meterPageInfo;
 	}
 }

+ 11 - 11
src/main/resources/mapper/template/WechatScanLoginMapper.xml

@@ -37,12 +37,13 @@
         <result property="num" column="num"/>
     </resultMap>
 
-    <resultMap id="meterMonthData" type="com.template.model.tongji.MeterMonthData">
+    <resultMap id="meterMonthData" type="com.template.model.tongji.MeterMonthDataVo">
         <result property="id" column="id"/>
-        <result property="name" column="name"/>
-        <result property="date" column="date"/>
-        <result property="wNum" column="w_num"/>
-        <result property="eNum" column="e_num"/>
+        <result property="buildAddress" column="build_address"/>
+        <result property="address" column="address"/>
+        <result property="meterPower" column="meter_power"/>
+        <result property="meterNo" column="meter_no"/>
+        <result property="createTime" column="create_time"/>
     </resultMap>
 
     <!--用户类别统计-->
@@ -214,14 +215,13 @@
 
     <!--实时抄表-->
     <select id="getMeterDayPage" resultMap="meterMonthData">
-        select * from (select a.id,a.`name`,a.`date`,a.`num` w_num,b.num as e_num
-        from `day_meter_detail` a,`day_meter_detail` b
-        where a.`type`=0 and b.`type`=1 and a.name=b.`name`
-        and a.`date`=b.`date` ) a
+        select smd.id,sm.build_address,sm.address,smd.meter_power,sm.meter_no,smd.create_time from smart_meter_detail smd
+        left join smart_meter sm on sm.deleted = 0 and sm.id = smd.meter_id
+        where smd.deleted = 0
         <where>
             <if test="meterMonthData.date != null and meterMonthData.date != ''"> AND a.date like concat(#{meterMonthData.date}, '%')</if>
+            <if test="meterMonthData.type != null and meterMonthData.type != ''"> AND a.meter_type = #{meterMonthData.type}</if>
         </where>
-        order by a.date desc
+        order by smd.create_time desc
     </select>
-
 </mapper>