diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/controller/ShopPrinterController.java b/src/main/java/com/chaozhanggui/system/cashierservice/controller/ShopPrinterController.java new file mode 100644 index 0000000..2a4f16e --- /dev/null +++ b/src/main/java/com/chaozhanggui/system/cashierservice/controller/ShopPrinterController.java @@ -0,0 +1,70 @@ +package com.chaozhanggui.system.cashierservice.controller; + +import com.chaozhanggui.system.cashierservice.entity.dto.ShopPrinterDTO; +import com.chaozhanggui.system.cashierservice.service.ShopPrinterService; +import com.chaozhanggui.system.cashierservice.sign.CodeEnum; +import com.chaozhanggui.system.cashierservice.sign.Result; +import com.github.pagehelper.PageInfo; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; + +/** + * 店铺打印机配置 + * @author tankaikai + * @since 2024-09-24 16:56 + */ +@Slf4j +@RestController +@CrossOrigin(origins = "*") +@RequestMapping("shop-config/printer") +public class ShopPrinterController { + + @Resource + private ShopPrinterService shopPrinterService; + + @GetMapping("page") + public Result page(@RequestParam Map params) { + PageInfo page = shopPrinterService.page(params); + return Result.success(CodeEnum.SUCCESS,page); + } + + @GetMapping("list") + public Result list(@RequestParam Map params) { + List list = shopPrinterService.list(params); + return Result.success(CodeEnum.SUCCESS,list); + } + + @GetMapping("{id}") + public Result get(@PathVariable("id") Integer id) { + ShopPrinterDTO dto = shopPrinterService.get(id); + return Result.success(CodeEnum.SUCCESS,dto); + } + + @PostMapping + public Result save(@RequestBody ShopPrinterDTO dto) { + shopPrinterService.save(dto); + return Result.success(CodeEnum.SUCCESS); + } + + @PutMapping + public Result update(@RequestBody ShopPrinterDTO dto) { + shopPrinterService.update(dto); + return Result.success(CodeEnum.SUCCESS); + } + + @DeleteMapping("{id}") + public Result delete(@PathVariable("id") Integer id){ + shopPrinterService.delete(id); + return Result.success(CodeEnum.SUCCESS); + } + + @PostMapping("update-status") + public Result updateStatus(@RequestBody ShopPrinterDTO dto){ + shopPrinterService.updateStatus(dto.getId(),dto.getStatus()); + return Result.success(CodeEnum.SUCCESS); + } +} diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/dao/ShopPrinterServiceMapper.java b/src/main/java/com/chaozhanggui/system/cashierservice/dao/ShopPrinterServiceMapper.java new file mode 100644 index 0000000..58084e9 --- /dev/null +++ b/src/main/java/com/chaozhanggui/system/cashierservice/dao/ShopPrinterServiceMapper.java @@ -0,0 +1,19 @@ +package com.chaozhanggui.system.cashierservice.dao; + +import com.chaozhanggui.system.cashierservice.entity.dto.ShopPrinterDTO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * @author tankaikai + * @since 2024-09-24 17:25 + */ +@Mapper +public interface ShopPrinterServiceMapper { + List getList(Map params); + + int updateStatus(@Param("id") Integer id, @Param("status") Integer status); +} diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/entity/dto/ShopPrinterDTO.java b/src/main/java/com/chaozhanggui/system/cashierservice/entity/dto/ShopPrinterDTO.java new file mode 100644 index 0000000..fd2aca7 --- /dev/null +++ b/src/main/java/com/chaozhanggui/system/cashierservice/entity/dto/ShopPrinterDTO.java @@ -0,0 +1,64 @@ +package com.chaozhanggui.system.cashierservice.entity.dto; + +import lombok.Data; + +import java.io.Serializable; +import java.text.SimpleDateFormat; +import java.util.Date; + +/** + * 店铺打印机配置 + * + * @author tankaikai + * @since 2024-09-24 17:13 + */ +@Data +public class ShopPrinterDTO implements Serializable { + private static final long serialVersionUID = 1L; + + private Integer id; + + private String name; + + private String type; + + private String connectionType; + + private String address; + + private String port; + + private String subType; + + private Integer status; + + private String shopId; + + private String categoryIds; + + private String contentType; + + private String createdAt; + + private String updatedAt; + + private Integer sort; + + private String vendorId; + + private String productId; + private String config; + + public String getCreatedAt() { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + return sdf.format(new Date(Long.valueOf(createdAt))); + } + + public String getUpdatedAt() { + if("".equals(updatedAt) || updatedAt == null){ + return ""; + } + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + return sdf.format(new Date(Long.valueOf(updatedAt))); + } +} diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/ShopPrinterService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/ShopPrinterService.java new file mode 100644 index 0000000..45e425c --- /dev/null +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/ShopPrinterService.java @@ -0,0 +1,30 @@ +package com.chaozhanggui.system.cashierservice.service; + +import com.chaozhanggui.system.cashierservice.entity.dto.ShopPrinterDTO; +import com.github.pagehelper.PageInfo; + +import java.util.List; +import java.util.Map; + +/** + * 打印机配置 + * @author tankaikai + * @since 2024-09-24 17:15 + */ +public interface ShopPrinterService { + + PageInfo page(Map params); + + List list(Map params); + + ShopPrinterDTO get(Integer id); + + void save(ShopPrinterDTO dto); + + void update(ShopPrinterDTO dto); + + void delete(Integer id); + + void updateStatus(Integer id,Integer status); + +} diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/impl/ShopPrinterServiceImpl.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/impl/ShopPrinterServiceImpl.java new file mode 100644 index 0000000..30be7e5 --- /dev/null +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/impl/ShopPrinterServiceImpl.java @@ -0,0 +1,79 @@ +package com.chaozhanggui.system.cashierservice.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.map.MapProxy; +import com.chaozhanggui.system.cashierservice.dao.ShopPrinterServiceMapper; +import com.chaozhanggui.system.cashierservice.dao.TbPrintMachineMapper; +import com.chaozhanggui.system.cashierservice.entity.TbPrintMachineWithBLOBs; +import com.chaozhanggui.system.cashierservice.entity.dto.ShopPrinterDTO; +import com.chaozhanggui.system.cashierservice.service.ShopPrinterService; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; + +/** + * 店铺打印配置 + * + * @author tankaikai + * @since 2024-09-24 17:23 + */ +@Service +public class ShopPrinterServiceImpl implements ShopPrinterService { + + @Resource + private ShopPrinterServiceMapper shopPrinterServiceMapper; + + @Resource + private TbPrintMachineMapper tbPrintMachineMapper; + + @Override + public PageInfo page(Map params) { + MapProxy mapProxy = MapProxy.create(params); + Integer pageNum = mapProxy.getInt("pageNum"); + Integer pageSize = mapProxy.getInt("pageSize"); + PageInfo pageInfo = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> shopPrinterServiceMapper.getList(params)); + return pageInfo; + } + + @Override + public List list(Map params) { + return shopPrinterServiceMapper.getList(params); + } + + @Override + public ShopPrinterDTO get(Integer id) { + TbPrintMachineWithBLOBs entity = tbPrintMachineMapper.selectByPrimaryKey(id); + return BeanUtil.toBean(entity, ShopPrinterDTO.class); + } + + @Override + public void save(ShopPrinterDTO dto) { + TbPrintMachineWithBLOBs entity = new TbPrintMachineWithBLOBs(); + BeanUtil.copyProperties(dto, entity, "createdAt", "updatedAt"); + entity.setCreatedAt(System.currentTimeMillis()); + entity.setUpdatedAt(System.currentTimeMillis()); + tbPrintMachineMapper.insert(entity); + } + + @Override + public void update(ShopPrinterDTO dto) { + TbPrintMachineWithBLOBs entity = tbPrintMachineMapper.selectByPrimaryKey(dto.getId()); + BeanUtil.copyProperties(dto, entity, "createdAt", "updatedAt"); + entity.setUpdatedAt(System.currentTimeMillis()); + tbPrintMachineMapper.updateByPrimaryKeyWithBLOBs(entity); + } + + @Override + public void delete(Integer id) { + tbPrintMachineMapper.deleteByPrimaryKey(id); + } + + @Override + public void updateStatus(Integer id, Integer status) { + shopPrinterServiceMapper.updateStatus(id, status); + } +} diff --git a/src/main/resources/mapper/ShopPrinterMapper.xml b/src/main/resources/mapper/ShopPrinterMapper.xml new file mode 100644 index 0000000..d091136 --- /dev/null +++ b/src/main/resources/mapper/ShopPrinterMapper.xml @@ -0,0 +1,65 @@ + + + + + + + id, name, type, connection_type, address, port, sub_type, status, shop_id, category_ids, content_type, created_at, updated_at, sort, vendor_id, product_id + + + config, category_list + + + + + + update tb_print_machine set status = #{status} where id = #{id} + + + \ No newline at end of file