he2802 пре 2 година
родитељ
комит
a327890bb4

+ 18 - 22
zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/mall/TopStoreController.java

@@ -54,18 +54,7 @@ public class TopStoreController extends BaseController {
         return getDataTable(list);
     }
 
-    /**
-     * 导出商户店铺管理列表
-     */
-    @ApiOperation("导出商户店铺管理列表")
-    @PreAuthorize("@ss.hasPermi('system:store:export')")
-    @Log(title = "商户店铺管理", businessType = BusinessType.EXPORT)
-    @GetMapping("/export")
-    public AjaxResult<TopStoreVo> export(TopStoreQueryBo bo) {
-        List<TopStoreVo> list = iTopStoreService.queryList(bo);
-        ExcelUtil<TopStoreVo> util = new ExcelUtil<TopStoreVo>(TopStoreVo.class);
-        return util.exportExcel(list, "商户店铺管理");
-    }
+
 
     /**
      * 获取商户店铺管理详细信息
@@ -94,19 +83,26 @@ public class TopStoreController extends BaseController {
     @ApiOperation("修改商户店铺管理")
     @PreAuthorize("@ss.hasPermi('system:store:edit')")
     @Log(title = "商户店铺管理", businessType = BusinessType.UPDATE)
-    @PutMapping()
+    @PostMapping("/edit")
     public AjaxResult<Void> edit(@RequestBody TopStoreEditBo bo) {
         return toAjax(iTopStoreService.updateByEditBo(bo) ? 1 : 0);
     }
 
-    /**
-     * 删除商户店铺管理
-     */
-    @ApiOperation("删除商户店铺管理")
-    @PreAuthorize("@ss.hasPermi('system:store:remove')")
-    @Log(title = "商户店铺管理" , businessType = BusinessType.DELETE)
-    @DeleteMapping("/{storeIds}")
-    public AjaxResult<Void> remove(@PathVariable Long[] storeIds) {
-        return toAjax(iTopStoreService.deleteWithValidByIds(Arrays.asList(storeIds), true) ? 1 : 0);
+
+    @ApiOperation("商户恢复密码")
+    @PreAuthorize("@ss.hasPermi('system:store:edit')")
+    @Log(title = "商户恢复密码", businessType = BusinessType.UPDATE)
+    @PostMapping("/restorePwd")
+    public AjaxResult<Void> restorePwd(@RequestBody TopStoreEditBo bo) {
+        return toAjax(iTopStoreService.restorePwd(bo) ? 1 : 0);
+    }
+
+    @ApiOperation("商户修改密码")
+    @PreAuthorize("@ss.hasPermi('system:store:edit')")
+    @Log(title = "商户修改密码", businessType = BusinessType.UPDATE)
+    @PostMapping("/updatePwd")
+    public AjaxResult<Void> updatePwd(@RequestBody TopStoreEditBo bo) {
+        return toAjax(iTopStoreService.updatePwd(bo) ? 1 : 0);
     }
+
 }

+ 6 - 4
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/mall/bo/TopStoreAddBo.java

