springcloud_k8s_panzhihuazhihuishequ/applets_backstage/src/main/java/com/panzhihua/applets_backstage/api/ShopApi.java
@@ -27,6 +27,7 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -74,15 +75,15 @@ return communityService.pageStoreList(pageComShopStoreDTO); } @ApiOperation(value = "保存商家") @PostMapping("/store/save") public R saveStore(@Valid @RequestBody ShopStoreVO storeVO) { @ApiOperation(value = "保存商家Bak") @PostMapping("/store/saveBak") public R saveStoreBak(@Valid @RequestBody ShopStoreVO storeVO) { LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); Long loginUserId = loginUserInfo.getUserId(); if (storeVO == null) { return R.fail(); } R<SysUserVO> sysUserVO = userService.getSysUserVOByAccountAndType(storeVO.getStoreAccount(),5); R sysUserVO = userService.addSysUser(storeVO); JSONObject jsonObject = null; if (sysUserVO.getData() != null) { return R.fail("账号已存在!"); @@ -107,6 +108,29 @@ storeVO.setSysUserId(entityVo.getUserId()); storeVO.setLoginUserId(loginUserId); communityService.saveStore(storeVO); } return R.ok(); } @ApiOperation(value = "保存商家") @PostMapping("/store/save") @Transactional(rollbackFor = Exception.class) public R saveStore(@Valid @RequestBody ShopStoreVO storeVO) { LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); Long loginUserId = loginUserInfo.getUserId(); if (storeVO == null) { return R.fail(); } storeVO.setLoginUserId(loginUserId); //查询该手机号是否已注册到平台 R isAddStore = communityService.addStore(storeVO); if(isAddStore.getCode() != 200){ return isAddStore; } //新增SysUser R isAddSysUser = userService.addSysUser(storeVO); if(isAddStore.getCode() != 200){ return isAddSysUser; } return R.ok(); } @@ -144,13 +168,11 @@ return communityService.deleteStore(ids); } @ApiOperation(value = "分页查询商品", response = PageShopGoodsVO.class) @PostMapping("/goods/page") public R pageGoodsList(@RequestBody PageComShopGoodsDTO pageComShopGoodsDTO) { return communityService.pageGoodsList(pageComShopGoodsDTO); } @ApiOperation(value = "新增商品") @PostMapping("/goods/save") springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/constants/Constants.java
@@ -124,4 +124,13 @@ public static final String REPEAT_SUBMIT_KEY = "repeat_submit:"; public static final String AES_KEY="35^*M@dp$5xDB&P@"; /** * 商户平台默认角色权限默认字符串 */ public static final String SHOP_ROLE_KEY="shanghupingtai"; /** * 商户平台超级管理员权限默认字符串 */ public static final String ADMIN_SHOP_ROLE_KEY="chaojiguanliyuan"; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderPageVO.java
@@ -1,5 +1,6 @@ package com.panzhihua.common.model.vos.shop; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -46,6 +47,7 @@ private Integer payType; @ApiModelProperty(value = "支付时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date payTime; @ApiModelProperty(value = "订单发货状态(1.未发货 2.已发货)") @@ -58,12 +60,14 @@ private String logisticsNo; @ApiModelProperty(value = "下单时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date createAt; @ApiModelProperty(value = "支付单号") private String payNo; @ApiModelProperty(value = "发货时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date deliveryTime; @ApiModelProperty(value = "订单下商品信息") springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
@@ -1786,6 +1786,13 @@ @PostMapping("/shop/saveStore") R saveStore(@RequestBody ShopStoreVO storeVO); /** * 新增店铺 * @param storeVO 店铺信息 * @return 新增结果 */ @PostMapping("/shop/addStore") R addStore(@RequestBody ShopStoreVO storeVO); /** * 编辑店铺、启用、禁用 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/user/UserService.java
@@ -9,6 +9,7 @@ import com.panzhihua.common.model.vos.MenuVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.SystemmanagementConfigVO; import com.panzhihua.common.model.vos.shop.ShopStoreVO; import com.panzhihua.common.model.vos.user.*; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; @@ -644,4 +645,12 @@ */ @PostMapping("listtag/getTag") R listTags(@RequestParam("communityId") Long communityId); /** * 添加SysUser信息 * @param storeVO sysUser信息 * @return 添加sysUser结果 */ @PostMapping("addSysUser") R addSysUser(@RequestBody ShopStoreVO storeVO); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ShopApi.java
@@ -64,6 +64,16 @@ } /** * 新增店铺 * @param storeVO 店铺信息 * @return 新增结果 */ @PostMapping("/addStore") public R addStore(@RequestBody ShopStoreVO storeVO) { return comShopStoreService.addStore(storeVO); } /** * 编辑店铺、启用、禁用 * * @param storeVO springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComShopGoodsDAO.java
@@ -68,10 +68,11 @@ * @return 商品列表 */ @Select("<script> " + "select id,`name`,store_id,goods_pic,images,`status`,sale,original_price,price,unit" + ",`order`,stock,details,delivery_type, create_at " + "select csg.id,csg.`name`,csg.store_id,csg.goods_pic,csg.images,csg.`status`,csg.sale,csg.original_price " + ",csg.price,csg.unit,csg.`order`,csg.stock,csg.details,csg.delivery_type, csg.create_at " + " from com_shop_goods as csg " + " where 1=1 and csg.delete_status = 1 " + " left join com_shop_store as css on css.id = csg.store_id " + " where 1=1 and csg.delete_status = 1 and css.`status` = 1" + "<if test='comShopGoodsDTO.name != null and comShopGoodsDTO.name !=""'>" + " AND csg.`name` like concat('%',#{comShopGoodsDTO.name},'%') " + " </if> " + springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComShopStoreDAO.java
@@ -43,4 +43,35 @@ "</script>") IPage<PageShopStoreVO> pageShopStore(Page page, @Param("pageComShopStoreDTO") PageComShopStoreDTO pageComShopStoreDTO); @Select("<script>" + "select id,`name`,store_password,contacts,store_account,classify_id,logo,phone,delivery_type,remark,`status`," + "sale,sale_volume,store_detail,create_at from com_shop_store c" + " <where>" + " and c.delete_status=1 " + "<if test='pageComShopStoreDTO.contacts != null and pageComShopStoreDTO.contacts.trim() != ""'>" + "and c.contacts like concat('%',#{pageComShopStoreDTO.contacts},'%') \n" + " </if> " + "<if test='pageComShopStoreDTO.account != null and pageComShopStoreDTO.account.trim() != ""'>" + "and c.store_account = #{pageComShopStoreDTO.account} \n" + " </if> " + "<if test='pageComShopStoreDTO.name != null and pageComShopStoreDTO.name.trim() != ""'>" + "and c.`name` like concat('%',#{pageComShopStoreDTO.name},'%') \n" + " </if> " + "<if test='pageComShopStoreDTO.deliveryType != null'>" + "and c.delivery_type =#{pageComShopStoreDTO.deliveryType}\n" + " </if> " + "<if test='pageComShopStoreDTO.status != null'>" + "and c.status =#{pageComShopStoreDTO.status} \n" + " </if> " + " </where>" + " order by c.create_at desc" + "</script>") IPage<PageShopStoreVO> pageShopStoreByAdmin(Page page, @Param("pageComShopStoreDTO") PageComShopStoreDTO pageComShopStoreDTO); @Select("delete from sys_user where user_id = #{sysUserId}") void deleteSysUserBySysUserId(@Param("sysUserId") Long sysUserId); @Select("delete from sys_role where role_key = #{account}") void deleteSysRoleByAccount(@Param("account") String account); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopStoreDO.java
@@ -130,6 +130,14 @@ int no = 2; } /** * 删除状态(1.未删除 2.已删除) */ public interface deleteStatus{ int no = 1; int yes = 2; } @Override public String toString() { return "ComShopStoreDO{" + springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopStoreService.java
@@ -34,6 +34,12 @@ */ R saveStore(ShopStoreVO storeVO); /** * 新增店铺 * @param storeVO 请求参数 * @return 新增结果 */ R addStore(ShopStoreVO storeVO); /** * 编辑店铺、启用、禁用 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopStoreServiceImpl.java
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.panzhihua.common.constants.Constants; import com.panzhihua.common.model.dtos.shop.PageComShopStoreDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.shop.*; @@ -48,7 +49,7 @@ @Override public R pageStoreList(PageComShopStoreDTO pageComShopStoreDTO) { Page page = new Page<>(pageComShopStoreDTO.getPageNum(), pageComShopStoreDTO.getPageSize()); IPage<PageShopStoreVO> comShopStoreVOIPage = this.baseMapper.pageShopStore(page, pageComShopStoreDTO); IPage<PageShopStoreVO> comShopStoreVOIPage = this.baseMapper.pageShopStoreByAdmin(page, pageComShopStoreDTO); return R.ok(comShopStoreVOIPage); } @@ -92,13 +93,29 @@ @Override public R saveStore(ShopStoreVO storeVO) { if (storeVO == null) { return R.ok("500", "数据为空!"); return R.fail("数据为空!"); } ComShopStoreDO comShopStoreDO = this.baseMapper.selectOne(new LambdaQueryWrapper<ComShopStoreDO>() .eq(ComShopStoreDO::getStoreAccount, storeVO.getStoreAccount())); if (comShopStoreDO != null) { return R.ok("500", "商家账号存在"); //判断店铺是否存在 ComShopStoreDO oldComShopStoreDO = this.baseMapper.selectOne(new LambdaQueryWrapper<ComShopStoreDO>() .eq(ComShopStoreDO::getStoreAccount, storeVO.getStoreAccount()).eq(ComShopStoreDO::getDeleteStatus,ComShopStoreDO.deleteStatus.no)); if (oldComShopStoreDO != null) { return R.fail("商家已注册"); } // //新增店铺先判断是否拥有已删除的店铺 // ComShopStoreDO comShopStoreDO = this.baseMapper.selectOne(new LambdaQueryWrapper<ComShopStoreDO>() // .eq(ComShopStoreDO::getStoreAccount, storeVO.getStoreAccount()).eq(ComShopStoreDO::getDeleteStatus,ComShopStoreDO.deleteStatus.yes)); // if(comShopStoreDO != null){ // //删除店铺规格信息 // comShopGoodsAttrDAO.delete(new QueryWrapper<ComShopGoodsAttrDO>().lambda().eq(ComShopGoodsAttrDO::getStoreId,comShopStoreDO.getId())); // //删除店铺商品 // shopGoodsDAO.delete(new QueryWrapper<ComShopGoodsDO>().lambda().eq(ComShopGoodsDO::getStoreId,comShopStoreDO.getId())); // //删除关联的sysUser用户权限 // this.baseMapper.deleteSysRoleByAccount(Constants.SHOP_ROLE_KEY + comShopStoreDO.getStoreAccount()); // //删除关联的sysUser用户 // this.baseMapper.deleteSysUserBySysUserId(comShopStoreDO.getSysUserId()); // //删除店铺 // this.baseMapper.deleteById(comShopStoreDO.getId()); // } ComShopStoreDO storeDO = new ComShopStoreDO(); BeanUtils.copyProperties(storeVO, storeDO); storeDO.setSale(0); @@ -106,6 +123,38 @@ return R.ok(); } public R addStore(ShopStoreVO storeVO){ //判断店铺是否存在 ComShopStoreDO oldComShopStoreDO = this.baseMapper.selectOne(new LambdaQueryWrapper<ComShopStoreDO>() .eq(ComShopStoreDO::getStoreAccount, storeVO.getStoreAccount()).eq(ComShopStoreDO::getDeleteStatus,ComShopStoreDO.deleteStatus.no)); if (oldComShopStoreDO != null) { return R.fail("商家已注册"); } //新增店铺先判断是否拥有已删除的店铺 ComShopStoreDO comShopStoreDO = this.baseMapper.selectOne(new LambdaQueryWrapper<ComShopStoreDO>() .eq(ComShopStoreDO::getStoreAccount, storeVO.getStoreAccount()).eq(ComShopStoreDO::getDeleteStatus,ComShopStoreDO.deleteStatus.yes)); if(comShopStoreDO != null){ //删除店铺规格信息 comShopGoodsAttrDAO.delete(new QueryWrapper<ComShopGoodsAttrDO>().lambda().eq(ComShopGoodsAttrDO::getStoreId,comShopStoreDO.getId())); //删除店铺商品 shopGoodsDAO.delete(new QueryWrapper<ComShopGoodsDO>().lambda().eq(ComShopGoodsDO::getStoreId,comShopStoreDO.getId())); //删除关联的sysUser用户权限 this.baseMapper.deleteSysRoleByAccount(Constants.SHOP_ROLE_KEY + comShopStoreDO.getStoreAccount()); //删除关联的sysUser用户 this.baseMapper.deleteSysUserBySysUserId(comShopStoreDO.getSysUserId()); //删除店铺 this.baseMapper.deleteById(comShopStoreDO.getId()); } ComShopStoreDO storeDO = new ComShopStoreDO(); BeanUtils.copyProperties(storeVO, storeDO); storeDO.setSale(0); if(this.baseMapper.insert(storeDO) > 0){ return R.ok(); }else{ return R.fail(); } } @Override public R editStore(Long id, ShopStoreVO storeVO) { if (storeVO == null) { springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/api/UserApi.java
@@ -8,6 +8,7 @@ import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.SystemmanagementConfigVO; import com.panzhihua.common.model.vos.shop.ShopStoreVO; import com.panzhihua.common.model.vos.user.*; import com.panzhihua.service_user.service.SysUserInputService; import com.panzhihua.service_user.service.UserService; @@ -744,4 +745,14 @@ R specialUserExport(@RequestBody ExportSpecialUserDTO exportSpecialUserDTO) { return sysUserInputService.specialUserExport(exportSpecialUserDTO); } /** * 通过账号和渠道查询用户信息 * @param storeVO * @return */ @PostMapping("addSysUser") public R addSysUser(@RequestBody ShopStoreVO storeVO){ return userService.addSysUser(storeVO); } } springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/dao/UserDao.java
@@ -339,4 +339,7 @@ "\t LEFT JOIN sys_role r ON ur.role_id = r.role_id \n" + "WHERE ur.role_id IS NOT NULL AND u.phone = #{phone} ") Integer selectCountSysUser(@Param("phone")String phone); @Select("update com_shop_store set sys_user_id = #{sysUserId} where phone = #{phone}") void updateStoreByPhone(@Param("phone")String phone, @Param("sysUserId")Long sysUserId); } springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/UserService.java
@@ -9,6 +9,7 @@ import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.SystemmanagementConfigVO; import com.panzhihua.common.model.vos.shop.ShopStoreVO; import com.panzhihua.common.model.vos.user.*; /** @@ -363,4 +364,11 @@ */ R getSysUserVOByAccount(String account, Integer type); /** * 新增SysUser * @param storeVO 请求参数 * @return 新增结果 */ R addSysUser(ShopStoreVO storeVO); } springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.panzhihua.common.constants.Constants; import com.panzhihua.common.constants.UserConstants; import com.panzhihua.common.exceptions.ServiceException; import com.panzhihua.common.model.dtos.PageDTO; @@ -18,6 +19,7 @@ import com.panzhihua.common.model.vos.community.ComActVO; import com.panzhihua.common.model.vos.community.ComMngVolunteerMngVO; import com.panzhihua.common.model.vos.partybuilding.ActivityManagerVO; import com.panzhihua.common.model.vos.shop.ShopStoreVO; import com.panzhihua.common.model.vos.user.*; import com.panzhihua.common.utlis.IdCard; import com.panzhihua.common.utlis.RealNameUtil; @@ -749,11 +751,11 @@ if(roleId.intValue() == 999999999){ sysRoleDO.setCommunityId(communityId); sysRoleDO.setRoleName("超级管理员"); sysRoleDO.setRoleKey("chaojiguanliyuan" + communityId); sysRoleDO.setRoleKey(Constants.ADMIN_SHOP_ROLE_KEY + communityId); }else{ sysRoleDO.setCommunityId(0L); sysRoleDO.setRoleName(administratorsUserVO.getShopStoreName()); sysRoleDO.setRoleKey("shanghupingtai" + administratorsUserVO.getShopStorePhone()); sysRoleDO.setRoleKey(Constants.SHOP_ROLE_KEY + administratorsUserVO.getShopStorePhone()); } sysRoleDO.setRoleSort(0); sysRoleDO.setCreateBy(administratorsUserVO.getUserId()); @@ -1571,4 +1573,80 @@ BeanUtils.copyProperties(sysUserDO, sysUserVO); return R.ok(sysUserVO); } public R addSysUser(ShopStoreVO storeVO){ SysUserDO sysUserDO = new SysUserDO(); Long roleId = 888888888L; if (roleId.intValue() == 999999999 || roleId.intValue() == 888888888) { Long communityId = 0L; //新增社区高级管理员角色 SysRoleDO sysRoleDO = new SysRoleDO(); if(roleId.intValue() == 999999999){ sysRoleDO.setCommunityId(communityId); sysRoleDO.setRoleName("超级管理员"); sysRoleDO.setRoleKey(Constants.ADMIN_SHOP_ROLE_KEY + communityId); }else{ sysRoleDO.setCommunityId(0L); sysRoleDO.setRoleName(storeVO.getName()); sysRoleDO.setRoleKey(Constants.SHOP_ROLE_KEY + storeVO.getStoreAccount()); } sysRoleDO.setRoleSort(0); sysRoleDO.setCreateBy(storeVO.getLoginUserId()); int insert = roleDAO.insert(sysRoleDO); if (insert > 0) { SysRoleDO sysRoleDO1 = roleDAO.selectOne(new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getRoleKey, sysRoleDO.getRoleKey())); roleId = sysRoleDO1.getRoleId(); //新角色设置所有权限 MenuRoleVO menuRoleVO = new MenuRoleVO(); menuRoleVO.setIsAll(1); menuRoleVO.setCommunityId(communityId); menuRoleVO.setRoleId(roleId); this.putMenuRole(menuRoleVO); } } SysRoleDO roleDO = roleDAO.selectById(roleId); if (ObjectUtils.isEmpty(roleDO)) { return R.fail("角色不存在"); } String encode = new BCryptPasswordEncoder().encode(storeVO.getStorePassword()); storeVO.setStorePassword(encode); BeanUtils.copyProperties(storeVO, sysUserDO); sysUserDO.setAccount(storeVO.getStoreAccount()); sysUserDO.setType(5); sysUserDO.setAreaId(null); sysUserDO.setStatus(1); sysUserDO.setPhone(storeVO.getPhone()); sysUserDO.setName(storeVO.getContacts()); int insert = 0; try { insert = userDao.insert(sysUserDO); //把SysUserId赋值给店铺 if(sysUserDO.getUserId() != null){ userDao.updateStoreByPhone(storeVO.getPhone(),sysUserDO.getUserId()); } } catch (Exception e) { e.printStackTrace(); log.error("新增后台用户报错【{}】", e.getMessage()); if (e.getMessage().contains("union_phone_type")) { throw new ServiceException("手机号已经存在"); } else if (e.getMessage().contains("union_account_type")) { throw new ServiceException("账户已经存在"); } } if (insert > 0) { SysUserDO sysUserDO1 = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, 5).eq(SysUserDO::getAccount, storeVO.getStoreAccount())); Long userId = sysUserDO1.getUserId(); SysUserRoleDO sysUserRoleDO = new SysUserRoleDO(); sysUserRoleDO.setUserId(userId); sysUserRoleDO.setRoleId(roleDO.getRoleId()); int insert1 = sysUserRoleDAO.insert(sysUserRoleDO); if (insert1 > 0) { return R.ok(); } } return R.fail(); } }