Browse Source

fix:修改点位上下限返回值为float
fix:修复已删除数据仍能查出bug
feat:新增获取微信用户信息功能

黄渊昊 6 months ago
parent
commit
61d34478b8

+ 10 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/alarmuser/controller/AlarmUserController.java

@@ -130,4 +130,14 @@ public class AlarmUserController {
     public CommonResult<List<AlarmUser>> list() {
         return CommonResult.data(alarmUserService.myList());
     }
+
+    /**
+     * 获取微信用户信息
+     */
+    @Operation(summary = "获取微信用户信息")
+    @GetMapping("/coldchain/alarmuser/getUserInfo")
+    public CommonResult<AlarmUser> getUserInfo(String code) {
+        alarmUserService.getUserInfo(code);
+        return CommonResult.ok();
+    }
 }

+ 1 - 1
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/alarmuser/param/AlarmUserPageParam.java

@@ -50,6 +50,6 @@ public class AlarmUserPageParam {
 
     /** 微信昵称 */
     @Schema(description = "微信昵称")
-    private String nickname;
+    private String nickName;
 
 }

+ 6 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/alarmuser/service/AlarmUserService.java

@@ -82,4 +82,10 @@ public interface AlarmUserService extends IService<AlarmUser> {
      * 根据登录人所属组织获取
      */
     List<AlarmUser> myList();
+
+    /**
+     * 获取微信用户信息
+     * @param code
+     */
+    void getUserInfo(String code);
 }

+ 24 - 2
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/alarmuser/service/impl/AlarmUserServiceImpl.java

@@ -24,6 +24,8 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import vip.xiaonuo.auth.core.pojo.SaBaseLoginUser;
 import vip.xiaonuo.auth.core.util.StpLoginUserUtil;
+import vip.xiaonuo.coldchain.modular.push.entity.WeChatUser;
+import vip.xiaonuo.coldchain.modular.push.utils.PushUtil;
 import vip.xiaonuo.common.enums.CommonDeleteFlagEnum;
 import vip.xiaonuo.common.enums.CommonSortOrderEnum;
 import vip.xiaonuo.common.exception.CommonException;
