From 22a08f5e51bd21995c68ec47c57e3c97a02f4b4d Mon Sep 17 00:00:00 2001 From: 13405411873 <1994398261@qq.com> Date: Thu, 12 Oct 2023 17:57:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business/store/entity/ChainStoreInfo.java | 105 ++---------------- .../fuint/business/store/entity}/MtStore.java | 49 ++------ .../business/store}/mapper/MtStoreMapper.java | 5 +- .../store/mapper/xml}/MtStoreMapper.xml | 18 +-- .../store}/service/StoreService.java | 4 +- .../store}/service/impl/StoreServiceImpl.java | 52 +-------- .../fuint/common/constant/UserConstants.java | 4 +- .../com/fuint/common/dto/ConfirmLogDto.java | 2 +- .../java/com/fuint/common/dto/GoodsDto.java | 2 +- .../com/fuint/common/dto/MyCouponDto.java | 2 +- .../com/fuint/common/dto/OpenGiftDto.java | 2 +- .../com/fuint/common/dto/UserOrderDto.java | 2 +- .../service/impl/AccountServiceImpl.java | 2 + .../service/impl/AlipayServiceImpl.java | 7 +- .../common/service/impl/CateServiceImpl.java | 4 +- .../service/impl/ConfirmLogServiceImpl.java | 3 +- .../service/impl/CouponServiceImpl.java | 2 + .../common/service/impl/GoodsServiceImpl.java | 13 +-- .../service/impl/MemberServiceImpl.java | 2 + .../service/impl/MerchantServiceImpl.java | 7 +- .../common/service/impl/OrderServiceImpl.java | 2 + .../service/impl/SettlementServiceImpl.java | 2 + .../common/service/impl/StaffServiceImpl.java | 4 +- .../service/impl/UserCouponServiceImpl.java | 2 + .../service/impl/WeixinServiceImpl.java | 14 +-- .../controller/BackendArticleController.java | 4 +- .../controller/BackendBannerController.java | 4 +- .../controller/BackendCashierController.java | 2 + .../controller/BackendCateController.java | 4 +- .../BackendCommissionLogController.java | 4 +- .../BackendCommissionRuleController.java | 4 +- .../controller/BackendCouponController.java | 2 + .../controller/BackendGoodsController.java | 2 + .../controller/BackendMemberController.java | 2 + .../controller/BackendOrderController.java | 3 +- .../controller/BackendStockController.java | 2 + .../controller/BackendStoreController.java | 4 +- .../BackendUserCouponController.java | 2 + .../controller/ClientSignController.java | 3 +- .../controller/ClientStoreController.java | 4 +- .../controller/ClientSystemController.java | 7 +- .../dept/controller/SysDeptController.java | 5 +- .../com/fuint/system/dept/entity/SysDept.java | 13 +-- .../system/dept/mapper/SysDeptMapper.java | 7 -- .../system/dept/mapper/xml/SysDeptMapper.xml | 13 +-- .../system/dept/service/ISysDeptService.java | 2 +- .../dept/service/impl/SysDeptServiceImpl.java | 72 +++++++++++- .../com/fuint/system/dict/util/DictUtils.java | 3 +- .../controller/BackendAccountController.java | 7 +- 49 files changed, 177 insertions(+), 309 deletions(-) rename fuintBackend/{fuint-repository/src/main/java/com/fuint/repository/model => fuint-application/src/main/java/com/fuint/business/store/entity}/MtStore.java (60%) rename fuintBackend/{fuint-repository/src/main/java/com/fuint/repository => fuint-application/src/main/java/com/fuint/business/store}/mapper/MtStoreMapper.java (85%) rename fuintBackend/{fuint-repository/src/main/resources/mapper => fuint-application/src/main/java/com/fuint/business/store/mapper/xml}/MtStoreMapper.xml (56%) rename fuintBackend/fuint-application/src/main/java/com/fuint/{common => business/store}/service/StoreService.java (96%) rename fuintBackend/fuint-application/src/main/java/com/fuint/{common => business/store}/service/impl/StoreServiceImpl.java (84%) diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/store/entity/ChainStoreInfo.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/store/entity/ChainStoreInfo.java index 585249acb..a1dc04bb9 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/store/entity/ChainStoreInfo.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/store/entity/ChainStoreInfo.java @@ -1,7 +1,12 @@ package com.fuint.business.store.entity; import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; + import java.io.Serializable; /** @@ -10,20 +15,16 @@ import java.io.Serializable; * @author makejava * @since 2023-10-11 13:17:02 */ -@SuppressWarnings("serial") +@Data public class ChainStoreInfo extends Model { //主键 + @TableId(type = IdType.AUTO) private Integer id; //连锁店名称 private String storeName; - //总店地址 - private String storeAddress; //总店联系方式 private String storePhone; - //总店经度 - private String storeLat; - //总店纬度 - private String storeLng; + private Long contractDeptId; //创建时间 private Date createTime; //创建人 @@ -33,95 +34,5 @@ public class ChainStoreInfo extends Model { //更新人 private String updateBy; - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public String getStoreName() { - return storeName; - } - - public void setStoreName(String storeName) { - this.storeName = storeName; - } - - public String getStoreAddress() { - return storeAddress; - } - - public void setStoreAddress(String storeAddress) { - this.storeAddress = storeAddress; - } - - public String getStorePhone() { - return storePhone; - } - - public void setStorePhone(String storePhone) { - this.storePhone = storePhone; - } - - public String getStoreLat() { - return storeLat; - } - - public void setStoreLat(String storeLat) { - this.storeLat = storeLat; - } - - public String getStoreLng() { - return storeLng; - } - - public void setStoreLng(String storeLng) { - this.storeLng = storeLng; - } - - public Date getCreateTime() { - return createTime; - } - - public void setCreateTime(Date createTime) { - this.createTime = createTime; - } - - public String getCreateBy() { - return createBy; - } - - public void setCreateBy(String createBy) { - this.createBy = createBy; - } - - public Date getUpdateTime() { - return updateTime; - } - - public void setUpdateTime(Date updateTime) { - this.updateTime = updateTime; - } - - public String getUpdateBy() { - return updateBy; - } - - public void setUpdateBy(String updateBy) { - this.updateBy = updateBy; - } - - /** - * 获取主键值 - * - * @return 主键值 - */ - @Override - protected Serializable pkVal() { - return this.id; - } } diff --git a/fuintBackend/fuint-repository/src/main/java/com/fuint/repository/model/MtStore.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/store/entity/MtStore.java similarity index 60% rename from fuintBackend/fuint-repository/src/main/java/com/fuint/repository/model/MtStore.java rename to fuintBackend/fuint-application/src/main/java/com/fuint/business/store/entity/MtStore.java index de97fe179..d641e6d86 100644 --- a/fuintBackend/fuint-repository/src/main/java/com/fuint/repository/model/MtStore.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/store/entity/MtStore.java @@ -1,4 +1,4 @@ -package com.fuint.repository.model; +package com.fuint.business.store.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; @@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; + +import com.fuint.repository.model.base.BaseEntity; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -21,44 +23,27 @@ import lombok.Setter; @Setter @TableName("mt_store") @ApiModel(value = "MtStore对象", description = "店铺表") -public class MtStore implements Serializable { +public class MtStore extends BaseEntity implements Serializable { private static final long serialVersionUID = 1L; @ApiModelProperty("自增ID") @TableId(value = "ID", type = IdType.AUTO) private Integer id; - - @ApiModelProperty("所属商户ID") - private Integer merchantId; - + @ApiModelProperty("连锁店主键") + private Integer chainStoreId; + @ApiModelProperty("关联机构主键") + private Long contractDeptId; @ApiModelProperty("店铺名称") private String name; @ApiModelProperty("商户logo") private String logo; - @ApiModelProperty("是否默认") - private String isDefault; @ApiModelProperty("联系人姓名") private String contact; - @ApiModelProperty("微信支付商户号") - private String wxMchId; - - @ApiModelProperty("微信支付APIv2密钥") - private String wxApiV2; - - @ApiModelProperty("支付宝appId") - private String alipayAppId; - - @ApiModelProperty("支付宝应用私钥") - private String alipayPrivateKey; - - @ApiModelProperty("支付宝应用公钥") - private String alipayPublicKey; - @ApiModelProperty("联系电话") private String phone; @@ -83,28 +68,10 @@ public class MtStore implements Serializable { @ApiModelProperty("统一社会信用代码") private String creditCode; - @ApiModelProperty("银行名称") - private String bankName; - - @ApiModelProperty("银行卡账户名") - private String bankCardName; - - @ApiModelProperty("银行卡卡号") - private String bankCardNo; - @ApiModelProperty("备注信息") private String description; - @ApiModelProperty("创建时间") - private Date createTime; - - @ApiModelProperty("更新时间") - private Date updateTime; - @ApiModelProperty("状态,A:有效/启用;D:无效") private String status; - @ApiModelProperty("最后操作人") - private String operator; - } diff --git a/fuintBackend/fuint-repository/src/main/java/com/fuint/repository/mapper/MtStoreMapper.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/store/mapper/MtStoreMapper.java similarity index 85% rename from fuintBackend/fuint-repository/src/main/java/com/fuint/repository/mapper/MtStoreMapper.java rename to fuintBackend/fuint-application/src/main/java/com/fuint/business/store/mapper/MtStoreMapper.java index 564697e47..2cdc3f0e9 100644 --- a/fuintBackend/fuint-repository/src/main/java/com/fuint/repository/mapper/MtStoreMapper.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/store/mapper/MtStoreMapper.java @@ -1,7 +1,7 @@ -package com.fuint.repository.mapper; +package com.fuint.business.store.mapper; import com.fuint.repository.bean.StoreDistanceBean; -import com.fuint.repository.model.MtStore; +import com.fuint.business.store.entity.MtStore; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; @@ -17,7 +17,6 @@ public interface MtStoreMapper extends BaseMapper { MtStore queryStoreByName(@Param("name") String name); - void resetDefaultStore(); List findStoresByIds(@Param("ids") List ids); diff --git a/fuintBackend/fuint-repository/src/main/resources/mapper/MtStoreMapper.xml b/fuintBackend/fuint-application/src/main/java/com/fuint/business/store/mapper/xml/MtStoreMapper.xml similarity index 56% rename from fuintBackend/fuint-repository/src/main/resources/mapper/MtStoreMapper.xml rename to fuintBackend/fuint-application/src/main/java/com/fuint/business/store/mapper/xml/MtStoreMapper.xml index 898adb7c4..c2c1d59c2 100644 --- a/fuintBackend/fuint-repository/src/main/resources/mapper/MtStoreMapper.xml +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/store/mapper/xml/MtStoreMapper.xml @@ -1,16 +1,13 @@ - - + select * from mt_store t where t.name = #{name} - - update mt_store p set p.IS_DEFAULT = 'N' - - + select * from mt_store where id in #{id} @@ -18,10 +15,7 @@ select * from sys_dept d - where d.del_flag = '0' + where 1=1 AND dept_id = #{dept.deptId} @@ -53,7 +53,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -91,9 +91,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{deptId} - - - update sys_dept set del_flag = '2' where dept_id = #{deptId} - + \ No newline at end of file diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/system/dept/service/ISysDeptService.java b/fuintBackend/fuint-application/src/main/java/com/fuint/system/dept/service/ISysDeptService.java index e282f06a0..0243004a9 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/system/dept/service/ISysDeptService.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/system/dept/service/ISysDeptService.java @@ -94,7 +94,7 @@ public interface ISysDeptService extends IService * @param dept 部门信息 * @return 结果 */ - public int insertDept(SysDept dept); + public int insertDept(SysDept dept) throws Exception; /** * 修改保存部门信息 diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/system/dept/service/impl/SysDeptServiceImpl.java b/fuintBackend/fuint-application/src/main/java/com/fuint/system/dept/service/impl/SysDeptServiceImpl.java index b41264f72..1ebf94265 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/system/dept/service/impl/SysDeptServiceImpl.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/system/dept/service/impl/SysDeptServiceImpl.java @@ -1,7 +1,13 @@ package com.fuint.system.dept.service.impl; +import cn.hutool.core.util.ObjectUtil; import com.aliyun.oss.ServiceException; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.fuint.business.store.entity.ChainStoreInfo; +import com.fuint.business.store.entity.MtStore; +import com.fuint.business.store.service.ChainStoreInfoService; +import com.fuint.business.store.service.StoreService; import com.fuint.common.constant.UserConstants; import com.fuint.common.domain.TreeSelect; import com.fuint.common.dto.AccountInfo; @@ -14,6 +20,7 @@ import com.fuint.system.dept.mapper.SysDeptMapper; import com.fuint.system.dept.service.ISysDeptService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.Iterator; @@ -29,6 +36,11 @@ import java.util.stream.Collectors; public class SysDeptServiceImpl extends ServiceImpl implements ISysDeptService { + @Autowired + private ChainStoreInfoService chainStoreService; + @Autowired + private StoreService storeService; + /** * 查询部门管理数据 * @@ -173,8 +185,8 @@ public class SysDeptServiceImpl extends ServiceImpl imple * @return 结果 */ @Override - public int insertDept(SysDept dept) - { + @Transactional(rollbackFor = Exception.class) + public int insertDept(SysDept dept) throws Exception { if (null!=dept.getParentId()){ SysDept info = baseMapper.selectDeptById(dept.getParentId()); // 如果父节点不为正常状态,则不允许新增子节点 @@ -184,6 +196,47 @@ public class SysDeptServiceImpl extends ServiceImpl imple } dept.setAncestors(info.getAncestors() + "," + dept.getParentId()); } + //处理店铺 + if(StringUtils.isNotEmpty(dept.getDeptType())){ + if (dept.getDeptType().equals("3")){ + //基本门店 + SysDept parentDept = this.getById(dept.getParentId()); + if (parentDept.getDeptType().equals("2")){ + //父节点是连锁店 + LambdaQueryWrapper queryWrapper =new LambdaQueryWrapper<>(); + queryWrapper.eq(ChainStoreInfo::getContractDeptId,parentDept.getDeptId()); + ChainStoreInfo chainStoreInfo = chainStoreService.getOne(queryWrapper); + if (ObjectUtil.isNotEmpty(chainStoreInfo)){ + MtStore store =new MtStore(); + store.setName(dept.getDeptName()); + store.setChainStoreId(chainStoreInfo.getId()); + store.setContractDeptId(dept.getDeptId()); + storeService.save(store); + }else { + throw new Exception("数据有误,请联系管理员"); + } + }else { + throw new Exception("请先创建连锁店节点,在建立普通门店"); + } + }else if(dept.getDeptType().equals("2")){ + //连锁店 + SysDept parentDept = this.getById(dept.getParentId()); + if (parentDept.getDeptType().equals("1")){ + ChainStoreInfo chainStoreInfo = new ChainStoreInfo(); + chainStoreInfo.setStoreName(dept.getDeptName()); + chainStoreInfo.setContractDeptId(dept.getDeptId()); + chainStoreService.save(chainStoreInfo); + }else { + throw new Exception("请在正确的节点类型下创建连锁店"); + } + } + }else { + //代理商 + dept.setDeptType("1"); + } + if (StringUtils.isEmpty(dept.getStatus())){ + dept.setStatus("qy"); + } return baseMapper.insert(dept); } @@ -205,6 +258,19 @@ public class SysDeptServiceImpl extends ServiceImpl imple dept.setAncestors(newAncestors); updateDeptChildren(dept.getDeptId(), newAncestors, oldAncestors); } + if (dept.getDeptType().equals("2")){ + LambdaQueryWrapper queryWrapper =new LambdaQueryWrapper<>(); + queryWrapper.eq(ChainStoreInfo::getContractDeptId,dept.getDeptId()); + ChainStoreInfo chainStoreInfo = chainStoreService.getOne(queryWrapper); + chainStoreInfo.setStoreName(dept.getDeptName()); + chainStoreService.updateById(chainStoreInfo); + }else if (dept.getDeptType().equals("3")){ + LambdaQueryWrapper queryWrapper =new LambdaQueryWrapper<>(); + queryWrapper.eq(MtStore::getContractDeptId,dept.getDeptId()); + MtStore store = storeService.getOne(queryWrapper); + store.setName(dept.getDeptName()); + storeService.updateById(store); + } int result = baseMapper.updateById(dept); if (UserConstants.DEPT_NORMAL.equals(dept.getStatus()) && StringUtils.isNotEmpty(dept.getAncestors()) && !StringUtils.equals("0", dept.getAncestors())) @@ -256,7 +322,7 @@ public class SysDeptServiceImpl extends ServiceImpl imple @Override public int deleteDeptById(Long deptId) { - return baseMapper.deleteDeptById(deptId); + return baseMapper.deleteById(deptId); } /** diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/system/dict/util/DictUtils.java b/fuintBackend/fuint-application/src/main/java/com/fuint/system/dict/util/DictUtils.java index 11f075500..5544bbeaa 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/system/dict/util/DictUtils.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/system/dict/util/DictUtils.java @@ -43,8 +43,7 @@ public class DictUtils Object arrayCache = SpringUtils.getBean(RedisCache.class).getCacheObject(getCacheKey(key)); if (StringUtils.isNotNull(arrayCache)) { - List res = JSONArray.parseArray(JSONArray.toJSONString(arrayCache),SysDictData.class); - return res; + return JSONArray.parseArray(JSONArray.toJSONString(arrayCache),SysDictData.class); } return null; } diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/system/user/controller/BackendAccountController.java b/fuintBackend/fuint-application/src/main/java/com/fuint/system/user/controller/BackendAccountController.java index 9251b2248..f71a8d509 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/system/user/controller/BackendAccountController.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/system/user/controller/BackendAccountController.java @@ -2,7 +2,6 @@ package com.fuint.system.user.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.fuint.common.util.Constants; import com.fuint.common.dto.AccountDto; import com.fuint.common.dto.AccountInfo; import com.fuint.common.dto.RoleDto; @@ -10,16 +9,14 @@ import com.fuint.common.enums.StatusEnum; import com.fuint.common.service.AccountService; import com.fuint.common.service.DutyService; import com.fuint.common.service.MerchantService; -import com.fuint.common.service.StoreService; +import com.fuint.business.store.service.StoreService; import com.fuint.common.util.CommonUtil; import com.fuint.common.util.TokenUtil; import com.fuint.framework.exception.BusinessCheckException; -import com.fuint.framework.pagination.PaginationRequest; -import com.fuint.framework.pagination.PaginationResponse; import com.fuint.framework.web.BaseController; import com.fuint.framework.web.ResponseObject; import com.fuint.repository.model.MtMerchant; -import com.fuint.repository.model.MtStore; +import com.fuint.business.store.entity.MtStore; import com.fuint.repository.model.TAccount; import com.fuint.repository.model.TDuty; import com.fuint.utils.StringUtil;