Merge branch 'master' of https://gitea.zianxin.com/zax/biz-api-cloud
This commit is contained in:
commit
d46f232224
37 files changed
+1557
-51
No files matched your search
+4
-2
@@ -122,15 +122,17 @@ public class CleanUserController {
|
||||
return cleanUserService.list(Wrappers.lambdaQuery(cleanUser).in(ArrayUtil.isNotEmpty(ids), CleanUserEntity::getId, ids));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取保洁用户下拉列表
|
||||
* @return R
|
||||
*/
|
||||
@Operation(summary = "获取保洁用户下拉列表", description = "获取保洁用户下拉列表")
|
||||
@Operation(summary = "获取保洁/会务人员用户下拉列表", description = "获取保洁/会务人员用户下拉列表")
|
||||
@GetMapping("/dropdown")
|
||||
// @PreAuthorize("@pms.hasPermission('integrated_cleanUser_view')")
|
||||
public R getCleanUserDropdown() {
|
||||
public R getCleanUserDropdown(@RequestParam("type")String type) {
|
||||
LambdaQueryWrapper<CleanUserEntity> wrapper = Wrappers.lambdaQuery();
|
||||
wrapper.eq(CleanUserEntity::getType, type);
|
||||
wrapper.select(CleanUserEntity::getId, CleanUserEntity::getName, CleanUserEntity::getPhone);
|
||||
wrapper.orderByAsc(CleanUserEntity::getName);
|
||||
List<CleanUserEntity> list = cleanUserService.list(wrapper);
|
||||
|
||||
+18
@@ -241,4 +241,22 @@ public class MeetingBookingController {
|
||||
public List<MeetingBookingEntity> export(MeetingBookingEntity meetingBooking,Long[] ids) {
|
||||
return meetingBookingService.list(Wrappers.lambdaQuery(meetingBooking).in(ArrayUtil.isNotEmpty(ids), MeetingBookingEntity::getId, ids));
|
||||
}
|
||||
|
||||
//----------------------app---------------------------------
|
||||
/**
|
||||
* 会议结束,经办人点击确认发送短信通知阿姨
|
||||
*/
|
||||
@PostMapping("/app/confirm-end-meeting/{bookingId}")
|
||||
public R<Boolean> confirmEndMeeting(@PathVariable("bookingId") Long bookingId) {
|
||||
return R.ok(meetingBookingService.confirmEndMeeting(bookingId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 会议开始之前,通知阿姨需要对会议室桌面和桌椅拜访进行整理
|
||||
*/
|
||||
@PostMapping("/app/notice-visit-desk/{bookingId}")
|
||||
public R<Boolean> noticeVisitDesk(@PathVariable("bookingId") Long bookingId) {
|
||||
meetingBookingService.noticeVisitDesk(bookingId);
|
||||
return R.ok();
|
||||
}
|
||||
}
|
||||
+1
@@ -436,4 +436,5 @@ public class MeetingRoomController {
|
||||
return R.ok(result);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
+3
@@ -94,4 +94,7 @@ public class CleanUserEntity extends Model<CleanUserEntity> {
|
||||
*/
|
||||
@Schema(description="租户编号")
|
||||
private Long tenantId;
|
||||
|
||||
@Schema(description = "1保洁阿姨,2会务人员")
|
||||
private String type;
|
||||
}
|
||||
+5
@@ -128,6 +128,11 @@ public class MeetingBookingEntity extends Model<MeetingBookingEntity> {
|
||||
@Schema(description="租户编号")
|
||||
private Long tenantId;
|
||||
|
||||
/**
|
||||
* 是否确认结束
|
||||
*/
|
||||
@Schema(description = "是否确认结束")
|
||||
private Integer isConfirmEnd;
|
||||
|
||||
@Schema(description = "预约日期")
|
||||
private LocalDate bookingDate;
|
||||
|
||||
+3
@@ -132,6 +132,9 @@ public class MeetingRoomEntity extends Model<MeetingRoomEntity> {
|
||||
@Schema(description="租户编号")
|
||||
private Long tenantId;
|
||||
|
||||
@Schema(description="保洁阿姨id")
|
||||
private Long cleanUserId;
|
||||
|
||||
|
||||
@TableField(exist = false)
|
||||
@Schema(description="设备会议室关联")
|
||||
|
||||
+16
@@ -15,4 +15,20 @@ public interface MeetingBookingService extends IService<MeetingBookingEntity> {
|
||||
* @return
|
||||
*/
|
||||
Page pageScope(Page page, LambdaQueryWrapper<MeetingBookingEntity> wrapper);
|
||||
|
||||
|
||||
/**
|
||||
* 确认结束会议
|
||||
* @param bookingId
|
||||
* @return
|
||||
*/
|
||||
Boolean confirmEndMeeting(Long bookingId);
|
||||
|
||||
|
||||
/**
|
||||
* 通知阿姨会议前整理会议室
|
||||
* @param bookingId
|
||||
* @return
|
||||
*/
|
||||
void noticeVisitDesk(Long bookingId);
|
||||
}
|
||||
+84
-1
@@ -3,11 +3,22 @@ package com.bsd.pjcloud.integrated.service.impl;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.bsd.pjcloud.common.core.util.WebUtils;
|
||||
import com.bsd.pjcloud.common.data.datascope.DataScope;
|
||||
import com.bsd.pjcloud.integrated.entity.MeetingBookingEntity;
|
||||
import com.bsd.pjcloud.common.security.util.SecurityUtils;
|
||||
import com.bsd.pjcloud.integrated.entity.*;
|
||||
import com.bsd.pjcloud.integrated.mapper.CleanUserMapper;
|
||||
import com.bsd.pjcloud.integrated.mapper.MeetingBookingMapper;
|
||||
import com.bsd.pjcloud.integrated.mapper.MeetingRoomMapper;
|
||||
import com.bsd.pjcloud.integrated.service.MeetingBookingService;
|
||||
import com.bsd.pjcloud.thirdparty.api.feign.RemoterThirdPartySmsService;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 会议室预约
|
||||
*
|
||||
@@ -15,9 +26,81 @@ import org.springframework.stereotype.Service;
|
||||
* @date 2025-05-20 10:51:29
|
||||
*/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class MeetingBookingServiceImpl extends ServiceImpl<MeetingBookingMapper, MeetingBookingEntity> implements MeetingBookingService {
|
||||
|
||||
private final RemoterThirdPartySmsService reminderThirdPartySmsService;
|
||||
|
||||
private final MeetingRoomMapper meetingRoomMapper;
|
||||
|
||||
private final CleanUserMapper cleanUserMapper;
|
||||
@Override
|
||||
public Page pageScope(Page page, LambdaQueryWrapper<MeetingBookingEntity> wrapper) {
|
||||
return baseMapper.selectPageByScope(page, wrapper, DataScope.of());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean confirmEndMeeting(Long bookingId) {
|
||||
Long currentUserId = SecurityUtils.getUser().getId();
|
||||
//更新会议预约结束状态
|
||||
MeetingBookingEntity booking = new MeetingBookingEntity();
|
||||
if (!booking.getApplicantId().equals(currentUserId)){
|
||||
throw new RuntimeException("无权限操作");
|
||||
}
|
||||
booking.setId(bookingId);
|
||||
booking.setIsConfirmEnd(1);
|
||||
boolean updated = updateById(booking);
|
||||
//查询会议室阿姨信息
|
||||
MeetingRoomEntity meetingRoomEntity = meetingRoomMapper.selectById(booking.getRoomId());
|
||||
Long cleanUserId = meetingRoomEntity.getCleanUserId();
|
||||
if (cleanUserId != null){
|
||||
CleanUserEntity cleanUserEntity = cleanUserMapper.selectById(cleanUserId);
|
||||
//发送短信通知阿姨
|
||||
Map<String, String> stringStringHashMap = new HashMap<>();
|
||||
stringStringHashMap.put("meetingName", meetingRoomEntity.getRoomName()+",地址:"+meetingRoomEntity.getLocation());
|
||||
reminderThirdPartySmsService.sendParamsMsg(cleanUserEntity.getPhone(), "30757", stringStringHashMap, WebUtils.getIP());
|
||||
}else {
|
||||
//没有设置阿姨,无法发送短信
|
||||
}
|
||||
|
||||
return updated;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void noticeVisitDesk(Long bookingId) {
|
||||
Long currentUserId = SecurityUtils.getUser().getId();
|
||||
//更新会议预约结束状态
|
||||
MeetingBookingEntity booking = new MeetingBookingEntity();
|
||||
if (!booking.getApplicantId().equals(currentUserId)){
|
||||
throw new RuntimeException("无权限操作");
|
||||
}
|
||||
//查询会议室阿姨信息
|
||||
MeetingRoomEntity meetingRoomEntity = meetingRoomMapper.selectById(booking.getRoomId());
|
||||
Long cleanUserId = meetingRoomEntity.getCleanUserId();
|
||||
if (cleanUserId != null){
|
||||
CleanUserEntity cleanUserEntity = cleanUserMapper.selectById(cleanUserId);
|
||||
//发送短信通知阿姨
|
||||
Map<String, String> stringStringHashMap = new HashMap<>();
|
||||
stringStringHashMap.put("meetingName", meetingRoomEntity.getRoomName()+",地址:"+meetingRoomEntity.getLocation());
|
||||
stringStringHashMap.put("meetingDate", booking.getBookingDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
||||
stringStringHashMap.put("deskType", "1");
|
||||
reminderThirdPartySmsService.sendParamsMsg(cleanUserEntity.getPhone(), "30758", stringStringHashMap, WebUtils.getIP());
|
||||
}else {
|
||||
//没有设置阿姨,无法发送短信
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void sendConfirmEndMeetingSms(VisitorUserEntity visitorUserEntity, VisitorsEntity dataVisitors) {
|
||||
Map<String, String> stringStringHashMap = new HashMap<>();
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||
stringStringHashMap.put("createTime", visitorUserEntity.getCreateTime().format(formatter));
|
||||
stringStringHashMap.put("visitorName", visitorUserEntity.getRealName()==null?visitorUserEntity.getPhone():visitorUserEntity.getRealName());
|
||||
stringStringHashMap.put("visitorPhone", visitorUserEntity.getPhone());
|
||||
stringStringHashMap.put("visitorTime", dataVisitors.getVStartDate() + "至" + dataVisitors.getVEndDate());
|
||||
stringStringHashMap.put("visitorLocal", dataVisitors.getDeptName());
|
||||
|
||||
|
||||
reminderThirdPartySmsService.sendParamsMsg(visitorUserEntity.getPhone(), "20658", stringStringHashMap, WebUtils.getIP());
|
||||
}
|
||||
}
|
||||
+10
-36
@@ -190,45 +190,19 @@ public class VisitorsServiceImpl extends ServiceImpl<VisitorsMapper, VisitorsEnt
|
||||
bean.setUserId(userId);
|
||||
bean.setCreateBy(getCurrentVisitorUsername());
|
||||
|
||||
//如果yyIda不为空,就是被邀约了,需要把那条员工的邀约信息改为审核通过
|
||||
if (visitors.getYyId() != null){
|
||||
//被邀约直接通过
|
||||
bean.setCheckStatus(TaskCheckStatusEnum.RESULT.getCode());
|
||||
|
||||
//查询当前数据是否被接受过
|
||||
LambdaQueryWrapper<VisitorsEntity> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(VisitorsEntity::getYyId, visitors.getYyId());
|
||||
VisitorsEntity visitorsEntitie = baseMapper.selectOne(queryWrapper);
|
||||
|
||||
//设置邀约人的id
|
||||
bean.setReceiveId(visitorsEntitie.getUserId());
|
||||
|
||||
if (null != visitorsEntitie){
|
||||
//如果被接受过,则不能再接受
|
||||
if (TaskCheckStatusEnum.RESULT.getCode().equals(visitorsEntitie.getCheckStatus())){
|
||||
throw new ServiceException("该邀约已被接受,请勿重复接受");
|
||||
}
|
||||
}
|
||||
VisitorsEntity visitorsUpdateYY = new VisitorsEntity();
|
||||
visitorsUpdateYY.setId(visitors.getYyId());
|
||||
visitorsUpdateYY.setCheckStatus(TaskCheckStatusEnum.RESULT.getCode());
|
||||
baseMapper.updateById(visitorsUpdateYY);
|
||||
}else {
|
||||
//主动申请,需要审核
|
||||
bean.setCheckStatus(TaskCheckStatusEnum.PADDING.getCode());
|
||||
}
|
||||
|
||||
bean.setCheckStatus(TaskCheckStatusEnum.PADDING.getCode());
|
||||
|
||||
List<VisitorsPeopleAppDTO> visitorsPeopleAppDTOList = visitors.getOtherPeople();
|
||||
if (!CollectionUtils.isEmpty(visitorsPeopleAppDTOList)){
|
||||
// List<VisitorsPeopleEntity> visitorsPeopleEntities = BeanUtils.toBean(visitorsPeopleAppDTOList, VisitorsPeopleEntity.class);
|
||||
visitorsPeopleAppDTOList.forEach(i->{
|
||||
VisitorInfo itemVisitorInfo = new VisitorInfo();
|
||||
itemVisitorInfo.setVisitorName(i.getName());
|
||||
itemVisitorInfo.setPhoneNo(i.getMobile());
|
||||
visitorInfoList.add(itemVisitorInfo);
|
||||
});
|
||||
}
|
||||
// if (!CollectionUtils.isEmpty(visitorsPeopleAppDTOList)){
|
||||
//// List<VisitorsPeopleEntity> visitorsPeopleEntities = BeanUtils.toBean(visitorsPeopleAppDTOList, VisitorsPeopleEntity.class);
|
||||
// visitorsPeopleAppDTOList.forEach(i->{
|
||||
// VisitorInfo itemVisitorInfo = new VisitorInfo();
|
||||
// itemVisitorInfo.setVisitorName(i.getName());
|
||||
// itemVisitorInfo.setPhoneNo(i.getMobile());
|
||||
// visitorInfoList.add(itemVisitorInfo);
|
||||
// });
|
||||
// }
|
||||
|
||||
int insert = baseMapper.insert(bean);
|
||||
if (!CollectionUtils.isEmpty(visitorsPeopleAppDTOList)){
|
||||
|
||||
+1
@@ -23,6 +23,7 @@
|
||||
<result property="bookingDate" column="booking_date"/>
|
||||
<result property="processInstanceId" column="process_instance_id"/>
|
||||
<result property="checkReason" column="check_reason"/>
|
||||
<result property="isConfirmEnd" column="is_confirm_end"/>
|
||||
</resultMap>
|
||||
<select id="findByRoomIdAndDate" resultType="com.bsd.pjcloud.integrated.entity.MeetingBookingEntity">
|
||||
SELECT * FROM meeting_booking WHERE room_id = #{roomId} AND start_time >= #{date} AND start_time <= #{date}
|
||||
|
||||
+116
@@ -0,0 +1,116 @@
|
||||
package com.bsd.pjcloud.supermarket.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.baomidou.mybatisplus.extension.activerecord.Model;
|
||||
import com.bsd.pjcloud.common.core.util.TenantTable;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 在线商品分类
|
||||
*
|
||||
* @author zjf
|
||||
* @date 2025-06-18 16:49:20
|
||||
*/
|
||||
@Data
|
||||
@TenantTable
|
||||
@TableName("mall_category")
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Schema(description = "在线商品分类")
|
||||
public class MallCategoryEntity extends Model<MallCategoryEntity> {
|
||||
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@Schema(description="id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 父级分类ID,0为顶级
|
||||
*/
|
||||
@Schema(description="父级分类ID,0为顶级")
|
||||
private Long parentId;
|
||||
|
||||
/**
|
||||
* 分类名称
|
||||
*/
|
||||
@Schema(description="分类名称")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 层级(1/2/3)
|
||||
*/
|
||||
@Schema(description="层级(1/2/3)")
|
||||
private Integer level;
|
||||
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
@Schema(description="排序")
|
||||
private Integer sort;
|
||||
|
||||
/**
|
||||
* 状态(0正常,1下架)
|
||||
*/
|
||||
@Schema(description="状态(0正常,1下架)")
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 分类图片
|
||||
*/
|
||||
@Schema(description="分类图片")
|
||||
private String picUrl;
|
||||
|
||||
/**
|
||||
* 部门ID
|
||||
*/
|
||||
@Schema(description="部门ID")
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
@Schema(description="创建者")
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
@Schema(description="创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 更新者
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
@Schema(description="更新者")
|
||||
private String updateBy;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
@Schema(description="更新时间")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
/**
|
||||
* 是否删除(0=正常 1=删除)
|
||||
*/
|
||||
@TableLogic
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
@Schema(description="是否删除(0=正常 1=删除)")
|
||||
private String delFlag;
|
||||
|
||||
/**
|
||||
* 租户编号
|
||||
*/
|
||||
@Schema(description="租户编号")
|
||||
private Long tenantId;
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
package com.bsd.pjcloud.supermarket.vo.mall;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class MallCategoryTreeVo {
|
||||
private Long id;
|
||||
private String name;
|
||||
private Long parentId;
|
||||
private Integer level;
|
||||
private Integer sort;
|
||||
private Integer status;
|
||||
private String picUrl;
|
||||
private List<MallCategoryTreeVo> children;
|
||||
}
|
||||
+158
@@ -0,0 +1,158 @@
|
||||
package com.bsd.pjcloud.supermarket.controller;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.ArrayUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.bsd.pjcloud.common.core.util.R;
|
||||
import com.bsd.pjcloud.common.excel.annotation.ResponseExcel;
|
||||
import com.bsd.pjcloud.common.log.annotation.SysLog;
|
||||
import com.bsd.pjcloud.common.security.util.SecurityUtils;
|
||||
import com.bsd.pjcloud.supermarket.entity.MallCategoryEntity;
|
||||
import com.bsd.pjcloud.supermarket.service.MallCategoryService;
|
||||
import com.bsd.pjcloud.supermarket.vo.mall.MallCategoryTreeVo;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springdoc.core.annotations.ParameterObject;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 在线商品分类
|
||||
*
|
||||
* @author zjf
|
||||
* @date 2025-06-18 16:49:20
|
||||
*/
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@RequestMapping("/mallCategory" )
|
||||
@Tag(description = "MallCategory" , name = "在线商品分类管理" )
|
||||
@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
|
||||
public class MallCategoryController {
|
||||
|
||||
private final MallCategoryService MallCategoryService;
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
* @param page 分页对象
|
||||
* @param MallCategory 在线商品分类
|
||||
* @return
|
||||
*/
|
||||
@Operation(summary = "分页查询" , description = "分页查询" )
|
||||
@GetMapping("/page" )
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_mallCategory_view')" )
|
||||
public R getMallCategoryPage(@ParameterObject Page page, @ParameterObject MallCategoryEntity MallCategory) {
|
||||
LambdaQueryWrapper<MallCategoryEntity> wrapper = Wrappers.lambdaQuery();
|
||||
wrapper.eq(StrUtil.isNotBlank(MallCategory.getName()),MallCategoryEntity::getName,MallCategory.getName());
|
||||
return R.ok(MallCategoryService.pageScope(page, wrapper));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 通过id查询在线商品分类
|
||||
* @param id id
|
||||
* @return R
|
||||
*/
|
||||
@Operation(summary = "通过id查询" , description = "通过id查询" )
|
||||
@GetMapping("/{id}" )
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_mallCategory_view')" )
|
||||
public R getById(@PathVariable("id" ) Long id) {
|
||||
return R.ok(MallCategoryService.getById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增在线商品分类
|
||||
* @param MallCategory 在线商品分类
|
||||
* @return R
|
||||
*/
|
||||
@Operation(summary = "新增在线商品分类" , description = "新增在线商品分类" )
|
||||
@SysLog("新增在线商品分类" )
|
||||
@PostMapping
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_mallCategory_add')" )
|
||||
public R save(@RequestBody MallCategoryEntity MallCategory) {
|
||||
MallCategory.setDeptId(SecurityUtils.getUser().getDeptId());
|
||||
return R.ok(MallCategoryService.save(MallCategory));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改在线商品分类
|
||||
* @param MallCategory 在线商品分类
|
||||
* @return R
|
||||
*/
|
||||
@Operation(summary = "修改在线商品分类" , description = "修改在线商品分类" )
|
||||
@SysLog("修改在线商品分类" )
|
||||
@PutMapping
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_mallCategory_edit')" )
|
||||
public R updateById(@RequestBody MallCategoryEntity MallCategory) {
|
||||
return R.ok(MallCategoryService.updateById(MallCategory));
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除在线商品分类
|
||||
* @param ids id列表
|
||||
* @return R
|
||||
*/
|
||||
@Operation(summary = "通过id删除在线商品分类" , description = "通过id删除在线商品分类" )
|
||||
@SysLog("通过id删除在线商品分类" )
|
||||
@DeleteMapping
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_mallCategory_del')" )
|
||||
public R removeById(@RequestBody Long[] ids) {
|
||||
return R.ok(MallCategoryService.removeBatchByIds(CollUtil.toList(ids)));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 导出excel 表格
|
||||
* @param MallCategory 查询条件
|
||||
* @param ids 导出指定ID
|
||||
* @return excel 文件流
|
||||
*/
|
||||
@ResponseExcel
|
||||
@GetMapping("/export")
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_mallCategory_export')" )
|
||||
public List<MallCategoryEntity> export(MallCategoryEntity MallCategory,Long[] ids) {
|
||||
return MallCategoryService.list(Wrappers.lambdaQuery(MallCategory).in(ArrayUtil.isNotEmpty(ids), MallCategoryEntity::getId, ids));
|
||||
}
|
||||
|
||||
/**
|
||||
* 分类树结构
|
||||
*/
|
||||
@GetMapping("/tree")
|
||||
@Operation(summary = "分类树", description = "获取所有分类的树结构")
|
||||
public R<List<MallCategoryTreeVo>> tree() {
|
||||
List<MallCategoryEntity> all = MallCategoryService.listScope();
|
||||
List<MallCategoryTreeVo> tree = buildCategoryTree(all, 0L);
|
||||
return R.ok(tree);
|
||||
}
|
||||
|
||||
private List<MallCategoryTreeVo> buildCategoryTree(List<MallCategoryEntity> all, Long parentId) {
|
||||
List<MallCategoryTreeVo> result = new java.util.ArrayList<>();
|
||||
for (MallCategoryEntity cat : all) {
|
||||
if (Objects.equals(cat.getParentId(), parentId)) {
|
||||
MallCategoryTreeVo vo = com.bsd.pjcloud.common.core.util.BeanUtils.toBean(cat, MallCategoryTreeVo.class);
|
||||
vo.setChildren(buildCategoryTree(all, cat.getId()));
|
||||
result.add(vo);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据父级ID查子分类
|
||||
*/
|
||||
@GetMapping("/listByParent/{parentId}")
|
||||
@Operation(summary = "根据父级ID查子分类", description = "根据父级ID查子分类")
|
||||
public R<List<MallCategoryEntity>> listByParent(@PathVariable("parentId") Long parentId) {
|
||||
List<MallCategoryEntity> list = MallCategoryService.list(Wrappers.<MallCategoryEntity>lambdaQuery().eq(MallCategoryEntity::getParentId, parentId));
|
||||
return R.ok(list);
|
||||
}
|
||||
|
||||
}
|
||||
+123
@@ -0,0 +1,123 @@
|
||||
package com.bsd.pjcloud.supermarket.controller;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.core.util.ArrayUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.bsd.pjcloud.common.core.util.R;
|
||||
import com.bsd.pjcloud.common.log.annotation.SysLog;
|
||||
import com.bsd.pjcloud.supermarket.entity.MallMerchantEntity;
|
||||
import com.bsd.pjcloud.supermarket.service.MallMerchantService;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import com.bsd.pjcloud.common.excel.annotation.ResponseExcel;
|
||||
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
|
||||
import org.springdoc.core.annotations.ParameterObject;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 共富商城商户
|
||||
*
|
||||
* @author zjf
|
||||
* @date 2025-09-02 17:03:31
|
||||
*/
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@RequestMapping("/mallMerchant" )
|
||||
@Tag(description = "mallMerchant" , name = "共富商城商户管理" )
|
||||
@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
|
||||
public class MallMerchantController {
|
||||
|
||||
private final MallMerchantService mallMerchantService;
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
* @param page 分页对象
|
||||
* @param mallMerchant 共富商城商户
|
||||
* @return
|
||||
*/
|
||||
@Operation(summary = "分页查询" , description = "分页查询" )
|
||||
@GetMapping("/page" )
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_mallMerchant_view')" )
|
||||
public R getMallMerchantPage(@ParameterObject Page page, @ParameterObject MallMerchantEntity mallMerchant) {
|
||||
LambdaQueryWrapper<MallMerchantEntity> wrapper = Wrappers.lambdaQuery();
|
||||
wrapper.like(StrUtil.isNotBlank(mallMerchant.getName()),MallMerchantEntity::getName,mallMerchant.getName());
|
||||
wrapper.like(StrUtil.isNotBlank(mallMerchant.getContactName()),MallMerchantEntity::getContactName,mallMerchant.getContactName());
|
||||
wrapper.eq(StrUtil.isNotBlank(mallMerchant.getContactPhone()),MallMerchantEntity::getContactPhone,mallMerchant.getContactPhone());
|
||||
return R.ok(mallMerchantService.page(page, wrapper));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 通过id查询共富商城商户
|
||||
* @param id id
|
||||
* @return R
|
||||
*/
|
||||
@Operation(summary = "通过id查询" , description = "通过id查询" )
|
||||
@GetMapping("/{id}" )
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_mallMerchant_view')" )
|
||||
public R getById(@PathVariable("id" ) Long id) {
|
||||
return R.ok(mallMerchantService.getById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增共富商城商户
|
||||
* @param mallMerchant 共富商城商户
|
||||
* @return R
|
||||
*/
|
||||
@Operation(summary = "新增共富商城商户" , description = "新增共富商城商户" )
|
||||
@SysLog("新增共富商城商户" )
|
||||
@PostMapping
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_mallMerchant_add')" )
|
||||
public R save(@RequestBody MallMerchantEntity mallMerchant) {
|
||||
return R.ok(mallMerchantService.save(mallMerchant));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改共富商城商户
|
||||
* @param mallMerchant 共富商城商户
|
||||
* @return R
|
||||
*/
|
||||
@Operation(summary = "修改共富商城商户" , description = "修改共富商城商户" )
|
||||
@SysLog("修改共富商城商户" )
|
||||
@PutMapping
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_mallMerchant_edit')" )
|
||||
public R updateById(@RequestBody MallMerchantEntity mallMerchant) {
|
||||
return R.ok(mallMerchantService.updateById(mallMerchant));
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除共富商城商户
|
||||
* @param ids id列表
|
||||
* @return R
|
||||
*/
|
||||
@Operation(summary = "通过id删除共富商城商户" , description = "通过id删除共富商城商户" )
|
||||
@SysLog("通过id删除共富商城商户" )
|
||||
@DeleteMapping
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_mallMerchant_del')" )
|
||||
public R removeById(@RequestBody Long[] ids) {
|
||||
return R.ok(mallMerchantService.removeBatchByIds(CollUtil.toList(ids)));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 导出excel 表格
|
||||
* @param mallMerchant 查询条件
|
||||
* @param ids 导出指定ID
|
||||
* @return excel 文件流
|
||||
*/
|
||||
@ResponseExcel
|
||||
@GetMapping("/export")
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_mallMerchant_export')" )
|
||||
public List<MallMerchantEntity> export(MallMerchantEntity mallMerchant,Long[] ids) {
|
||||
return mallMerchantService.list(Wrappers.lambdaQuery(mallMerchant).in(ArrayUtil.isNotEmpty(ids), MallMerchantEntity::getId, ids));
|
||||
}
|
||||
}
|
||||
+122
@@ -0,0 +1,122 @@
|
||||
package com.bsd.pjcloud.supermarket.controller;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.core.util.ArrayUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.bsd.pjcloud.common.core.util.R;
|
||||
import com.bsd.pjcloud.common.log.annotation.SysLog;
|
||||
import com.bsd.pjcloud.supermarket.entity.MallProductEntity;
|
||||
import com.bsd.pjcloud.supermarket.service.MallProductService;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import com.bsd.pjcloud.common.excel.annotation.ResponseExcel;
|
||||
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
|
||||
import org.springdoc.core.annotations.ParameterObject;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 共富商城商品信息
|
||||
*
|
||||
* @author zjf
|
||||
* @date 2025-09-02 17:47:01
|
||||
*/
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@RequestMapping("/mallProduct" )
|
||||
@Tag(description = "mallProduct" , name = "共富商城商品信息管理" )
|
||||
@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
|
||||
public class MallProductController {
|
||||
|
||||
private final MallProductService mallProductService;
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
* @param page 分页对象
|
||||
* @param mallProduct 共富商城商品信息
|
||||
* @return
|
||||
*/
|
||||
@Operation(summary = "分页查询" , description = "分页查询" )
|
||||
@GetMapping("/page" )
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_mallProduct_view')" )
|
||||
public R getMallProductPage(@ParameterObject Page page, @ParameterObject MallProductEntity mallProduct) {
|
||||
LambdaQueryWrapper<MallProductEntity> wrapper = Wrappers.lambdaQuery();
|
||||
wrapper.eq(Objects.nonNull(mallProduct.getCategoryId()),MallProductEntity::getCategoryId,mallProduct.getCategoryId());
|
||||
wrapper.like(StrUtil.isNotBlank(mallProduct.getTitle()),MallProductEntity::getTitle,mallProduct.getTitle());
|
||||
return R.ok(mallProductService.page(page, wrapper));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 通过id查询共富商城商品信息
|
||||
* @param id id
|
||||
* @return R
|
||||
*/
|
||||
@Operation(summary = "通过id查询" , description = "通过id查询" )
|
||||
@GetMapping("/{id}" )
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_mallProduct_view')" )
|
||||
public R getById(@PathVariable("id" ) Long id) {
|
||||
return R.ok(mallProductService.getById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增共富商城商品信息
|
||||
* @param mallProduct 共富商城商品信息
|
||||
* @return R
|
||||
*/
|
||||
@Operation(summary = "新增共富商城商品信息" , description = "新增共富商城商品信息" )
|
||||
@SysLog("新增共富商城商品信息" )
|
||||
@PostMapping
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_mallProduct_add')" )
|
||||
public R save(@RequestBody MallProductEntity mallProduct) {
|
||||
return R.ok(mallProductService.save(mallProduct));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改共富商城商品信息
|
||||
* @param mallProduct 共富商城商品信息
|
||||
* @return R
|
||||
*/
|
||||
@Operation(summary = "修改共富商城商品信息" , description = "修改共富商城商品信息" )
|
||||
@SysLog("修改共富商城商品信息" )
|
||||
@PutMapping
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_mallProduct_edit')" )
|
||||
public R updateById(@RequestBody MallProductEntity mallProduct) {
|
||||
return R.ok(mallProductService.updateById(mallProduct));
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除共富商城商品信息
|
||||
* @param ids id列表
|
||||
* @return R
|
||||
*/
|
||||
@Operation(summary = "通过id删除共富商城商品信息" , description = "通过id删除共富商城商品信息" )
|
||||
@SysLog("通过id删除共富商城商品信息" )
|
||||
@DeleteMapping
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_mallProduct_del')" )
|
||||
public R removeById(@RequestBody Long[] ids) {
|
||||
return R.ok(mallProductService.removeBatchByIds(CollUtil.toList(ids)));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 导出excel 表格
|
||||
* @param mallProduct 查询条件
|
||||
* @param ids 导出指定ID
|
||||
* @return excel 文件流
|
||||
*/
|
||||
@ResponseExcel
|
||||
@GetMapping("/export")
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_mallProduct_export')" )
|
||||
public List<MallProductEntity> export(MallProductEntity mallProduct,Long[] ids) {
|
||||
return mallProductService.list(Wrappers.lambdaQuery(mallProduct).in(ArrayUtil.isNotEmpty(ids), MallProductEntity::getId, ids));
|
||||
}
|
||||
}
|
||||
+119
@@ -0,0 +1,119 @@
|
||||
package com.bsd.pjcloud.supermarket.controller;
|
||||
|
||||
import cn.hutool.core.util.ArrayUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.bsd.pjcloud.common.core.util.R;
|
||||
import com.bsd.pjcloud.common.log.annotation.SysLog;
|
||||
import com.bsd.pjcloud.supermarket.entity.MallProductSkuEntity;
|
||||
import com.bsd.pjcloud.supermarket.service.MallProductSkuService;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import com.bsd.pjcloud.common.excel.annotation.ResponseExcel;
|
||||
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
|
||||
import org.springdoc.core.annotations.ParameterObject;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 共富商城商品SKU
|
||||
*
|
||||
* @author zjf
|
||||
* @date 2025-09-02 17:53:56
|
||||
*/
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@RequestMapping("/mallProductSku" )
|
||||
@Tag(description = "mallProductSku" , name = "共富商城商品SKU管理" )
|
||||
@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
|
||||
public class MallProductSkuController {
|
||||
|
||||
private final MallProductSkuService mallProductSkuService;
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
* @param page 分页对象
|
||||
* @param mallProductSku 共富商城商品SKU
|
||||
* @return
|
||||
*/
|
||||
@Operation(summary = "分页查询" , description = "分页查询" )
|
||||
@GetMapping("/page" )
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_mallProductSku_view')" )
|
||||
public R getMallProductSkuPage(@ParameterObject Page page, @ParameterObject MallProductSkuEntity mallProductSku) {
|
||||
LambdaQueryWrapper<MallProductSkuEntity> wrapper = Wrappers.lambdaQuery();
|
||||
return R.ok(mallProductSkuService.page(page, wrapper));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 通过id查询共富商城商品SKU
|
||||
* @param id id
|
||||
* @return R
|
||||
*/
|
||||
@Operation(summary = "通过id查询" , description = "通过id查询" )
|
||||
@GetMapping("/{id}" )
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_mallProductSku_view')" )
|
||||
public R getById(@PathVariable("id" ) Long id) {
|
||||
return R.ok(mallProductSkuService.getById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增共富商城商品SKU
|
||||
* @param mallProductSku 共富商城商品SKU
|
||||
* @return R
|
||||
*/
|
||||
@Operation(summary = "新增共富商城商品SKU" , description = "新增共富商城商品SKU" )
|
||||
@SysLog("新增共富商城商品SKU" )
|
||||
@PostMapping
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_mallProductSku_add')" )
|
||||
public R save(@RequestBody MallProductSkuEntity mallProductSku) {
|
||||
return R.ok(mallProductSkuService.save(mallProductSku));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改共富商城商品SKU
|
||||
* @param mallProductSku 共富商城商品SKU
|
||||
* @return R
|
||||
*/
|
||||
@Operation(summary = "修改共富商城商品SKU" , description = "修改共富商城商品SKU" )
|
||||
@SysLog("修改共富商城商品SKU" )
|
||||
@PutMapping
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_mallProductSku_edit')" )
|
||||
public R updateById(@RequestBody MallProductSkuEntity mallProductSku) {
|
||||
return R.ok(mallProductSkuService.updateById(mallProductSku));
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除共富商城商品SKU
|
||||
* @param ids id列表
|
||||
* @return R
|
||||
*/
|
||||
@Operation(summary = "通过id删除共富商城商品SKU" , description = "通过id删除共富商城商品SKU" )
|
||||
@SysLog("通过id删除共富商城商品SKU" )
|
||||
@DeleteMapping
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_mallProductSku_del')" )
|
||||
public R removeById(@RequestBody Long[] ids) {
|
||||
return R.ok(mallProductSkuService.removeBatchByIds(CollUtil.toList(ids)));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 导出excel 表格
|
||||
* @param mallProductSku 查询条件
|
||||
* @param ids 导出指定ID
|
||||
* @return excel 文件流
|
||||
*/
|
||||
@ResponseExcel
|
||||
@GetMapping("/export")
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_mallProductSku_export')" )
|
||||
public List<MallProductSkuEntity> export(MallProductSkuEntity mallProductSku,Long[] ids) {
|
||||
return mallProductSkuService.list(Wrappers.lambdaQuery(mallProductSku).in(ArrayUtil.isNotEmpty(ids), MallProductSkuEntity::getId, ids));
|
||||
}
|
||||
}
|
||||
+4
-4
@@ -64,7 +64,7 @@ public class ShopCategoryController {
|
||||
@Operation(summary = "通过id查询" , description = "通过id查询" )
|
||||
@GetMapping("/{id}" )
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_shopCategory_view')" )
|
||||
public R getById(@PathVariable("id" ) Integer id) {
|
||||
public R getById(@PathVariable("id" ) Long id) {
|
||||
return R.ok(shopCategoryService.getById(id));
|
||||
}
|
||||
|
||||
@@ -104,7 +104,7 @@ public class ShopCategoryController {
|
||||
@SysLog("通过id删除在线商品分类" )
|
||||
@DeleteMapping
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_shopCategory_del')" )
|
||||
public R removeById(@RequestBody Integer[] ids) {
|
||||
public R removeById(@RequestBody Long[] ids) {
|
||||
return R.ok(shopCategoryService.removeBatchByIds(CollUtil.toList(ids)));
|
||||
}
|
||||
|
||||
@@ -118,7 +118,7 @@ public class ShopCategoryController {
|
||||
@ResponseExcel
|
||||
@GetMapping("/export")
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_shopCategory_export')" )
|
||||
public List<ShopCategoryEntity> export(ShopCategoryEntity shopCategory,Integer[] ids) {
|
||||
public List<ShopCategoryEntity> export(ShopCategoryEntity shopCategory,Long[] ids) {
|
||||
return shopCategoryService.list(Wrappers.lambdaQuery(shopCategory).in(ArrayUtil.isNotEmpty(ids), ShopCategoryEntity::getId, ids));
|
||||
}
|
||||
|
||||
@@ -150,7 +150,7 @@ public class ShopCategoryController {
|
||||
*/
|
||||
@GetMapping("/listByParent/{parentId}")
|
||||
@Operation(summary = "根据父级ID查子分类", description = "根据父级ID查子分类")
|
||||
public R<List<ShopCategoryEntity>> listByParent(@PathVariable("parentId") Integer parentId) {
|
||||
public R<List<ShopCategoryEntity>> listByParent(@PathVariable("parentId") Long parentId) {
|
||||
List<ShopCategoryEntity> list = shopCategoryService.list(Wrappers.<ShopCategoryEntity>lambdaQuery().eq(ShopCategoryEntity::getParentId, parentId));
|
||||
return R.ok(list);
|
||||
}
|
||||
|
||||
+139
@@ -0,0 +1,139 @@
|
||||
package com.bsd.pjcloud.supermarket.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.baomidou.mybatisplus.extension.activerecord.Model;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import com.bsd.pjcloud.common.core.util.TenantTable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 共富商城商户
|
||||
*
|
||||
* @author zjf
|
||||
* @date 2025-09-02 17:03:31
|
||||
*/
|
||||
@Data
|
||||
@TenantTable
|
||||
@TableName("mall_merchant")
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Schema(description = "共富商城商户")
|
||||
public class MallMerchantEntity extends Model<MallMerchantEntity> {
|
||||
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@Schema(description="主键")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 商户名称
|
||||
*/
|
||||
@Schema(description="商户名称")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 商户简称
|
||||
*/
|
||||
@Schema(description="商户简称")
|
||||
private String shortName;
|
||||
|
||||
/**
|
||||
* 联系人
|
||||
*/
|
||||
@Schema(description="联系人")
|
||||
private String contactName;
|
||||
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
@Schema(description="联系电话")
|
||||
private String contactPhone;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
@Schema(description="邮箱")
|
||||
private String email;
|
||||
|
||||
/**
|
||||
* 状态(1启用 0停用)
|
||||
*/
|
||||
@Schema(description="状态(1启用 0停用)")
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 营业执照号
|
||||
*/
|
||||
@Schema(description="营业执照号")
|
||||
private String licenseNo;
|
||||
|
||||
/**
|
||||
* 详细地址
|
||||
*/
|
||||
@Schema(description="详细地址")
|
||||
private String address;
|
||||
|
||||
/**
|
||||
* 商户图片URL(逗号分隔)
|
||||
*/
|
||||
@Schema(description="商户图片URL(逗号分隔)")
|
||||
private String images;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@Schema(description="备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 部门ID
|
||||
*/
|
||||
@Schema(description="部门ID")
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
@Schema(description="创建者")
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
@Schema(description="创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 更新者
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
@Schema(description="更新者")
|
||||
private String updateBy;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
@Schema(description="更新时间")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
/**
|
||||
* 是否删除(0=正常 1=删除)
|
||||
*/
|
||||
@TableLogic
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
@Schema(description="是否删除(0=正常 1=删除)")
|
||||
private String delFlag;
|
||||
|
||||
/**
|
||||
* 租户编号
|
||||
*/
|
||||
@Schema(description="租户编号")
|
||||
private Long tenantId;
|
||||
}
|
||||
+176
@@ -0,0 +1,176 @@
|
||||
package com.bsd.pjcloud.supermarket.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.baomidou.mybatisplus.extension.activerecord.Model;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import com.bsd.pjcloud.common.core.util.TenantTable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 共富商城商品信息
|
||||
*
|
||||
* @author zjf
|
||||
* @date 2025-09-02 17:47:01
|
||||
*/
|
||||
@Data
|
||||
@TenantTable
|
||||
@TableName("mall_product")
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Schema(description = "共富商城商品信息")
|
||||
public class MallProductEntity extends Model<MallProductEntity> {
|
||||
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@Schema(description="主键")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 商户ID
|
||||
*/
|
||||
@Schema(description="商户ID")
|
||||
private Long merchantId;
|
||||
|
||||
/**
|
||||
* 类目ID
|
||||
*/
|
||||
@Schema(description="类目ID")
|
||||
private Long categoryId;
|
||||
|
||||
/**
|
||||
* 商品标题
|
||||
*/
|
||||
@Schema(description="商品标题")
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 副标题
|
||||
*/
|
||||
@Schema(description="副标题")
|
||||
private String subTitle;
|
||||
|
||||
/**
|
||||
* 品牌
|
||||
*/
|
||||
@Schema(description="品牌")
|
||||
private String brand;
|
||||
|
||||
/**
|
||||
* 主图
|
||||
*/
|
||||
@Schema(description="主图")
|
||||
private String coverImage;
|
||||
|
||||
/**
|
||||
* SPU轮播图URL(逗号分隔,按顺序)
|
||||
*/
|
||||
@Schema(description="SPU轮播图URL(逗号分隔,按顺序)")
|
||||
private String carouselImages;
|
||||
|
||||
/**
|
||||
* 定价方式(1多SKU 2单价SPU)
|
||||
*/
|
||||
@Schema(description="定价方式(1多SKU 2单价SPU)")
|
||||
private Integer priceType;
|
||||
|
||||
/**
|
||||
* SPU售价(当price_type=2有效)
|
||||
*/
|
||||
@Schema(description="SPU售价(当price_type=2有效)")
|
||||
private BigDecimal spuPrice;
|
||||
|
||||
/**
|
||||
* 划线价
|
||||
*/
|
||||
@Schema(description="划线价")
|
||||
private BigDecimal originalPrice;
|
||||
|
||||
/**
|
||||
* 总库存(冗余)
|
||||
*/
|
||||
@Schema(description="总库存(冗余)")
|
||||
private Integer totalStock;
|
||||
|
||||
/**
|
||||
* 计量单位
|
||||
*/
|
||||
@Schema(description="计量单位")
|
||||
private String unit;
|
||||
|
||||
/**
|
||||
* 状态(1上架 0下架)
|
||||
*/
|
||||
@Schema(description="状态(1上架 0下架)")
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 开售时间
|
||||
*/
|
||||
@Schema(description="开售时间")
|
||||
private LocalDateTime saleStartTime;
|
||||
|
||||
/**
|
||||
* 停售时间
|
||||
*/
|
||||
@Schema(description="停售时间")
|
||||
private LocalDateTime saleEndTime;
|
||||
|
||||
/**
|
||||
* 详情描述(HTML/文本)
|
||||
*/
|
||||
@Schema(description="详情描述(HTML/文本)")
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 部门ID
|
||||
*/
|
||||
@Schema(description="部门ID")
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
@Schema(description="创建者")
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
@Schema(description="创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 更新者
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
@Schema(description="更新者")
|
||||
private String updateBy;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
@Schema(description="更新时间")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
/**
|
||||
* 是否删除(0=正常 1=删除)
|
||||
*/
|
||||
@TableLogic
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
@Schema(description="是否删除(0=正常 1=删除)")
|
||||
private String delFlag;
|
||||
|
||||
/**
|
||||
* 租户编号
|
||||
*/
|
||||
@Schema(description="租户编号")
|
||||
private Long tenantId;
|
||||
}
|
||||
+140
@@ -0,0 +1,140 @@
|
||||
package com.bsd.pjcloud.supermarket.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.baomidou.mybatisplus.extension.activerecord.Model;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import com.bsd.pjcloud.common.core.util.TenantTable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 共富商城商品SKU
|
||||
*
|
||||
* @author zjf
|
||||
* @date 2025-09-02 17:53:56
|
||||
*/
|
||||
@Data
|
||||
@TenantTable
|
||||
@TableName("mall_product_sku")
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Schema(description = "共富商城商品SKU")
|
||||
public class MallProductSkuEntity extends Model<MallProductSkuEntity> {
|
||||
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@Schema(description="主键")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* SPU ID
|
||||
*/
|
||||
@Schema(description="SPU ID")
|
||||
private Long productId;
|
||||
|
||||
/**
|
||||
* SKU编码
|
||||
*/
|
||||
@Schema(description="SKU编码")
|
||||
private String skuCode;
|
||||
|
||||
/**
|
||||
* SKU名称(规格组合)
|
||||
*/
|
||||
@Schema(description="SKU名称(规格组合)")
|
||||
private String skuName;
|
||||
|
||||
/**
|
||||
* 售价
|
||||
*/
|
||||
@Schema(description="售价")
|
||||
private BigDecimal price;
|
||||
|
||||
/**
|
||||
* 成本价
|
||||
*/
|
||||
@Schema(description="成本价")
|
||||
private BigDecimal costPrice;
|
||||
|
||||
/**
|
||||
* 库存
|
||||
*/
|
||||
@Schema(description="库存")
|
||||
private Integer stock;
|
||||
|
||||
/**
|
||||
* 条码
|
||||
*/
|
||||
@Schema(description="条码")
|
||||
private String barcode;
|
||||
|
||||
/**
|
||||
* 重量(克)
|
||||
*/
|
||||
@Schema(description="重量(克)")
|
||||
private Integer weightG;
|
||||
|
||||
/**
|
||||
* 体积(立方厘米)
|
||||
*/
|
||||
@Schema(description="体积(立方厘米)")
|
||||
private Integer volumeCm3;
|
||||
|
||||
/**
|
||||
* 状态(1启用 0停用)
|
||||
*/
|
||||
@Schema(description="状态(1启用 0停用)")
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 部门ID
|
||||
*/
|
||||
@Schema(description="部门ID")
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
@Schema(description="创建者")
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
@Schema(description="创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 更新者
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
@Schema(description="更新者")
|
||||
private String updateBy;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
@Schema(description="更新时间")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
/**
|
||||
* 是否删除(0=正常 1=删除)
|
||||
*/
|
||||
@TableLogic
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
@Schema(description="是否删除(0=正常 1=删除)")
|
||||
private String delFlag;
|
||||
|
||||
/**
|
||||
* 租户编号
|
||||
*/
|
||||
@Schema(description="租户编号")
|
||||
private Long tenantId;
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
package com.bsd.pjcloud.supermarket.mapper;
|
||||
|
||||
import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper;
|
||||
import com.bsd.pjcloud.supermarket.entity.MallCategoryEntity;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface MallCategoryMapper extends PjcloudBaseMapper<MallCategoryEntity> {
|
||||
|
||||
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
package com.bsd.pjcloud.supermarket.mapper;
|
||||
|
||||
import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper;
|
||||
import com.bsd.pjcloud.supermarket.entity.MallMerchantEntity;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface MallMerchantMapper extends PjcloudBaseMapper<MallMerchantEntity> {
|
||||
|
||||
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
package com.bsd.pjcloud.supermarket.mapper;
|
||||
|
||||
import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper;
|
||||
import com.bsd.pjcloud.supermarket.entity.MallProductEntity;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface MallProductMapper extends PjcloudBaseMapper<MallProductEntity> {
|
||||
|
||||
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
package com.bsd.pjcloud.supermarket.mapper;
|
||||
|
||||
import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper;
|
||||
import com.bsd.pjcloud.supermarket.entity.MallProductSkuEntity;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface MallProductSkuMapper extends PjcloudBaseMapper<MallProductSkuEntity> {
|
||||
|
||||
|
||||
}
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
package com.bsd.pjcloud.supermarket.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.bsd.pjcloud.supermarket.entity.MallCategoryEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface MallCategoryService extends IService<MallCategoryEntity> {
|
||||
|
||||
|
||||
/**
|
||||
* 列表,条件当前权限
|
||||
* @return
|
||||
*/
|
||||
List<MallCategoryEntity> listScope();
|
||||
|
||||
|
||||
/**
|
||||
* 分页,条件当前权限
|
||||
* @param page
|
||||
* @param wrapper
|
||||
* @return
|
||||
*/
|
||||
Object pageScope(Page page, LambdaQueryWrapper<MallCategoryEntity> wrapper);
|
||||
}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
package com.bsd.pjcloud.supermarket.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.bsd.pjcloud.supermarket.entity.MallMerchantEntity;
|
||||
|
||||
public interface MallMerchantService extends IService<MallMerchantEntity> {
|
||||
|
||||
}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
package com.bsd.pjcloud.supermarket.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.bsd.pjcloud.supermarket.entity.MallProductEntity;
|
||||
|
||||
public interface MallProductService extends IService<MallProductEntity> {
|
||||
|
||||
}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
package com.bsd.pjcloud.supermarket.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.bsd.pjcloud.supermarket.entity.MallProductSkuEntity;
|
||||
|
||||
public interface MallProductSkuService extends IService<MallProductSkuEntity> {
|
||||
|
||||
}
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
package com.bsd.pjcloud.supermarket.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.bsd.pjcloud.common.data.datascope.DataScope;
|
||||
import com.bsd.pjcloud.supermarket.entity.MallCategoryEntity;
|
||||
import com.bsd.pjcloud.supermarket.mapper.MallCategoryMapper;
|
||||
import com.bsd.pjcloud.supermarket.service.MallCategoryService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 在线商品分类
|
||||
*
|
||||
* @author zjf
|
||||
* @date 2025-06-18 16:49:20
|
||||
*/
|
||||
@Service
|
||||
public class MallCategoryServiceImpl extends ServiceImpl<MallCategoryMapper, MallCategoryEntity> implements MallCategoryService {
|
||||
@Override
|
||||
public List<MallCategoryEntity> listScope() {
|
||||
|
||||
return baseMapper.selectListByScope(null, DataScope.of());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object pageScope(Page page, LambdaQueryWrapper<MallCategoryEntity> wrapper) {
|
||||
return baseMapper.selectPageByScope(page, wrapper, DataScope.of());
|
||||
}
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
package com.bsd.pjcloud.supermarket.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.bsd.pjcloud.supermarket.entity.MallMerchantEntity;
|
||||
import com.bsd.pjcloud.supermarket.mapper.MallMerchantMapper;
|
||||
import com.bsd.pjcloud.supermarket.service.MallMerchantService;
|
||||
import org.springframework.stereotype.Service;
|
||||
/**
|
||||
* 共富商城商户
|
||||
*
|
||||
* @author zjf
|
||||
* @date 2025-09-02 17:03:31
|
||||
*/
|
||||
@Service
|
||||
public class MallMerchantServiceImpl extends ServiceImpl<MallMerchantMapper, MallMerchantEntity> implements MallMerchantService {
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
package com.bsd.pjcloud.supermarket.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.bsd.pjcloud.supermarket.entity.MallProductEntity;
|
||||
import com.bsd.pjcloud.supermarket.mapper.MallProductMapper;
|
||||
import com.bsd.pjcloud.supermarket.service.MallProductService;
|
||||
import org.springframework.stereotype.Service;
|
||||
/**
|
||||
* 共富商城商品信息
|
||||
*
|
||||
* @author zjf
|
||||
* @date 2025-09-02 17:47:01
|
||||
*/
|
||||
@Service
|
||||
public class MallProductServiceImpl extends ServiceImpl<MallProductMapper, MallProductEntity> implements MallProductService {
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
package com.bsd.pjcloud.supermarket.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.bsd.pjcloud.supermarket.entity.MallProductSkuEntity;
|
||||
import com.bsd.pjcloud.supermarket.mapper.MallProductSkuMapper;
|
||||
import com.bsd.pjcloud.supermarket.service.MallProductSkuService;
|
||||
import org.springframework.stereotype.Service;
|
||||
/**
|
||||
* 共富商城商品SKU
|
||||
*
|
||||
* @author zjf
|
||||
* @date 2025-09-02 17:53:56
|
||||
*/
|
||||
@Service
|
||||
public class MallProductSkuServiceImpl extends ServiceImpl<MallProductSkuMapper, MallProductSkuEntity> implements MallProductSkuService {
|
||||
}
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
<mapper namespace="com.bsd.pjcloud.supermarket.mapper.MallCategoryMapper">
|
||||
|
||||
<resultMap id="MallCategoryMap" type="com.bsd.pjcloud.supermarket.entity.MallCategoryEntity">
|
||||
<id property="id" column="id"/>
|
||||
<result property="parentId" column="parent_id"/>
|
||||
<result property="name" column="name"/>
|
||||
<result property="level" column="level"/>
|
||||
<result property="sort" column="sort"/>
|
||||
<result property="status" column="status"/>
|
||||
<result property="picUrl" column="pic_url"/>
|
||||
<result property="deptId" column="dept_id"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="tenantId" column="tenant_id"/>
|
||||
</resultMap>
|
||||
</mapper>
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
<mapper namespace="com.bsd.pjcloud.supermarket.mapper.MallMerchantMapper">
|
||||
|
||||
<resultMap id="mallMerchantMap" type="com.bsd.pjcloud.supermarket.entity.MallMerchantEntity">
|
||||
<id property="id" column="id"/>
|
||||
<result property="name" column="name"/>
|
||||
<result property="shortName" column="short_name"/>
|
||||
<result property="contactName" column="contact_name"/>
|
||||
<result property="contactPhone" column="contact_phone"/>
|
||||
<result property="email" column="email"/>
|
||||
<result property="status" column="status"/>
|
||||
<result property="licenseNo" column="license_no"/>
|
||||
<result property="address" column="address"/>
|
||||
<result property="images" column="images"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<result property="deptId" column="dept_id"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="tenantId" column="tenant_id"/>
|
||||
</resultMap>
|
||||
</mapper>
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
<mapper namespace="com.bsd.pjcloud.supermarket.mapper.MallProductMapper">
|
||||
|
||||
<resultMap id="mallProductMap" type="com.bsd.pjcloud.supermarket.entity.MallProductEntity">
|
||||
<id property="id" column="id"/>
|
||||
<result property="merchantId" column="merchant_id"/>
|
||||
<result property="categoryId" column="category_id"/>
|
||||
<result property="title" column="title"/>
|
||||
<result property="subTitle" column="sub_title"/>
|
||||
<result property="brand" column="brand"/>
|
||||
<result property="coverImage" column="cover_image"/>
|
||||
<result property="carouselImages" column="carousel_images"/>
|
||||
<result property="priceType" column="price_type"/>
|
||||
<result property="spuPrice" column="spu_price"/>
|
||||
<result property="originalPrice" column="original_price"/>
|
||||
<result property="totalStock" column="total_stock"/>
|
||||
<result property="unit" column="unit"/>
|
||||
<result property="status" column="status"/>
|
||||
<result property="saleStartTime" column="sale_start_time"/>
|
||||
<result property="saleEndTime" column="sale_end_time"/>
|
||||
<result property="description" column="description"/>
|
||||
<result property="deptId" column="dept_id"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="tenantId" column="tenant_id"/>
|
||||
</resultMap>
|
||||
</mapper>
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
<mapper namespace="com.bsd.pjcloud.supermarket.mapper.MallProductSkuMapper">
|
||||
|
||||
<resultMap id="mallProductSkuMap" type="com.bsd.pjcloud.supermarket.entity.MallProductSkuEntity">
|
||||
<id property="id" column="id"/>
|
||||
<result property="productId" column="product_id"/>
|
||||
<result property="skuCode" column="sku_code"/>
|
||||
<result property="skuName" column="sku_name"/>
|
||||
<result property="price" column="price"/>
|
||||
<result property="costPrice" column="cost_price"/>
|
||||
<result property="stock" column="stock"/>
|
||||
<result property="barcode" column="barcode"/>
|
||||
<result property="weightG" column="weight_g"/>
|
||||
<result property="volumeCm3" column="volume_cm3"/>
|
||||
<result property="status" column="status"/>
|
||||
<result property="deptId" column="dept_id"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="tenantId" column="tenant_id"/>
|
||||
</resultMap>
|
||||
</mapper>
|
||||
+17
-8
@@ -119,18 +119,27 @@ sms:
|
||||
params: [ "code", "date" ]
|
||||
20658:
|
||||
content: "您于{createTime}申请的访客预约现已通过审核!
|
||||
▶ 访客姓名:{visitorName}
|
||||
▶ 访客手机号:{visitorPhone}
|
||||
▶ 到访时间:{visitorTime}
|
||||
▶ 访问地点:{visitorLocal}
|
||||
请及时登录系统查看详情:{url}"
|
||||
▶ 访客姓名:{visitorName}
|
||||
▶ 访客手机号:{visitorPhone}
|
||||
▶ 到访时间:{visitorTime}
|
||||
▶ 访问地点:{visitorLocal}
|
||||
请及时登录系统查看详情:{url}"
|
||||
params: [ "createTime", "visitorName", "visitorPhone", "visitorTime", "visitorLocal","url" ]
|
||||
|
||||
27694: # 验证码模板
|
||||
27694:
|
||||
content: "尊敬的{visitorName}先生/女士:
|
||||
{yyName}邀请您于{visitorTime}访问{deptName},为保障您的顺利通行,请通过地址:{url}
|
||||
查看详情。"
|
||||
{yyName}邀请您于{visitorTime}访问{deptName},为保障您的顺利通行,请通过地址:{url}
|
||||
查看详情。"
|
||||
params: [ "visitorName", "yyName", "visitorTime", "deptName", "url" ]
|
||||
|
||||
30758:
|
||||
content: "阿姨您好!{meetingName}于{meetingDate}开始会议,桌子拜访形态{deskType},请提前安排整理工作!"
|
||||
params: [ "meetingDate", "deskType" ]
|
||||
|
||||
30757:
|
||||
content: "阿姨您好!{s20}已完成会议,麻烦您前去做好整洁清理工作。"
|
||||
params: [ "meetingName" ]
|
||||
|
||||
settings:
|
||||
default-ext-code: ""
|
||||
timeout-seconds: 300
|
||||
|
||||
Reference in new issue
Block a user