@@ -51,8 +53,8 @@ public class AlarmUserServiceImpl extends ServiceImpl<AlarmUserMapper, AlarmUser
     public Page<AlarmUser> page(AlarmUserPageParam alarmUserPageParam) {
         SaBaseLoginUser loginUser = StpLoginUserUtil.getLoginUser();
         QueryWrapper<AlarmUser> queryWrapper = new QueryWrapper<AlarmUser>().checkSqlInjection();
-        if(ObjectUtil.isNotEmpty(alarmUserPageParam.getNickname())) {
-            queryWrapper.lambda().like(AlarmUser::getNickName, alarmUserPageParam.getNickname());
+        if(ObjectUtil.isNotEmpty(alarmUserPageParam.getNickName())) {
+            queryWrapper.lambda().like(AlarmUser::getNickName, alarmUserPageParam.getNickName());
         }
         if(ObjectUtil.isAllNotEmpty(alarmUserPageParam.getSortField(), alarmUserPageParam.getSortOrder())) {
             CommonSortOrderEnum.validate(alarmUserPageParam.getSortOrder());
@@ -109,4 +111,24 @@ public class AlarmUserServiceImpl extends ServiceImpl<AlarmUserMapper, AlarmUser
         List<AlarmUser> list = list(queryWrapper);
         return list;
     }
+
+    @Override
+    public void getUserInfo(String code) {
+        WeChatUser userInfo = PushUtil.getUserInfo(code);
+        if(ObjectUtil.isEmpty(userInfo)) {
+            throw new CommonException("获取用户信息失败");
+        }
+        AlarmUser alarmUser = getByOpenId(userInfo.getOpenid());
+        if (ObjectUtil.isNotNull(alarmUser)) {
+            this.updateById(alarmUser);
+        } else {
+            this.save(alarmUser);
+        }
+    }
+
+    AlarmUser getByOpenId(String openId) {
+        LambdaQueryWrapper<AlarmUser> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(AlarmUser::getOpenId, openId).eq(AlarmUser::getDeleteFlag, CommonDeleteFlagEnum.NOT_DELETE);
+        return getOne(queryWrapper);
+    }
 }

+ 1 - 1
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitortarget/mapper/mapping/MonitorTargetMapper.xml

@@ -6,9 +6,9 @@
         select status, count(`status`) as count
         from `monitor_target`
         where `CREATE_ORG` = #{orgId}
+        and delete_flag = 'NOT_DELETE'
         <if test="name != null">
             and name like '%${name}%'
-            and delete_flag = 'NOT_DELETE'
         </if>
         group by status
     </select>

+ 2 - 1
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitortargetregion/controller/MonitorTargetRegionController.java

@@ -60,7 +60,8 @@ public class MonitorTargetRegionController {
     @SaCheckPermission("/coldchain/monitortargetregion/page")
     @GetMapping("/coldchain/monitortargetregion/page")
     public CommonResult<Page<MonitorTargetRegion>> page(MonitorTargetRegionPageParam monitorTargetRegionPageParam) {
-        return CommonResult.data(monitorTargetRegionService.page(monitorTargetRegionPageParam));
+        CommonResult<Page<MonitorTargetRegion>> data = CommonResult.data(monitorTargetRegionService.page(monitorTargetRegionPageParam));
+        return data;
     }
 
     /**

+ 8 - 8
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitortargetregion/entity/MonitorTargetRegion.java

@@ -105,15 +105,15 @@ public class MonitorTargetRegion extends OrgEntity {
      * 温度报警上限 temperature humidity co2
      */
     @Schema(description = "温度报警上限")
-    @JsonSerialize(using = FloatNullToDashSerializer.class)
-//    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "#.00")
+//    @JsonSerialize(using = FloatNullToDashSerializer.class)
+//    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern = "#.00")
     private Float temperatureUp;
     /**
      * 温度报警下限
      */
     @Schema(description = "温度报警下限")
-    @JsonSerialize(using = FloatNullToDashSerializer.class)
-//    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "#.00")
+//    @JsonSerialize(using = FloatNullToDashSerializer.class)
+//    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern = "#.00")
     private Float temperatureDown;
 
     /**
@@ -121,14 +121,14 @@ public class MonitorTargetRegion extends OrgEntity {
      */
 
     @Schema(description = "湿度报警上限")
-    @JsonSerialize(using = FloatNullToDashSerializer.class)
+//    @JsonSerialize(using = FloatNullToDashSerializer.class)
 //    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "#.00")
     private Float humidityUp;
     /**
      * 湿度报警下限
      */
     @Schema(description = "湿度报警下限")
-    @JsonSerialize(using = FloatNullToDashSerializer.class)
+//    @JsonSerialize(using = FloatNullToDashSerializer.class)
 //    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "#.00")
     private Float humidityDown;
 
@@ -136,7 +136,7 @@ public class MonitorTargetRegion extends OrgEntity {
      * 二氧化碳报警上限 temperature humidity co2
      */
     @Schema(description = "二氧化碳报警上限")
-    @JsonSerialize(using = FloatNullToDashSerializer.class)
+//    @JsonSerialize(using = FloatNullToDashSerializer.class)
 //    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "#.00")
     private Float co2Up;
 
@@ -144,7 +144,7 @@ public class MonitorTargetRegion extends OrgEntity {
      * 二氧化碳报警下限
      */
     @Schema(description = "二氧化碳报警下限")
-    @JsonSerialize(using = FloatNullToDashSerializer.class)
+//    @JsonSerialize(using = FloatNullToDashSerializer.class)
 //    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "#.00")
     private Float co2Down;
 

+ 10 - 3
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/push/utils/PushUtil.java

@@ -23,14 +23,16 @@ import java.util.Objects;
  * 推送类
  */
 public class PushUtil {
-    private final static String TOKEN = "abcd1234";
-    private final static String ENCODING = "UTF-8";
     private final static String ACCESS_TOKEN = "access_token";
-    private final static String REFRESH_TOKEN = "refresh_token";
     private final static String OPEN_ID = "openid";
     private final static String NICK_NAME = "nickname";
     private final static String SEX = "sex";
     private final static String HEAD_IMG_URL = "headimgurl";
+    private final static String PROVINCE = "province";
+    private final static String CITY = "city";
+    private final static String COUNTRY = "country";
+    private final static String PRIVILEGE = "privilege";
+    private final static String UNION_ID = "unionid";
 
     private static WxMpConfigStorage wxMpConfigStorage() {
         WxMpDefaultConfigImpl config = new WxMpDefaultConfigImpl();
@@ -113,6 +115,11 @@ public class PushUtil {
         weChatUser.setNickname(jsonObject.getStr(NICK_NAME));
         weChatUser.setSex(jsonObject.getStr(SEX));
         weChatUser.setAvatar(jsonObject.getStr(HEAD_IMG_URL));
+        weChatUser.setProvince(jsonObject.getStr(PROVINCE));
+        weChatUser.setCity(jsonObject.getStr(CITY));
+        weChatUser.setCountry(jsonObject.getStr(COUNTRY));
+        weChatUser.setPrivilege(jsonObject.getStr(PRIVILEGE));
+        weChatUser.setUnionid(jsonObject.getStr(UNION_ID));
         return weChatUser;
     }
 }