diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/controller/AccTradeController.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/controller/AccTradeController.java index 6711e2b..de38327 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/controller/AccTradeController.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/controller/AccTradeController.java @@ -3,6 +3,8 @@ package com.bonus.canteen.core.account.controller; import com.bonus.canteen.core.account.domain.AccountTrade; import com.bonus.canteen.core.account.domain.param.AccConsumeDetailQueryParam; import com.bonus.canteen.core.account.service.IAccTradeService; +import com.bonus.canteen.core.report.domain.TradeFlowVO; +import com.bonus.canteen.core.report.service.TradeReportService; import com.bonus.common.core.utils.poi.ExcelUtil; import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.domain.AjaxResult; @@ -19,7 +21,7 @@ import java.util.List; /** * 账户交易记录Controller - * + * * @author xsheng * @date 2025-04-05 */ @@ -30,6 +32,19 @@ public class AccTradeController extends BaseController { @Autowired private IAccTradeService accTradeService; + @Autowired + private TradeReportService tradeReportService; + + @ApiOperation(value = "交易流水") + //@RequiresPermissions("health:info:list") + @GetMapping("/acct") + public TableDataInfo acct(TradeFlowVO param) { + startPage(); + List list = tradeReportService.selectTradeFlow(param); + System.out.println(list.size()); + return getDataTable(list); + } + /** * 查询账户交易记录列表 */ diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/health/controller/HealthPersonInfoController.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/health/controller/HealthPersonInfoController.java index 1a7ec93..f293771 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/health/controller/HealthPersonInfoController.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/health/controller/HealthPersonInfoController.java @@ -2,6 +2,9 @@ package com.bonus.canteen.core.health.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; + +import com.bonus.canteen.core.report.domain.TradeFlowVO; +import com.bonus.canteen.core.report.service.TradeReportService; import com.bonus.common.log.enums.OperaType; //import com.bonus.canteen.core.health.common.annotation.PreventRepeatSubmit; import io.swagger.annotations.Api; @@ -37,6 +40,9 @@ public class HealthPersonInfoController extends BaseController { @Autowired private IHealthPersonInfoService healthPersonInfoService; + @Autowired + private TradeReportService tradeReportService; + /** * 查询人员健康情况列表 */ @@ -49,7 +55,15 @@ public class HealthPersonInfoController extends BaseController { List list = healthPersonInfoService.selectHealthPersonInfoList(healthPersonInfo); return getDataTable(list); } - + @ApiOperation(value = "交易流水") + //@RequiresPermissions("health:info:list") + @GetMapping("/acct") + public TableDataInfo acct(TradeFlowVO param) { + startPage(); + List list = tradeReportService.selectTradeFlow(param); + System.out.println(list.size()); + return getDataTable(list); + } /** * 导出人员健康情况列表 */ diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/health/service/impl/HealthPersonInfoServiceImpl.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/health/service/impl/HealthPersonInfoServiceImpl.java index 1df180a..eb6abb9 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/health/service/impl/HealthPersonInfoServiceImpl.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/health/service/impl/HealthPersonInfoServiceImpl.java @@ -5,10 +5,13 @@ import java.math.RoundingMode; import java.util.ArrayList; import java.util.List; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.ObjectUtil; +import com.bonus.canteen.core.report.domain.TradeFlowVO; import com.bonus.common.core.exception.ServiceException; import com.bonus.common.core.utils.DateUtils; +import com.bonus.common.houqin.utils.SM4EncryptUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.bonus.canteen.core.health.mapper.HealthPersonInfoMapper; @@ -45,7 +48,13 @@ public class HealthPersonInfoServiceImpl implements IHealthPersonInfoService { */ @Override public List selectHealthPersonInfoList(HealthPersonInfo healthPersonInfo) { - return healthPersonInfoMapper.selectHealthPersonInfoList(healthPersonInfo); + List list=healthPersonInfoMapper.selectHealthPersonInfoList(healthPersonInfo); + if(CollUtil.isNotEmpty(list)) { + for(HealthPersonInfo vo : list) { + vo.setMobile(SM4EncryptUtils.sm4Decrypt(vo.getMobile())); + } + } + return list; } /** diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/report/controller/TradeReportController.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/report/controller/TradeReportController.java new file mode 100644 index 0000000..8b9d423 --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/report/controller/TradeReportController.java @@ -0,0 +1,42 @@ +package com.bonus.canteen.core.report.controller; + +import com.bonus.canteen.core.health.domain.HealthPersonInfo; +import com.bonus.canteen.core.health.service.IHealthPersonInfoService; +import com.bonus.canteen.core.report.domain.*; +import com.bonus.canteen.core.report.service.TradeReportService; +import com.bonus.common.core.web.controller.BaseController; +import com.bonus.common.core.web.page.TableDataInfo; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 交易报表 + * + * @author jsk + * @date 2025-06-06 + */ +@Controller +@RequestMapping("/reportTrade") +public class TradeReportController extends BaseController +{ + @Autowired + private TradeReportService tradeReportService; + + @Autowired + private IHealthPersonInfoService healthPersonInfoService; + + @ApiOperation(value = "交易流水") + //@RequiresPermissions("report:trade:flow") + @GetMapping("/list") + public TableDataInfo list(TradeFlowVO param) { + startPage(); + List list = tradeReportService.selectTradeFlow(param); + System.out.println(list.size()); + return getDataTable(list); + } + +} diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/report/domain/TradeFlowVO.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/report/domain/TradeFlowVO.java new file mode 100644 index 0000000..b504619 --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/report/domain/TradeFlowVO.java @@ -0,0 +1,39 @@ +package com.bonus.canteen.core.report.domain; + +import com.bonus.common.core.web.domain.BaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.List; + +@Data +public class TradeFlowVO extends BaseEntity { + private Long userId; + private String userName; + private Integer userType; + private String phonenumber; + private Long deptId; + private String deptName; + private String deptFullName; + private BigDecimal accountAllBal; + private LocalDateTime tradeTime; + private Integer tradeType; + private Integer payType; + private String machineSn; + private String deviceName; + private String createBy; + private BigDecimal income; + private BigDecimal outcome; + + private String searchValue; + private List deptIdList; + @ApiModelProperty("开始时间") + private String startDateTime; + @ApiModelProperty("结束时间") + private String endDateTime; + +} diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/report/mapper/TradeReportMapper.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/report/mapper/TradeReportMapper.java new file mode 100644 index 0000000..1d70e0f --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/report/mapper/TradeReportMapper.java @@ -0,0 +1,10 @@ +package com.bonus.canteen.core.report.mapper; + +import com.bonus.canteen.core.report.domain.TradeFlowVO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface TradeReportMapper { + public List selectTradeFlow(@Param("param") TradeFlowVO param,@Param("encryptedSearchValue") String encryptedSearchValue); +} diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/report/service/TradeReportService.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/report/service/TradeReportService.java new file mode 100644 index 0000000..44f385e --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/report/service/TradeReportService.java @@ -0,0 +1,10 @@ +package com.bonus.canteen.core.report.service; + + +import com.bonus.canteen.core.report.domain.TradeFlowVO; + +import java.util.List; + +public interface TradeReportService { + List selectTradeFlow(TradeFlowVO param); +} diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/report/service/impl/TradeReportServiceImpl.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/report/service/impl/TradeReportServiceImpl.java new file mode 100644 index 0000000..a2df11d --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/report/service/impl/TradeReportServiceImpl.java @@ -0,0 +1,29 @@ +package com.bonus.canteen.core.report.service.impl; + +import cn.hutool.core.collection.CollUtil; +import com.bonus.canteen.core.report.domain.TradeFlowVO; +import com.bonus.canteen.core.report.mapper.TradeReportMapper; +import com.bonus.canteen.core.report.service.TradeReportService; +import com.bonus.common.houqin.utils.SM4EncryptUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +@Service +public class TradeReportServiceImpl implements TradeReportService { + @Resource + TradeReportMapper tradeReportMapper; + + @Override + public List selectTradeFlow(TradeFlowVO param) { + String encryptedSearchValue = SM4EncryptUtils.sm4Encrypt(param.getSearchValue()); + List tradeFlowVOList = tradeReportMapper.selectTradeFlow(param,encryptedSearchValue); + if(CollUtil.isNotEmpty(tradeFlowVOList)) { + for(TradeFlowVO vo : tradeFlowVOList) { + vo.setPhonenumber(SM4EncryptUtils.sm4Decrypt(vo.getPhonenumber())); + } + } + return tradeFlowVOList; + } +} diff --git a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/report/TradeReportMapper.xml b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/report/TradeReportMapper.xml new file mode 100644 index 0000000..18d5fa2 --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/report/TradeReportMapper.xml @@ -0,0 +1,58 @@ + + + + + +