Bladeren bron

mapper引入

chunping 3 jaren geleden
bovenliggende
commit
7af6b17913

+ 108 - 114
mp-admin/src/main/java/com/qs/mp/web/controller/api/channel/ChannelAddrController.java

@@ -17,22 +17,14 @@ import com.qs.mp.channel.service.IChannelAddrService;
 import com.qs.mp.common.core.domain.AjaxResult;
 import com.qs.mp.utils.SecurityUtils;
 import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiOperation;
 import java.util.Date;
 import java.util.List;
 import javax.validation.Valid;
 import lombok.AllArgsConstructor;
 import ma.glasnost.orika.MapperFacade;
-import org.aspectj.weaver.loadtime.Aj;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.Mapping;
-import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
@@ -45,118 +37,120 @@ import org.springframework.web.bind.annotation.RestController;
 public class ChannelAddrController {
 
 
-    @Autowired
-    private IChannelAddrService channelAddrService;
-
-    @Autowired
-    private MapperFacade mapperFacade;
-
-    /**
-     * 选择订单配送地址
-     */
-    @PostMapping("/address/list")
-    @ApiOperation(value = "渠道地址列表", notes = "获取渠道的所有地址信息")
-    public AjaxResult list() {
-        Long channelId = SecurityUtils.getLoginUser().getChannelId();
-        List<ChannelAddr> channelAddrs = channelAddrService.list(new LambdaQueryWrapper<ChannelAddr>().eq(ChannelAddr::getChannelId, channelId).orderByDesc(ChannelAddr::getCommonAddr).orderByDesc(ChannelAddr::getUpdateTime));
-        return AjaxResult.success(channelAddrs);
+  @Autowired
+  private IChannelAddrService channelAddrService;
+
+  @Autowired
+  private MapperFacade mapperFacade;
+
+  /**
+   * 选择订单配送地址
+   */
+  @PostMapping("/address/list")
+  @ApiOperation(value = "渠道地址列表" , notes = "获取渠道的所有地址信息")
+  public AjaxResult list() {
+    Long channelId = SecurityUtils.getLoginUser().getChannelId();
+    List<ChannelAddr> channelAddrs = channelAddrService.list(
+        new LambdaQueryWrapper<ChannelAddr>().eq(ChannelAddr::getChannelId, channelId)
+            .orderByDesc(ChannelAddr::getCommonAddr).orderByDesc(ChannelAddr::getUpdateTime));
+    return AjaxResult.success(channelAddrs);
+  }
+
+  @PostMapping("/address/create")
+  @ApiOperation(value = "新增用户地址" , notes = "新增用户地址")
+  public AjaxResult create(@Valid @RequestBody AddrParam addrParam) {
+    Long channelId = SecurityUtils.getLoginUser().getChannelId();
+
+    if (addrParam.getAddrId() != null && addrParam.getAddrId() != 0) {
+      return AjaxResult.error("该地址已存在");
     }
-
-    @PostMapping("/address/create")
-    @ApiOperation(value = "新增用户地址", notes = "新增用户地址")
-    public AjaxResult create(@Valid @RequestBody AddrParam addrParam) {
-        Long channelId = SecurityUtils.getLoginUser().getChannelId();
-
-        if (addrParam.getAddrId() != null && addrParam.getAddrId() != 0) {
-            return AjaxResult.error("该地址已存在");
-        }
-        int addrCount = channelAddrService.count(new LambdaQueryWrapper<ChannelAddr>().eq(ChannelAddr::getChannelId, channelId));
-        ChannelAddr channelAddr = mapperFacade.map(addrParam, ChannelAddr.class);
-
-        if (addrCount == 0) {
-            channelAddr.setCommonAddr(1);
-        } else {
-            channelAddr.setCommonAddr(0);
-        }
-        channelAddr.setChannelId(channelId);
-        channelAddr.setStatus(1);
-        channelAddr.setCreateTime(new Date());
-        channelAddr.setUpdateTime(new Date());
-        channelAddrService.save(channelAddr);
-
-        return AjaxResult.success("添加地址成功");
+    int addrCount = channelAddrService.count(
+        new LambdaQueryWrapper<ChannelAddr>().eq(ChannelAddr::getChannelId, channelId));
+    ChannelAddr channelAddr = mapperFacade.map(addrParam, ChannelAddr.class);
+
+    if (addrCount == 0) {
+      channelAddr.setCommonAddr(1);
+    } else {
+      channelAddr.setCommonAddr(0);
     }
-
-    /**
-     * 修改订单配送地址
-     */
-    @PostMapping("/address/update")
-    @ApiOperation(value = "修改订单用户地址", notes = "修改用户地址")
-    public AjaxResult update(@Valid @RequestBody AddrParam addrParam) {
-        Long channelId = SecurityUtils.getLoginUser().getUserId();
-
-        ChannelAddr dbChannelAddr = channelAddrService.getChannelAddrByUserId(addrParam.getAddrId(), channelId);
-        if (dbChannelAddr == null) {
-            return AjaxResult.error("该地址已被删除");
-        }
-
-        ChannelAddr channelAddr = mapperFacade.map(addrParam, ChannelAddr.class);
-        channelAddr.setChannelId(channelId);
-        channelAddrService.updateById(channelAddr);
-        return AjaxResult.success("修改地址成功");
+    channelAddr.setChannelId(channelId);
+    channelAddr.setStatus(1);
+    channelAddr.setCreateTime(new Date());
+    channelAddr.setUpdateTime(new Date());
+    channelAddrService.save(channelAddr);
+
+    return AjaxResult.success("添加地址成功");
+  }
+
+  /**
+   * 修改订单配送地址
+   */
+  @PostMapping("/address/update")
+  @ApiOperation(value = "修改订单用户地址" , notes = "修改用户地址")
+  public AjaxResult update(@Valid @RequestBody AddrParam addrParam) {
+    Long channelId = SecurityUtils.getLoginUser().getChannelId();
+
+    ChannelAddr dbChannelAddr = channelAddrService.getChannelAddrByUserId(addrParam.getAddrId(),
+        channelId);
+    if (dbChannelAddr == null) {
+      return AjaxResult.error("该地址已被删除");
     }
 
-    /**
-     * 删除订单配送地址
-     */
-    @PostMapping("/deleteAddr/{addrId}")
-    @ApiOperation(value = "删除订单用户地址", notes = "根据地址id,删除用户地址")
-    @ApiImplicitParam(name = "addrId", value = "地址ID", required = true, dataType = "Long")
-    public AjaxResult deleteDvy(@PathVariable("addrId") Long addrId) {
-        /*String userId = SecurityUtils.getUser().getUserId();
-        UserAddr userAddr = channelAddrService.getUserAddrByUserId(addrId, userId);
-        if (userAddr == null) {
-            return ResponseEntity.badRequest().body("该地址已被删除");
-        }
-        if (userAddr.getCommonAddr() == 1) {
-            return ResponseEntity.badRequest().body("默认地址无法删除");
-        }
-        channelAddrService.removeById(addrId);
-        channelAddrService.removeUserAddrByUserId(addrId, userId);
-        return ResponseEntity.ok("删除地址成功");*/
-        return AjaxResult.success();
+    ChannelAddr channelAddr = mapperFacade.map(addrParam, ChannelAddr.class);
+    channelAddr.setChannelId(channelId);
+    channelAddrService.updateById(channelAddr);
+    return AjaxResult.success("修改地址成功");
+  }
+
+  /**
+   * 删除订单配送地址
+   */
+  @PostMapping("/address/remove")
+  @ApiOperation(value = "删除订单用户地址" , notes = "根据地址id,删除用户地址")
+  public AjaxResult remove(@RequestBody AddrParam addrParam) {
+    if (addrParam.getAddrId() == null || addrParam.getAddrId() == 0) {
+      return AjaxResult.error("参数异常,地址ID缺失");
     }
-
-    /**
-     * 设置默认地址
-     */
-    @PutMapping("/defaultAddr/{addrId}")
-    @ApiOperation(value = "设置默认地址", notes = "根据地址id,设置默认地址")
-    public AjaxResult defaultAddr(@PathVariable("addrId") Long addrId) {
-        /*String userId = SecurityUtils.getUser().getUserId();
-
-        channelAddrService.updateDefaultUserAddr(addrId, userId);
-
-        channelAddrService.removeUserAddrByUserId(0L, userId);
-        channelAddrService.removeUserAddrByUserId(addrId, userId);
-        return ResponseEntity.ok("修改地址成功");*/
-        return AjaxResult.success();
+    Long channelId = SecurityUtils.getLoginUser().getChannelId();
+    ChannelAddr channelAddr = channelAddrService.getChannelAddrByUserId(addrParam.getAddrId(),
+        channelId);
+    if (channelAddr == null) {
+      return AjaxResult.error("该地址已被删除");
     }
-
-    /**
-     * 获取地址信息订单配送地址
-     */
-    @GetMapping("/addrInfo/{addrId}")
-    @ApiOperation(value = "获取地址信息", notes = "根据地址id,获取地址信息")
-    @ApiImplicitParam(name = "addrId", value = "地址ID", required = true, dataType = "Long")
-    public AjaxResult addrInfo(@PathVariable("addrId") Long addrId) {
-        /*String userId = SecurityUtils.getUser().getUserId();
-        UserAddr userAddr = channelAddrService.getUserAddrByUserId(addrId, userId);
-        if (userAddr == null) {
-            throw new YamiShopBindException("该地址已被删除");
-        }
-        return ResponseEntity.ok(mapperFacade.map(userAddr, UserAddrDto.class));*/
-        return AjaxResult.success();
+    if (channelAddr.getCommonAddr() == 1) {
+      return AjaxResult.error("默认地址无法删除");
+    }
+    channelAddrService.removeById(addrParam.getAddrId());
+    return AjaxResult.success();
+  }
+
+  /**
+   * 设置默认地址
+   */
+  @PostMapping("/address/setDefault")
+  @ApiOperation(value = "设置默认地址" , notes = "根据地址id,设置默认地址")
+  public AjaxResult defaultAddr(@RequestBody AddrParam addrParam) {
+    if (addrParam.getAddrId() == null || addrParam.getAddrId() == 0) {
+      return AjaxResult.error("参数异常,地址ID缺失");
+    }
+    Long channelId = SecurityUtils.getLoginUser().getChannelId();
+    channelAddrService.updateDefaultChannelAddr(addrParam.getAddrId(), channelId);
+    return AjaxResult.success();
+  }
+
+  /**
+   * 获取地址信息订单配送地址
+   */
+  @PostMapping("/address/query")
+  @ApiOperation(value = "获取地址信息" , notes = "根据地址id,获取地址信息")
+  public AjaxResult info(@RequestBody AddrParam addrParam) {
+    if (addrParam.getAddrId() == null || addrParam.getAddrId() == 0) {
+      return AjaxResult.error("参数异常,地址ID缺失");
     }
+    Long channelId = SecurityUtils.getLoginUser().getChannelId();
+    ChannelAddr channelAddr = channelAddrService.getChannelAddrByUserId(addrParam.getAddrId(),
+        channelId);
+    return AjaxResult.success(channelAddr);
+  }
 
 }

+ 35 - 0
mp-common/src/main/java/com/qs/mp/common/config/OrikaConfig.java

@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved.
+ *
+ * https://www.mall4j.com/
+ *
+ * 未经允许,不可做商业用途!
+ *
+ * 版权所有,侵权必究!
+ */
+
+package com.qs.mp.common.config;
+
+import ma.glasnost.orika.MapperFacade;
+import ma.glasnost.orika.MapperFactory;
+import ma.glasnost.orika.impl.DefaultMapperFactory;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * MapperFacade 用于dto ->entity的转换
+ * @author zhongcp
+ */
+@Configuration
+public class OrikaConfig {
+
+	@Bean
+	public MapperFactory mapperFactory() {
+		return new DefaultMapperFactory.Builder().build();
+	}
+
+	@Bean
+	public MapperFacade mapperFacade() {
+		return mapperFactory().getMapperFacade();
+	}
+}

+ 4 - 0
mp-service/src/main/java/com/qs/mp/channel/service/impl/ChannelAddrServiceImpl.java

@@ -7,6 +7,7 @@ import com.qs.mp.channel.mapper.ChannelAddrMapper;
 import com.qs.mp.channel.service.IChannelAddrService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 /**
  * <p>
@@ -26,7 +27,10 @@ public class ChannelAddrServiceImpl extends ServiceImpl<ChannelAddrMapper, Chann
   }
 
   @Override
+  @Transactional
   public boolean updateDefaultChannelAddr(Long addrId, Long channelId) {
+    update(new LambdaUpdateWrapper<ChannelAddr>().set(ChannelAddr::getCommonAddr, 0)
+        .eq(ChannelAddr::getChannelId, channelId).eq(ChannelAddr::getCommonAddr, 1));
     return update(new LambdaUpdateWrapper<ChannelAddr>().set(ChannelAddr::getCommonAddr, 1)
         .eq(ChannelAddr::getChannelId, channelId).eq(ChannelAddr::getAddrId, addrId));
   }