栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java电商项目搭建-------地址模块

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java电商项目搭建-------地址模块

努力好了,时间会给你答案。--------magic_guo

对于地址模块的搭建就比较简单了,以下我梳理了地址模块的一些信息;直接看图:
地址模块展示栏:

从上图中可以看地址模块的一些操作:
功能分析:

值得注意的是,添加地址是有两种操作:
1、添加的地址是否设为默认地址;
这就意味我们要做一个判断,这里牵涉了两个sql语句:①.插入这条地址信息;②.将该用户的其他默认地址设置为非默认地址;
2、不判断地址是否设置为默认地址,添加进来的都为非默认地址
直接添加地址,不用考虑用户传进来的是否是默认的,都设为非默认地址,然后让用户自己管理操作;只需设置一个将地址改为默认的接口即可;

我参考了淘宝app的地址管理模块,没有说添加的时候就将此地址设置为默认地址,而是由用户来管理自己的地址;就是我们上述的第二种操作;

看代码:
pom依赖:


        
            com.guo
            shop-common
        

        
            org.springframework.boot
            spring-boot-starter-web
        
        
            org.springframework.cloud
            spring-cloud-starter-config
        
        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-client
        

        
            mysql
            mysql-connector-java
            runtime
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

controller控制接口层:

@RequestMapping("/address")
@RestController
public class AddressController {

    @Autowired
    private IAddressService addressService;

    @RequestMapping("/addAddress")
    @LoginUser
    public ResultEntity addAddress(User user, Address address) {

        if (user.getId() == null) {
            return ResultEntity.error("还未登录,请登录");
        }
        address.setUid(user.getId());

        boolean insert = addressService.insert(address);

        return ResultEntity.success(insert);
    }

    @RequestMapping("/updateAddress")
    @LoginUser
    public ResultEntity updateAddress(User user, Integer addressId, Address address) {

        address.setUid(user.getId());
        EntityWrapper
addressEntityWrapper = new EntityWrapper<>(); addressEntityWrapper.eq("id", addressId); addressEntityWrapper.eq("uid", user.getId()); boolean update = addressService.update(address, addressEntityWrapper); return ResultEntity.success(update); } @RequestMapping("/setDefAddress") @LoginUser public ResultEntity setDefAddress(User user, Integer addressId) { addressService.setDefAddress(user.getId(), addressId); return ResultEntity.success(); } @RequestMapping("/delAddress") @LoginUser public ResultEntity delAddress(User user, Integer addressId) { boolean b = addressService.deleteById(addressId); return ResultEntity.success(b); } @RequestMapping("/getAllAddress") @LoginUser public ResultEntity getAllAddress(User user) { EntityWrapper
addressEntityWrapper = new EntityWrapper<>(); addressEntityWrapper.eq("uid", user.getId()); List
addresses = addressService.selectList(addressEntityWrapper); return ResultEntity.success(addresses); } }

sevice接口层:

public interface IAddressService extends IService
{ void setDefAddress(Integer id, Integer addressId); }

servicesImpl实现层:

@Service
public class AddressServiceImpl extends ServiceImpl implements IAddressService {

    @Override
    @Transactional
    public void setDefAddress(Integer uid, Integer addressId) {
        // 将所有地址设为非默认地址
        baseMapper.setAllAddressToDef(uid);
        // 将此id的地址位置为默认地址
        baseMapper.setDefAddress(uid, addressId);
    }
}

mapper层:

public interface AddressMapper extends baseMapper
{ void setAllAddressToDef(Integer uid); void setDefAddress(@Param("uid") Integer uid, @Param("addressId") Integer addressId); }

mapper.xml:





    
        update
            t_address
        set
            def = 0
        where
            uid = #{uid}
    

    
        update
            t_address
        set
            def = 1
        where
            uid = #{uid} and id = #{addressId}
    
    

配置文件:

spring:
  cloud:
    config:
      uri: http://localhost:9999
      profile: shop-address, eureka-client, log, datasource
      name: application
mybatis-plus:
  mapper-locations: classpath:mapper/*.xml
  type-aliases-package: com.guo

config配置文件:

spring:
  application:
    name: shop-address
server:
  port: 8012

启动类:

@SpringBootApplication(scanbasePackages = "com.guo")
@EnableEurekaClient
@MapperScan("com.guo.mapper")
public class ShopAddressApplication {

    public static void main(String[] args) {
        SpringApplication.run(ShopAddressApplication.class, args);
    }

}

完工!


本文章教学视频来自:https://www.bilibili.com/video/BV1tb4y1Q74E?p=3&t=125并做一些自己的更改!


静下心,慢慢来,会很快!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/272428.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号