@@ -25,11 +25,11 @@ public class TopStoreAddBo {
     @ApiModelProperty("手机号码")
     private String telphone;
     /** 用户名 */
-    @ApiModelProperty("用户名")
-    private String userName;
+   /* @ApiModelProperty("用户名")
+    private String userName;*/
     /** 密码 */
-    @ApiModelProperty("密码")
-    private String password;
+   /* @ApiModelProperty("密码")
+    private String password;*/
     /** 联系人 */
     @ApiModelProperty("联系人")
     private String contacts;
@@ -50,4 +50,6 @@ public class TopStoreAddBo {
     private String remark;
 
     private String tenantId;
+    @ApiModelProperty("店铺账号")
+    private String storeAccount;
 }

+ 3 - 3
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/mall/bo/TopStoreEditBo.java

@@ -30,8 +30,8 @@ public class TopStoreEditBo {
     private String telphone;
 
     /** 用户名 */
-    @ApiModelProperty("用户名")
-    private String userName;
+    /*@ApiModelProperty("用户名")
+    private String userName;*/
 
     /** 密码 */
     @ApiModelProperty("密码")
@@ -57,6 +57,6 @@ public class TopStoreEditBo {
     @ApiModelProperty("备注")
     private String remark;
 
-    private String tenantId;
+
 
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/mall/domain/TopStore.java

@@ -1,6 +1,7 @@
 package com.zhongzheng.modules.top.mall.domain;
 
 import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.experimental.Accessors;
@@ -50,4 +51,6 @@ private static final long serialVersionUID=1L;
     private String remark;
 
     private String tenantId;
+
+    private String storeAccount;
 }

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/mall/service/ITopStoreService.java

@@ -50,4 +50,8 @@ public interface ITopStoreService extends IService<TopStore> {
 	 * @return
 	 */
 	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+	Boolean restorePwd(TopStoreEditBo bo);
+
+	Boolean updatePwd(TopStoreEditBo bo);
 }

+ 60 - 7
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/mall/service/impl/TopStoreServiceImpl.java

@@ -3,8 +3,12 @@ package com.zhongzheng.modules.top.mall.service.impl;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.lang.Validator;
 import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.utils.DateUtils;
+import com.zhongzheng.common.utils.SecurityUtils;
+import com.zhongzheng.common.utils.SnowflakeIdUtils;
+import com.zhongzheng.modules.grade.domain.ClassGradeUser;
 import com.zhongzheng.modules.top.mall.bo.TopStoreAddBo;
 import com.zhongzheng.modules.top.mall.bo.TopStoreEditBo;
 import com.zhongzheng.modules.top.mall.bo.TopStoreQueryBo;
@@ -36,6 +40,8 @@ public class TopStoreServiceImpl extends ServiceImpl<TopStoreMapper, TopStore> i
     @Override
     public TopStoreVo queryById(Long storeId){
         TopStore db = this.baseMapper.selectById(storeId);
+        db.setPassword(null);
+        db.setInitPwd(null);
         return BeanUtil.toBean(db, TopStoreVo.class);
     }
 
@@ -74,27 +80,48 @@ public class TopStoreServiceImpl extends ServiceImpl<TopStoreMapper, TopStore> i
 
     @Override
     public Boolean insertByAddBo(TopStoreAddBo bo) {
-        if(Validator.isEmpty(bo.getStoreName())||Validator.isEmpty(bo.getPassword())||Validator.isEmpty(bo.getUserName())||Validator.isEmpty(bo.getTelphone())){
-            throw new CustomException("参数缺失");
+        if (getOne(new LambdaQueryWrapper<TopStore>().eq(TopStore::getStoreName, bo.getStoreName()).last("limit 1")) != null) {
+            throw new CustomException("该商户名已被注册");
         }
-        if (getOne(new LambdaQueryWrapper<TopStore>().eq(TopStore::getUserName, bo.getUserName()).last("limit 1")) != null) {
-            throw new CustomException("该号已被注册");
+        if (getOne(new LambdaQueryWrapper<TopStore>().eq(TopStore::getTelphone, bo.getTelphone()).last("limit 1")) != null) {
+            throw new CustomException("该手机号已被注册");
         }
         TopStore add = BeanUtil.toBean(bo, TopStore.class);
         validEntityBeforeSave(add);
         add.setCreateTime(DateUtils.getNowTime());
         add.setUpdateTime(DateUtils.getNowTime());
+        String pwd =  add.getTelphone().substring(add.getTelphone().length() - 6);
+        add.setUserName("manager");
+        add.setPassword(pwd);
         add.setInitPwd(add.getPassword());
+        add.setPassword(SecurityUtils.encryptPassword(add.getPassword()));
+        add.setTenantId("867735392558919680");//初始按祥粤创建
+        SnowflakeIdUtils idWorker = new SnowflakeIdUtils(3, 1);
+        add.setStoreAccount(String.valueOf(idWorker.nextId()));
         return this.save(add);
     }
 
     @Override
     public Boolean updateByEditBo(TopStoreEditBo bo) {
-        if(Validator.isNotEmpty(bo.getUserName())){
-            if (getOne(new LambdaQueryWrapper<TopStore>().ne(TopStore::getStoreId, bo.getStoreId()).eq(TopStore::getUserName, bo.getUserName()).last("limit 1")) != null) {
-                throw new CustomException("该账号已被注册");
+        if(Validator.isEmpty(bo.getStoreId())){
+            throw new CustomException("参数错误");
+        }
+        if(Validator.isNotEmpty(bo.getStoreName())){
+            if (getOne(new LambdaQueryWrapper<TopStore>().ne(TopStore::getStoreId, bo.getStoreId()).eq(TopStore::getStoreName, bo.getStoreName()).last("limit 1")) != null) {
+                throw new CustomException("该商户名称已被注册");
+            }
+        }
+        if(Validator.isNotEmpty(bo.getTelphone())){
+            TopStore topStore = getOne(new LambdaQueryWrapper<TopStore>().eq(TopStore::getStoreId, bo.getStoreId()));
+            if(!topStore.getTelphone().equals(bo.getTelphone())){
+                if (getOne(new LambdaQueryWrapper<TopStore>().ne(TopStore::getStoreId, bo.getStoreId()).eq(TopStore::getTelphone, bo.getTelphone()).last("limit 1")) != null) {
+                    throw new CustomException("该手机号码已被注册");
+                }
+                String pwd =  bo.getTelphone().substring(bo.getTelphone().length() - 6);
+                bo.setInitPwd(pwd);
             }
         }
+
         TopStore update = BeanUtil.toBean(bo, TopStore.class);
         validEntityBeforeSave(update);
         update.setUpdateTime(DateUtils.getNowTime());
@@ -117,4 +144,30 @@ public class TopStoreServiceImpl extends ServiceImpl<TopStoreMapper, TopStore> i
         }
         return this.removeByIds(ids);
     }
+
+    @Override
+    public Boolean restorePwd(TopStoreEditBo bo) {
+        if(Validator.isEmpty(bo.getStoreId())){
+            throw new CustomException("参数错误");
+        }
+        TopStoreVo storeVo = queryById(bo.getStoreId());
+        LambdaUpdateWrapper<TopStore> objectLambdaUpdateWrapper = Wrappers.lambdaUpdate();
+        objectLambdaUpdateWrapper.eq(TopStore::getStoreId, bo.getStoreId());
+        objectLambdaUpdateWrapper.set(TopStore::getPassword, SecurityUtils.encryptPassword(storeVo.getInitPwd()));
+        objectLambdaUpdateWrapper.set(TopStore::getUpdateTime, DateUtils.getNowTime());
+        return this.update(null, objectLambdaUpdateWrapper);
+    }
+
+    @Override
+    public Boolean updatePwd(TopStoreEditBo bo) {
+        if(Validator.isEmpty(bo.getStoreId())||Validator.isEmpty(bo.getPassword())){
+            throw new CustomException("参数错误");
+        }
+        TopStoreVo storeVo = queryById(bo.getStoreId());
+        LambdaUpdateWrapper<TopStore> objectLambdaUpdateWrapper = Wrappers.lambdaUpdate();
+        objectLambdaUpdateWrapper.eq(TopStore::getStoreId, bo.getStoreId());
+        objectLambdaUpdateWrapper.set(TopStore::getPassword, SecurityUtils.encryptPassword(bo.getPassword()));
+        objectLambdaUpdateWrapper.set(TopStore::getUpdateTime, DateUtils.getNowTime());
+        return this.update(null, objectLambdaUpdateWrapper);
+    }
 }