| oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderServiceImpl.java | ●●●●● patch | view | raw | blame | history | |
| oying-tools/src/main/java/com/oying/domain/PayConfig.java | ●●●●● patch | view | raw | blame | history | |
| oying-tools/src/main/java/com/oying/domain/dto/PayConfigQueryCriteria.java | ●●●●● patch | view | raw | blame | history | |
| oying-tools/src/main/java/com/oying/mapper/PayConfigMapper.java | ●●●●● patch | view | raw | blame | history | |
| oying-tools/src/main/java/com/oying/rest/PayConfigController.java | ●●●●● patch | view | raw | blame | history | |
| oying-tools/src/main/java/com/oying/service/PayConfigService.java | ●●●●● patch | view | raw | blame | history | |
| oying-tools/src/main/java/com/oying/service/impl/PayConfigServiceImpl.java | ●●●●● patch | view | raw | blame | history | |
| oying-tools/src/main/resources/mapper/PayConfigMapper.xml | ●●●●● patch | view | raw | blame | history |
oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderServiceImpl.java
@@ -20,6 +20,7 @@ import com.oying.modules.sh.domain.vo.OrderResponse; import com.oying.modules.sh.domain.vo.ProductInfo; import com.oying.modules.sh.service.*; import com.oying.service.PayConfigService; import com.oying.utils.*; import com.oying.utils.enums.*; import lombok.RequiredArgsConstructor; @@ -27,6 +28,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.oying.modules.sh.domain.dto.OrderQueryCriteria; import com.oying.modules.sh.mapper.OrderMapper; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -56,6 +58,9 @@ private final StoreService storeService; private final OrderOperationLogService operationLogService; private final ProductInventoryService productInventoryService; private final PayConfigService payConfigService; @Value("${oying.enabled}") private Boolean oyingEnabled; private static final String DESCRIBE = "哦应:"; private static final String ORDER_KEY = "oying:order"; private static final String ORDER_STORE_KEY = "oying:order:store"; @@ -77,6 +82,7 @@ @Override @Transactional(rollbackFor = Exception.class) public synchronized Order submitOrder(SubmitOrder submit, HttpServletRequest request) { submit.setPayType(payConfigService.findInfo(oyingEnabled)); switch (submit.getPayType()) { case HWC: case HWC2: oying-tools/src/main/java/com/oying/domain/PayConfig.java
New file @@ -0,0 +1,48 @@ package com.oying.domain; import com.oying.base.BaseEntity; import lombok.Getter; import lombok.Setter; import cn.hutool.core.bean.BeanUtil; import io.swagger.annotations.ApiModelProperty; import cn.hutool.core.bean.copier.CopyOptions; import javax.validation.constraints.NotBlank; import java.io.Serializable; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; /** * @description / * @author lixin * @date 2025-09-25 **/ @Getter @Setter @TableName("tool_pay_config") public class PayConfig extends BaseEntity implements Serializable { @TableId(value = "config_id", type = IdType.AUTO) @ApiModelProperty(value = "主键") private Long configId; @NotBlank @ApiModelProperty(value = "名称") private String configName; @ApiModelProperty(value = "类型") private String configType; @ApiModelProperty(value = "环境") private Boolean oying; @ApiModelProperty(value = "门店编号") private String mchId; @ApiModelProperty(value = "是否启用") private Boolean enabled; public void copy(PayConfig source){ BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); } } oying-tools/src/main/java/com/oying/domain/dto/PayConfigQueryCriteria.java
New file @@ -0,0 +1,18 @@ package com.oying.domain.dto; import lombok.Data; import io.swagger.annotations.ApiModelProperty; /** * @author lixin * @date 2025-09-25 **/ @Data public class PayConfigQueryCriteria{ @ApiModelProperty(value = "页码", example = "1") private Integer page = 1; @ApiModelProperty(value = "每页数据量", example = "10") private Integer size = 10; } oying-tools/src/main/java/com/oying/mapper/PayConfigMapper.java
New file @@ -0,0 +1,30 @@ package com.oying.mapper; import com.oying.domain.PayConfig; import com.oying.domain.dto.PayConfigQueryCriteria; import java.util.List; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; /** * @author lixin * @date 2025-09-25 **/ @Mapper public interface PayConfigMapper extends BaseMapper<PayConfig> { IPage<PayConfig> findAll(@Param("criteria") PayConfigQueryCriteria criteria, Page<Object> page); List<PayConfig> findAll(@Param("criteria") PayConfigQueryCriteria criteria); void disabled(@Param("configId") Long configId); void using(@Param("configId") Long configId); PayConfig findInfo(@Param("oying") Boolean oying); } oying-tools/src/main/java/com/oying/rest/PayConfigController.java
New file @@ -0,0 +1,54 @@ package com.oying.rest; import com.oying.annotation.Log; import com.oying.domain.PayConfig; import com.oying.service.PayConfigService; import com.oying.domain.dto.PayConfigQueryCriteria; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import io.swagger.annotations.*; import java.io.IOException; import javax.servlet.http.HttpServletResponse; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.oying.utils.PageResult; /** * @author lixin * @date 2025-09-25 **/ @RestController @RequiredArgsConstructor @Api(tags = "工具:支付配置") @RequestMapping("/api/payConfig") public class PayConfigController { private final PayConfigService payConfigService; @ApiOperation("导出数据") @GetMapping(value = "/download") @PreAuthorize("@el.check('payConfig:list')") public void exportPayConfig(HttpServletResponse response, PayConfigQueryCriteria criteria) throws IOException { payConfigService.download(payConfigService.queryAll(criteria), response); } @GetMapping @ApiOperation("查询支付配置") @PreAuthorize("@el.check('payConfig:list')") public ResponseEntity<PageResult<PayConfig>> queryPayConfig(PayConfigQueryCriteria criteria){ Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize()); return new ResponseEntity<>(payConfigService.queryAll(criteria,page),HttpStatus.OK); } @PutMapping @Log("启用支付配置") @ApiOperation("启用支付配置") @PreAuthorize("@el.check('payConfig:edit')") public ResponseEntity<Object> updatePayConfig(@Validated @RequestBody PayConfig resources){ payConfigService.using(resources); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } } oying-tools/src/main/java/com/oying/service/PayConfigService.java
New file @@ -0,0 +1,64 @@ package com.oying.service; import com.oying.domain.PayConfig; import com.oying.domain.dto.PayConfigQueryCriteria; import java.util.List; import java.io.IOException; import javax.servlet.http.HttpServletResponse; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.oying.utils.PageResult; import com.oying.utils.enums.PayTypeEnum; /** * @description 服务接口 * @author lixin * @date 2025-09-25 **/ public interface PayConfigService extends IService<PayConfig> { /** * 查询数据分页 * @param criteria 条件 * @param page 分页参数 * @return PageResult */ PageResult<PayConfig> queryAll(PayConfigQueryCriteria criteria, Page<Object> page); /** * 查询所有数据不分页 * @param criteria 条件参数 * @return List<PayConfigDto> */ List<PayConfig> queryAll(PayConfigQueryCriteria criteria); /** * 创建 * @param resources / */ void create(PayConfig resources); /** * 编辑 * @param resources / */ void update(PayConfig resources); /** * 多选删除 * @param ids / */ void deleteAll(List<Long> ids); /** * 导出数据 * @param all 待导出的数据 * @param response / * @throws IOException / */ void download(List<PayConfig> all, HttpServletResponse response) throws IOException; void using(PayConfig resources); PayTypeEnum findInfo(Boolean oying); } oying-tools/src/main/java/com/oying/service/impl/PayConfigServiceImpl.java
New file @@ -0,0 +1,105 @@ package com.oying.service.impl; import com.oying.domain.PayConfig; import com.oying.utils.FileUtil; import com.oying.utils.enums.PayTypeEnum; import lombok.RequiredArgsConstructor; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.oying.service.PayConfigService; import com.oying.domain.dto.PayConfigQueryCriteria; import com.oying.mapper.PayConfigMapper; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.oying.utils.PageUtil; import java.util.List; import java.util.Map; import java.io.IOException; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.LinkedHashMap; import com.oying.utils.PageResult; /** * @author lixin * @description 服务实现 * @date 2025-09-25 **/ @Service @RequiredArgsConstructor public class PayConfigServiceImpl extends ServiceImpl<PayConfigMapper, PayConfig> implements PayConfigService { private final PayConfigMapper payConfigMapper; @Value("${pay.type}") private String payType; @Override public PageResult<PayConfig> queryAll(PayConfigQueryCriteria criteria, Page<Object> page) { return PageUtil.toPage(payConfigMapper.findAll(criteria, page)); } @Override public List<PayConfig> queryAll(PayConfigQueryCriteria criteria) { return payConfigMapper.findAll(criteria); } @Override @Transactional(rollbackFor = Exception.class) public void create(PayConfig resources) { payConfigMapper.insert(resources); } @Override @Transactional(rollbackFor = Exception.class) public void update(PayConfig resources) { PayConfig payConfig = getById(resources.getConfigId()); payConfig.copy(resources); payConfigMapper.updateById(payConfig); } @Override @Transactional(rollbackFor = Exception.class) public void using(PayConfig resources) { payConfigMapper.disabled(resources.getConfigId()); payConfigMapper.using(resources.getConfigId()); } @Override public PayTypeEnum findInfo(Boolean oying) { PayConfig payConfig = payConfigMapper.findInfo(oying); if (payConfig != null) { return PayTypeEnum.find(payConfig.getConfigType()); } else { return PayTypeEnum.find(payType); } } @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(List<Long> ids) { payConfigMapper.deleteBatchIds(ids); } @Override public void download(List<PayConfig> all, HttpServletResponse response) throws IOException { List<Map<String, Object>> list = new ArrayList<>(); for (PayConfig payConfig : all) { Map<String, Object> map = new LinkedHashMap<>(); map.put("名称", payConfig.getConfigName()); map.put("类型", payConfig.getConfigType()); map.put("环境", payConfig.getOying() ? "测试" : "生成"); map.put("门店编号", payConfig.getMchId()); map.put("是否启用", payConfig.getEnabled() ? "是" : "否"); map.put("创建者", payConfig.getCreateBy()); map.put("创建时间", payConfig.getCreateTime()); map.put("更新者", payConfig.getUpdateBy()); map.put("更新时间", payConfig.getUpdateTime()); list.add(map); } FileUtil.downloadExcel(list, response); } } oying-tools/src/main/resources/mapper/PayConfigMapper.xml
New file @@ -0,0 +1,35 @@ <?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.oying.mapper.PayConfigMapper"> <resultMap id="BaseResultMap" type="com.oying.domain.PayConfig"> <id column="config_id" property="configId"/> <result column="config_name" property="configName"/> <result column="config_type" property="configType"/> <result column="mch_id" property="mchId"/> <result column="enabled" property="enabled"/> <result column="create_by" property="createBy"/> <result column="create_time" property="createTime"/> <result column="update_by" property="updateBy"/> <result column="update_time" property="updateTime"/> </resultMap> <sql id="Base_Column_List"> config_id, config_name, config_type, mch_id, enabled, create_by, create_time, update_by, update_time </sql> <update id="disabled"> update tool_pay_config set enabled = false where config_id != #{configId} </update> <update id="using"> update tool_pay_config set enabled = true where config_id = #{configId} </update> <select id="findAll" resultMap="BaseResultMap"> select <include refid="Base_Column_List"/> from tool_pay_config order by config_id desc </select> <select id="findInfo" resultType="com.oying.domain.PayConfig"> select * from tool_pay_config where enabled = true and oying = #{oying} limit 1 </select> </mapper>