Эх сурвалжийг харах

维修资料品牌名称和客户端名称显示,vci设备的解绑和绑定

bmmx 1 жил өмнө
parent
commit
dfc23c4c33

+ 8 - 8
src/main/java/com/om/controller/admin/AppUserController.java

@@ -116,18 +116,18 @@ public class AppUserController {
 
         return userService.updateUserInfo(user);
     }
-    @PostMapping("/bindingVci")
+    @GetMapping("/bindingVci")
     @ApiOperation("绑定vci")
-    Result bindingVci(@RequestBody AppBindVO bindVO){
+    Result bindingVci(@RequestParam Integer userId,@RequestParam Integer vciId){
 
-        return userService.bindingVci(bindVO);
+        return userService.bindingVci(userId,vciId);
     }
 
-    @PostMapping("/relieveVci")
+    @GetMapping("/relieveVci")
     @ApiOperation("解绑vci")
-    Result relieveVci(@RequestBody AppBindVO bindVO){
+    Result relieveVci(@RequestParam Integer userId,@RequestParam Integer vciId){
 
-        return userService.relieveVci(bindVO);
+        return userService.relieveVci(userId,vciId);
     }
 
     @GetMapping("/getVciByUserId")
@@ -138,8 +138,8 @@ public class AppUserController {
 
     @GetMapping("updateDefaultVci")
     @ApiOperation("修改用户绑定的vci状态")
-    public Result updateDefaultVci(@RequestParam Integer userId,@RequestParam Integer vciId,@RequestParam Integer status){
-        return userService.updateDefaultVci(userId,vciId,status);
+    public Result updateDefaultVci(@RequestParam Integer userId,@RequestParam Integer vciId){
+        return userService.updateDefaultVci(userId,vciId);
     }
 
     @GetMapping("resetPassword")

+ 51 - 0
src/main/java/com/om/entity/vo/WxscPageVO.java

@@ -0,0 +1,51 @@
+package com.om.entity.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+@Data
+@NoArgsConstructor
+public class WxscPageVO implements Serializable {
+
+    @ApiModelProperty("手册id")
+    private Integer id;
+
+    @ApiModelProperty("标题")
+    private String title;
+
+    @ApiModelProperty("语言")
+    private String lang;
+
+    @ApiModelProperty("维修手册名")
+    private String scName;
+
+    @ApiModelProperty("文件链接")
+    private String fileUrl;
+
+    @ApiModelProperty("品牌")
+    private String brandCode;
+    @ApiModelProperty("品牌名称")
+    private String brandName;
+
+    @ApiModelProperty("客户端编号")
+    private String clientCode;
+
+    @ApiModelProperty("客户端名称")
+    private String clientName;
+
+    @ApiModelProperty("创建时间")
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    private LocalDateTime createTime;
+
+    @ApiModelProperty("最近修改时间")
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    private LocalDateTime updateTime;
+}

+ 3 - 3
src/main/java/com/om/service/IUserService.java

@@ -57,13 +57,13 @@ public interface IUserService extends IService<User> {
 
     Result updateVci(AppBaseDTO dto);
 
-    Result bindingVci(AppBindVO bindVO);
+    Result bindingVci(Integer userId,Integer vciId);
 
     Result<List<VciInfo>> getVciByUserId(Integer userId);
 
-    Result relieveVci(AppBindVO bindVO);
+    Result relieveVci(Integer userId, Integer vciId);
 
-    Result updateDefaultVci(Integer userId,Integer vciId, Integer status);
+    Result updateDefaultVci(Integer userId,Integer vciId);
 
     Result resetPassword(Integer id);
 

+ 3 - 1
src/main/java/com/om/service/IWxscService.java

@@ -7,6 +7,8 @@ import com.om.entity.dto.AppWxscQueryPageDTO;
 import com.om.entity.po.Wxsc;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.om.entity.vo.AppWxscQueryPageVO;
+import com.om.entity.vo.WxscPageVO;
+import com.om.entity.vo.WxscVO;
 import com.om.utils.Result;
 
 /**
@@ -19,7 +21,7 @@ import com.om.utils.Result;
  */
 public interface IWxscService extends IService<Wxsc> {
 
-  Page<Wxsc> findManual(Page<Wxsc> objectPage, String code, String title);
+  Page<WxscPageVO> findManual(Page<Wxsc> objectPage, String code, String title);
 
     Result<AppWxscQueryPageVO> appGetPageList(AppWxscQueryPageDTO dto);
 

+ 32 - 53
src/main/java/com/om/service/impl/UserServiceImpl.java

@@ -277,9 +277,9 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
                 }
                 userVci.setVciInfoId(vciInfo.getId());
                 userVci.setUserId(addUser.getId());
-                if (i==1){
+                if (i == 1) {
                     userVci.setIsDefault(1);
-                }else {
+                } else {
                     userVci.setIsDefault(0);
                 }
                 userVciList.add(userVci);
@@ -374,7 +374,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
         }
         List<User> records = page.getRecords();
         List<UserPageVO> userPageVOList = new ArrayList<>();
-        if (!records.isEmpty()){
+        if (!records.isEmpty()) {
             for (User record : records) {
                 UserPageVO userPageVO = new UserPageVO();
                 BeanUtil.copyProperties(record, userPageVO);
@@ -500,7 +500,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
 
         Integer distributorId = userById.getDistributorId();
         //根据id查询维修厂
-        if (distributorId != null){
+        if (distributorId != null) {
             Distributor distributor = distributorService.getById(distributorId);
             if (BeanUtil.isEmpty(distributor)) {
                 throw new BadReqException("该维修厂不存在");
@@ -531,9 +531,9 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
                 if (userVciList1.isEmpty()) {
                     userVci.setVciInfoId(vciInfo.getId());
                     userVci.setUserId(userId);
-                    if (i==1){
+                    if (i == 1) {
                         userVci.setIsDefault(1);
-                    }else {
+                    } else {
                         userVci.setIsDefault(0);
                     }
                     userVciList.add(userVci);
@@ -669,36 +669,20 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
     }
 
     @Override
-    public Result bindingVci(AppBindVO bindVO) {
-        if (BeanUtil.isEmpty(bindVO)) {
-            return Result.error().message("参数为空").result(ResultCode.NO_DATA);
-        }
-        Integer userId = bindVO.getUserId();
-        String vciNum = bindVO.getVciNum();
-
-        LambdaQueryWrapper<VciInfo> vciInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
-        vciInfoLambdaQueryWrapper.eq(VciInfo::getVciNum, vciNum);
-        VciInfo vciInfo = vciInfoService.getOne(vciInfoLambdaQueryWrapper);
-        if (vciInfo == null) {
-            return Result.error().message("VCI设备不存在").result(ResultCode.SERVICE_HANDLE_ERROR);
-        }
+    public Result bindingVci(Integer userId,Integer vciId) {
         UserVci one = userVciService.lambdaQuery()
                 .eq(UserVci::getUserId, userId)
-                .eq(UserVci::getVciInfoId, vciInfo.getId())
+                .eq(UserVci::getVciInfoId, vciId)
                 .one();
         if (BeanUtil.isNotEmpty(one)) {
-            throw new BadReqException("该vci设备已被该用户绑定");
+            throw new BadReqException("该用户已绑定该VCI设备");
         }
 
         UserVci userVci = new UserVci();
         userVci.setUserId(userId);
-        userVci.setVciInfoId(vciInfo.getId());
-        userVci.setIsDefault(1);
-        userVciService.save(userVci);
-
-        return Result.ok();
-
-
+        userVci.setVciInfoId(vciId);
+        userVci.setIsDefault(0);
+        return Result.ok(userVciService.save(userVci));
     }
 
     @Override
@@ -721,43 +705,38 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
     }
 
     @Override
-    public Result relieveVci(AppBindVO bindVO) {
-        if (BeanUtil.isEmpty(bindVO)) {
-            return Result.error().message("参数为空").result(ResultCode.NO_DATA);
-        }
-        Integer userId = bindVO.getUserId();
-        String vciNum = bindVO.getVciNum();
-        LambdaQueryWrapper<VciInfo> vciInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
-        vciInfoLambdaQueryWrapper.eq(VciInfo::getVciNum, vciNum);
-        VciInfo vciInfo = vciInfoService.getOne(vciInfoLambdaQueryWrapper);
-        if (vciInfo == null) {
-            return Result.error().message("VCI设备不存在").result(ResultCode.SERVICE_HANDLE_ERROR);
-        }
-
+    public Result relieveVci(Integer userId, Integer vciId) {
         UserVci one = userVciService.lambdaQuery()
                 .eq(UserVci::getUserId, userId)
-                .eq(UserVci::getVciInfoId, vciInfo.getId())
+                .eq(UserVci::getVciInfoId, vciId)
                 .one();
         if (BeanUtil.isEmpty(one)) {
-            throw new BadReqException("该客户端账号没有绑定该vci设备");
+            throw new BadReqException("该用户没有绑定该VCI设备");
         }
-        this.removeById(one.getId());
 
+        if (one.getVciInfoId() == 1) {
+            throw new BadReqException("不能解绑该VCI设备(该VCI设备为默认设备)");
+        } else {
+            userVciService.removeById(one.getId());
+        }
         return Result.ok();
     }
 
     @Override
-    public Result updateDefaultVci(Integer userId, Integer vciId, Integer status) {
-        //根据userid和vciId 查询
-        UserVci userVci = userVciService.lambdaQuery()
+    public Result updateDefaultVci(Integer userId, Integer vciId) {
+        //根据userid
+        List<UserVci> userVciList = userVciService.lambdaQuery()
                 .eq(UserVci::getUserId, userId)
-                .eq(UserVci::getVciInfoId, vciId)
-                .one();
-        if (BeanUtil.isEmpty(userVci)) {
-            throw new BadReqException("该用户下没有绑定该vci设备");
+                .list();
+        for (UserVci vci : userVciList) {
+            if (vci.getVciInfoId().equals(vciId)) {
+                vci.setIsDefault(1);
+            } else {
+                vci.setIsDefault(0);
+            }
         }
-        userVci.setIsDefault(status);
-        userVciService.updateById(userVci);
+
+        userVciService.updateBatchById(userVciList);
         return Result.ok();
     }
 

+ 30 - 3
src/main/java/com/om/service/impl/WxscServiceImpl.java

@@ -4,20 +4,25 @@ import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.PageUtil;
 import cn.hutool.json.JSONUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.om.entity.dto.*;
+import com.om.entity.po.Brand;
 import com.om.entity.po.Client;
 import com.om.entity.po.Wxsc;
 import com.om.entity.vo.AppWxscQueryPageVO;
 import com.om.entity.vo.AppWxscVO;
+import com.om.entity.vo.WxscPageVO;
 import com.om.exception.BadReqException;
 import com.om.exception.BizException;
+import com.om.mapper.BrandMapper;
 import com.om.mapper.WxscMapper;
 import com.om.service.IClientService;
 import com.om.service.IWxscService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.om.utils.*;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Bean;
 import org.springframework.stereotype.Service;
 
@@ -37,8 +42,10 @@ import java.util.List;
 @Service
 public class WxscServiceImpl extends ServiceImpl<WxscMapper, Wxsc> implements IWxscService {
   private final WxscMapper wxscMapper;
+    @Autowired
+    private BrandMapper brandMapper;
 
-  public WxscServiceImpl(WxscMapper wxscMapper) {
+    public WxscServiceImpl(WxscMapper wxscMapper) {
     this.wxscMapper = wxscMapper;
   }
 
@@ -52,8 +59,28 @@ public class WxscServiceImpl extends ServiceImpl<WxscMapper, Wxsc> implements IW
   private PushUtil pushUtil;
 
   @Override
-  public Page<Wxsc> findManual(Page<Wxsc> page, String code, String title) {
-    return wxscMapper.findManual(page, code, title);
+  public Page<WxscPageVO> findManual(Page<Wxsc> page, String code, String title) {
+      Page<Wxsc> wxscPage = wxscMapper.findManual(page, code, title);
+      List<Wxsc> records = wxscPage.getRecords();
+      Page<WxscPageVO> wxscPageVOPage = new Page<>();
+      BeanUtil.copyProperties(wxscPage, wxscPageVOPage);
+      List<WxscPageVO> wxscPageVOS = new ArrayList<>();
+      for (Wxsc record : records) {
+          String clientCode = record.getClientCode();
+          Client client = clientService.lambdaQuery()
+                  .eq(Client::getNumber, clientCode)
+                  .one();
+          WxscPageVO wxscPageVO = BeanUtil.copyProperties(record, WxscPageVO.class);
+          wxscPageVO.setClientName(client.getName());
+
+          LambdaQueryWrapper<Brand> wrapper = new LambdaQueryWrapper<>();
+          wrapper.eq(Brand::getBrandCode,record.getBrandCode());
+          Brand brand = brandMapper.selectOne(wrapper);
+          wxscPageVO.setBrandName(brand.getBrandCn());
+          wxscPageVOS.add(wxscPageVO);
+      }
+      wxscPageVOPage.setRecords(wxscPageVOS);
+      return wxscPageVOPage;
   }
 
     @Override