|
@@ -0,0 +1,102 @@
|
|
|
+package com.sd.business.service.area.impl;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.ruoyi.common.constant.StatusConstant;
|
|
|
+import com.ruoyi.common.core.domain.BasePo;
|
|
|
+import com.ruoyi.common.utils.SecurityUtils;
|
|
|
+import com.sd.business.entity.area.dto.AreaUserDto;
|
|
|
+import com.sd.business.entity.area.dto.AreaUserSelectDto;
|
|
|
+import com.sd.business.entity.area.po.AreaUser;
|
|
|
+import com.sd.business.entity.area.vo.AreaUserVo;
|
|
|
+import com.sd.business.mapper.area.AreaUserMapper;
|
|
|
+import com.sd.business.service.area.AreaService;
|
|
|
+import com.sd.business.service.area.AreaUserService;
|
|
|
+import com.sd.framework.util.Assert;
|
|
|
+import com.sd.framework.util.sql.Sql;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+
|
|
|
+/**
|
|
|
+ * <p>
|
|
|
+ * 用户收货地址 服务实现类
|
|
|
+ * </p>
|
|
|
+ *
|
|
|
+ * @author
|
|
|
+ * @since 2023-11-20
|
|
|
+ */
|
|
|
+@Service
|
|
|
+public class AreaUserServiceImpl extends ServiceImpl<AreaUserMapper, AreaUser> implements AreaUserService {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private AreaService areaService;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Page<AreaUserVo> getPage(AreaUserSelectDto dto) {
|
|
|
+
|
|
|
+ Page<AreaUserVo> page = Sql.create(AreaUserVo.class)
|
|
|
+ .selectAll(AreaUser.class)
|
|
|
+ .from(AreaUser.class)
|
|
|
+ .orderByDesc(AreaUser::getId)
|
|
|
+ .page(dto.getPage());
|
|
|
+
|
|
|
+ List<AreaUserVo> records = page.getRecords();
|
|
|
+ if (records.isEmpty()) {
|
|
|
+ return page;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 赋值 省、市、县、街道 名称
|
|
|
+ areaService.setAreaName(records);
|
|
|
+
|
|
|
+ return page;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public AreaUserVo detail(Long id) {
|
|
|
+
|
|
|
+ AreaUserVo vo = Sql.create(AreaUserVo.class)
|
|
|
+ .selectAll(AreaUser.class)
|
|
|
+ .from(AreaUser.class)
|
|
|
+ .eq(AreaUser::getId, id)
|
|
|
+ .one();
|
|
|
+
|
|
|
+ Assert.notNull(vo, "未知数据");
|
|
|
+
|
|
|
+ // 赋值 省、市、县、街道 名称
|
|
|
+ areaService.setAreaName(vo);
|
|
|
+
|
|
|
+ return vo;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ @Override
|
|
|
+ public void add(AreaUserDto dto) {
|
|
|
+ save(dto);
|
|
|
+ if (StatusConstant.YES.equals(dto.getDefaultAddress())) {
|
|
|
+ update(q -> q
|
|
|
+ .eq(BasePo::getCreateUser, SecurityUtils.getUserId())
|
|
|
+ .set(AreaUser::getDefaultAddress, StatusConstant.NO));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ @Override
|
|
|
+ public void edit(AreaUserDto dto) {
|
|
|
+ updateById(dto);
|
|
|
+ if (StatusConstant.YES.equals(dto.getDefaultAddress())) {
|
|
|
+ update(q -> q
|
|
|
+ .eq(BasePo::getCreateUser, SecurityUtils.getUserId())
|
|
|
+ .set(AreaUser::getDefaultAddress, StatusConstant.NO));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void delete(Long id) {
|
|
|
+ removeById(id);
|
|
|
+ }
|
|
|
+
|
|
|
+}
|