ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOrderMealController.java
@@ -73,5 +73,11 @@ return AjaxResult.success(); } @ApiOperation( value = "餐饮数据生成") @PostMapping(value = "/dataGenerator") public AjaxResult<String> dataGenerator(@Validated @RequestBody CheckoutDTO dto) { orderMealService.checkout(dto); return AjaxResult.success(); } } ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TShopController.java
@@ -1,8 +1,22 @@ package com.ruoyi.web.controller.api; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.system.domain.TShop; import com.ruoyi.system.dto.TShopDTO; import com.ruoyi.system.query.TShopQuery; import com.ruoyi.system.service.ISysUserService; import com.ruoyi.system.service.TShopService; import com.ruoyi.system.vo.TShopVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Objects; /** * <p> @@ -12,9 +26,97 @@ * @author xiaochen * @since 2024-08-14 */ @Api(tags = "店铺信息") @RestController @RequestMapping("/t-shop") public class TShopController { private final TShopService shopService; private final ISysUserService userService; @Autowired public TShopController(TShopService shopService, ISysUserService userService) { this.shopService = shopService; this.userService = userService; } /** * 查询店铺信息分页列表 */ @ApiOperation( value = "查询店铺信息分页列表") @PostMapping(value = "/pageList") public AjaxResult<PageInfo<TShopVO>> pageList(@RequestBody TShopQuery query) { return AjaxResult.success(shopService.pageList(query)); } /** * 添加店铺信息 */ @ApiOperation( value = "添加店铺信息") @PostMapping(value = "/add") public AjaxResult<String> add(@RequestBody TShopDTO dto) { shopService.save(dto); // 添加账号 userService.addAccount(dto); return AjaxResult.success(); } /** * 编辑店铺信息 */ @ApiOperation( value = "编辑店铺信息") @PostMapping(value = "/edit") public AjaxResult<String> edit(@RequestBody TShopDTO dto) { shopService.updateById(dto); userService.updateAccount(dto); return AjaxResult.success(); } /** * 查看店铺信息详情 */ @ApiOperation( value = "查看店铺信息详情") @GetMapping(value = "/getDetailById") public AjaxResult<TShop> getDetailById(@RequestParam("id") Long id) { return AjaxResult.success(shopService.getById(id)); } /** * 删除店铺信息 */ @ApiOperation( value = "删除店铺信息") @DeleteMapping(value = "/deleteById") public AjaxResult<Boolean> deleteById(@RequestParam("id") Long id) { TShop shop = shopService.getById(id); // 查询账号 SysUser sysUser = userService.selectUserByUserName(shop.getAccount()); if(Objects.nonNull(sysUser)){ userService.deleteUserById(sysUser.getUserId()); } return AjaxResult.success(shopService.removeById(id)); } /** * 启用禁用店铺 */ @ApiOperation( value = "启用禁用店铺") @GetMapping(value = "/updateStatus") public AjaxResult<Boolean> updateStatus(@RequestParam(value = "id") Integer id, @RequestParam(value = "status") Integer status) { TShop shop = shopService.getById(id); shop.setStatus(status); shopService.updateById(shop); SysUser sysUser = userService.selectUserByUserName(shop.getAccount()); if(Objects.nonNull(sysUser)){ if(status == 1){ sysUser.setStatus("0"); }else { sysUser.setStatus("1"); } userService.updateUser(sysUser); } return AjaxResult.success(); } } ruoyi-system/src/main/java/com/ruoyi/system/domain/TShop.java
@@ -37,6 +37,10 @@ @TableField("shopName") private String shopName; @ApiModelProperty(value = "店铺负责人") @TableField("shopHead") private String shopHead; @ApiModelProperty(value = "店铺样式") @TableField("shopStyle") private String shopStyle; @@ -53,4 +57,12 @@ @TableField("businessLicense") private String businessLicense; @ApiModelProperty(value = "状态 1=启用 0=禁用") @TableField("status") private Integer status; @ApiModelProperty(value = "账号") @TableField("account") private String account; } ruoyi-system/src/main/java/com/ruoyi/system/dto/TShopDTO.java
New file @@ -0,0 +1,15 @@ package com.ruoyi.system.dto; import com.ruoyi.system.domain.TShop; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel(value = "店铺信息dto") public class TShopDTO extends TShop { @ApiModelProperty(value = "密码") private String password; } ruoyi-system/src/main/java/com/ruoyi/system/mapper/TShopMapper.java
@@ -1,7 +1,13 @@ package com.ruoyi.system.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.domain.TShop; import com.ruoyi.system.query.TShopQuery; import com.ruoyi.system.vo.TShopVO; import org.apache.ibatis.annotations.Param; import java.util.List; /** * <p> @@ -13,4 +19,12 @@ */ public interface TShopMapper extends BaseMapper<TShop> { /** * 分页查询店铺信息 * @param query * @param pageInfo * @return */ List<TShopVO> pageList(@Param("query") TShopQuery query, @Param("pageInfo")PageInfo<TShopVO> pageInfo); } ruoyi-system/src/main/java/com/ruoyi/system/query/TShopQuery.java
New file @@ -0,0 +1,27 @@ package com.ruoyi.system.query; import com.ruoyi.common.core.domain.BasePage; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel(value = "店铺查询") public class TShopQuery extends BasePage { @ApiModelProperty(value = "店铺类型 1=餐饮 2=货物销售") private Integer shopType; @ApiModelProperty(value = "店铺名称") private String shopName; @ApiModelProperty(value = "店铺负责人") private String shopHead; @ApiModelProperty(value = "账号") private String account; @ApiModelProperty(value = "状态 1=启用 0=禁用") private Integer status; } ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
@@ -4,6 +4,7 @@ import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.system.dto.TShopDTO; import com.ruoyi.system.query.SysUserQuery; import com.ruoyi.system.vo.SysUserVO; @@ -261,4 +262,16 @@ void updatePassword(Long id, String s); long selectIdByPhone(String phonenumber); /** * 添加账号信息 * @param dto */ void addAccount(TShopDTO dto); /** * 修改账号信息 * @param dto */ void updateAccount(TShopDTO dto); } ruoyi-system/src/main/java/com/ruoyi/system/service/TShopService.java
@@ -1,7 +1,11 @@ package com.ruoyi.system.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.domain.TShop; import com.ruoyi.system.dto.TShopDTO; import com.ruoyi.system.query.TShopQuery; import com.ruoyi.system.vo.TShopVO; /** * <p> @@ -13,4 +17,22 @@ */ public interface TShopService extends IService<TShop> { /** * 查询店铺信息分页列表 * @param query * @return */ PageInfo<TShopVO> pageList(TShopQuery query); /** * 添加店铺信息 * @param dto */ void add(TShopDTO dto); /** * 编辑店铺信息 * @param dto */ void edit(TShopDTO dto); } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -7,6 +7,7 @@ import javax.validation.Validator; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.dto.TShopDTO; import com.ruoyi.system.query.SysUserQuery; import com.ruoyi.system.vo.SysUserVO; import org.slf4j.Logger; @@ -475,8 +476,6 @@ { // 删除用户与角色关联 userRoleMapper.deleteUserRoleByUserId(userId); // 删除用户与岗位表 userPostMapper.deleteUserPostByUserId(userId); return userMapper.deleteUserById(userId); } @@ -642,6 +641,28 @@ return userMapper.selectIdByPhone(phonenumber); } @Override public void addAccount(TShopDTO dto) { SysUser sysUser = new SysUser(); sysUser.setUserName(dto.getAccount()); sysUser.setNickName(dto.getShopHead()); sysUser.setPassword(SecurityUtils.encryptPassword(dto.getPassword())); this.insertUser(sysUser); // TODO 自动绑定角色 } @Override public void updateAccount(TShopDTO dto) { SysUser sysUser = this.selectUserByUserName(dto.getAccount()); if(Objects.isNull(sysUser)){ throw new ServiceException("未查询到该账号"); } sysUser.setUserName(dto.getAccount()); sysUser.setNickName(dto.getShopHead()); sysUser.setPassword(SecurityUtils.encryptPassword(dto.getPassword())); this.updateUser(sysUser); } // @Override // public UserInfoVo userInfo(Long userId) { // return userMapper.userInfo(userId); ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TShopServiceImpl.java
@@ -1,10 +1,16 @@ package com.ruoyi.system.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.domain.TShop; import com.ruoyi.system.mapper.TShopMapper; import com.ruoyi.system.query.TShopQuery; import com.ruoyi.system.service.TShopService; import com.ruoyi.system.vo.TGoodsVO; import com.ruoyi.system.vo.TShopVO; import org.springframework.stereotype.Service; import java.util.List; /** * <p> @@ -17,4 +23,11 @@ @Service public class TShopServiceImpl extends ServiceImpl<TShopMapper, TShop> implements TShopService { @Override public PageInfo<TShopVO> pageList(TShopQuery query) { PageInfo<TShopVO> pageInfo = new PageInfo<>(query.getPageNum(),query.getPageSize()); List<TShopVO> list = this.baseMapper.pageList(query,pageInfo); pageInfo.setRecords(list); return pageInfo; } } ruoyi-system/src/main/java/com/ruoyi/system/vo/TShopVO.java
New file @@ -0,0 +1,12 @@ package com.ruoyi.system.vo; import com.ruoyi.system.domain.TShop; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel(value = "店铺返回VO") public class TShopVO extends TShop { } ruoyi-system/src/main/resources/mapper/system/TShopMapper.xml
@@ -7,10 +7,13 @@ <id column="id" property="id" /> <result column="shopType" property="shopType" /> <result column="shopName" property="shopName" /> <result column="shopHead" property="shopHead" /> <result column="shopStyle" property="shopStyle" /> <result column="systemName" property="systemName" /> <result column="systemLogo" property="systemLogo" /> <result column="businessLicense" property="businessLicense" /> <result column="status" property="status" /> <result column="account" property="account" /> <result column="createTime" property="createTime" /> <result column="updateTime" property="updateTime" /> <result column="disabled" property="disabled" /> @@ -20,7 +23,31 @@ <!-- 通用查询结果列 --> <sql id="Base_Column_List"> id, shopType, shopName, shopStyle, systemName, systemLogo, businessLicense, createTime, updateTime, disabled, createBy, updateBy id, shopType, shopName,shopHead, shopStyle, systemName, systemLogo, businessLicense,status,account, createTime, updateTime, disabled, createBy, updateBy </sql> <select id="pageList" resultType="com.ruoyi.system.vo.TShopVO"> select id, shopType, shopName,shopHead, shopStyle, systemName, systemLogo, businessLicense, status,account, createTime, updateTime, disabled, createBy, updateBy from t_shop ts <where> <if test="query.shopType != null"> AND shopType = #{query.shopType} </if> <if test="query.shopName != null and query.shopName != ''"> AND shopName LIKE concat('%',#{query.shopName},'%') </if> <if test="query.shopHead != null and query.shopHead != ''"> AND shopHead LIKE concat('%',#{query.shopHead},'%') </if> <if test="query.account != null and query.account != ''"> AND account LIKE concat('%',#{query.account},'%') </if> <if test="query.status != null"> AND status = #{query.status} </if> AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} </where> ORDER BY createTime DESC </select> </mapper>