diff --git a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/WechatAppletController.java b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/WechatAppletController.java index ee7b125d0..381eb20eb 100644 --- a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/WechatAppletController.java +++ b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/WechatAppletController.java @@ -715,13 +715,13 @@ public class WechatAppletController extends BaseController { public TableDataInfo getCommunityPunch() { startPage(); List list = sysWxUserLogService.getCommunityPunch(new SysWxUserLog()); - if (list != null && list.size() > 0) { - for (CommunityPunchReponse comm : list) { - comm.setId(AesUtils.encrypt(comm.getId())); +// if (list != null && list.size() > 0) { +// for (CommunityPunchReponse comm : list) { +// comm.setId(AesUtils.encrypt(comm.getId())); // comm.setCusId(AesUtils.encrypt(comm.getCusId())); // comm.setThumbsupNum(comm.getThumbsupOpenid() != null ? comm.getThumbsupOpenid().size() : 0); - } - } +// } +// } return getDataTable(list); } @@ -732,25 +732,24 @@ public class WechatAppletController extends BaseController { */ @PostMapping("/thumbsupPunch") public AjaxResult getCommunityPunch(@RequestBody SysPunchThumbsup sysPunchThumbsup) { - if (StringUtils.isEmpty(sysPunchThumbsup.getCusOpenid(), sysPunchThumbsup.getEncPunchId()) || sysPunchThumbsup.getThumbsupFlag() == null) { - return AjaxResult.error("缺少必要参数"); + int rows = 0; + if (StringUtils.isEmpty(sysPunchThumbsup.getEncId())) { + // 点赞 + sysPunchThumbsup.setPunchId(Long.parseLong(AesUtils.decrypt(sysPunchThumbsup.getEncPunchId()))); + rows = sysPunchThumbsupService.insertSysPunchThumbsup(sysPunchThumbsup); + if (rows > 0) { + Map resultData = new HashMap<>(); + resultData.put("id", AesUtils.encrypt(String.valueOf(sysPunchThumbsup.getId()))); + resultData.put("openid", sysPunchThumbsup.getCusOpenid()); + resultData.put("punchId", sysPunchThumbsup.getEncPunchId()); + return AjaxResult.success(resultData); + } + } else { + // 取消点赞 + rows = sysPunchThumbsupService.deleteSysPunchThumbsupById(Long.parseLong(AesUtils.decrypt(sysPunchThumbsup.getEncId()))); } - sysPunchThumbsup.setPunchId(Long.parseLong(AesUtils.decrypt(sysPunchThumbsup.getEncPunchId()))); - SysPunchThumbsup existPunchThumbsup = sysPunchThumbsupService.getThumbsupByPunchIdAndOpenid(sysPunchThumbsup); - if (existPunchThumbsup != null && sysPunchThumbsup.getThumbsupFlag()) { - return AjaxResult.error("已点过暂,无法重复点赞"); - } - if (existPunchThumbsup == null && !sysPunchThumbsup.getThumbsupFlag()) { - return AjaxResult.error("还未未点赞,无法取消点赞"); - } - int row = 0; - try { - row = sysPunchThumbsup.getThumbsupFlag() ? sysPunchThumbsupService.insertSysPunchThumbsup(sysPunchThumbsup) : sysPunchThumbsupService.deleteThumbsupByPunchIdAndOpenid(sysPunchThumbsup); - } catch (Exception e) { - e.printStackTrace(); - } - return toAjax(row); + return toAjax(rows); } diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysPunchThumbsup.java b/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysPunchThumbsup.java index 7b1ccb17c..f44f7eadb 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysPunchThumbsup.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysPunchThumbsup.java @@ -18,6 +18,8 @@ public class SysPunchThumbsup extends BaseEntity /** $column.columnComment */ private Long id; + private String encId; + /** 打卡记录ID */ @Excel(name = "打卡记录ID") private Long punchId; diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/typehandler/EncryptedIdHandler.java b/stdiet-custom/src/main/java/com/stdiet/custom/typehandler/EncryptedIdHandler.java new file mode 100644 index 000000000..7cef65489 --- /dev/null +++ b/stdiet-custom/src/main/java/com/stdiet/custom/typehandler/EncryptedIdHandler.java @@ -0,0 +1,41 @@ +package com.stdiet.custom.typehandler; + +import com.stdiet.common.utils.sign.AesUtils; +import org.apache.ibatis.type.BaseTypeHandler; +import org.apache.ibatis.type.JdbcType; +import org.apache.ibatis.type.MappedJdbcTypes; +import org.apache.ibatis.type.MappedTypes; + +import java.sql.CallableStatement; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; + +@MappedTypes({String.class}) +@MappedJdbcTypes({JdbcType.BIGINT}) +public class EncryptedIdHandler extends BaseTypeHandler { + + @Override + public void setNonNullParameter(PreparedStatement preparedStatement, int i, String encrypedId, JdbcType jdbcType) throws SQLException { + preparedStatement.setLong(i, Long.parseLong(AesUtils.decrypt(encrypedId))); + } + + @Override + public String getNullableResult(ResultSet resultSet, String s) throws SQLException { + return this.encryptedString(resultSet.getLong(s)); + } + + @Override + public String getNullableResult(ResultSet resultSet, int i) throws SQLException { + return this.encryptedString(resultSet.getLong(i)); + } + + @Override + public String getNullableResult(CallableStatement callableStatement, int i) throws SQLException { + return this.encryptedString(callableStatement.getLong(i)); + } + + private String encryptedString(Long id) { + return AesUtils.encrypt(String.valueOf(id)); + } +} diff --git a/stdiet-custom/src/main/resources/mapper/custom/SysPunchThumbsupMapper.xml b/stdiet-custom/src/main/resources/mapper/custom/SysPunchThumbsupMapper.xml index c9fd4a5e9..c2f0ea3e7 100644 --- a/stdiet-custom/src/main/resources/mapper/custom/SysPunchThumbsupMapper.xml +++ b/stdiet-custom/src/main/resources/mapper/custom/SysPunchThumbsupMapper.xml @@ -31,15 +31,15 @@ punch_id, cus_openid, - create_time, - update_time, + create_time, + update_time, del_flag, #{punchId}, #{cusOpenid}, - #{createTime}, - #{updateTime}, + now(), + now(), #{delFlag}, diff --git a/stdiet-custom/src/main/resources/mapper/custom/SysWxUserLogMapper.xml b/stdiet-custom/src/main/resources/mapper/custom/SysWxUserLogMapper.xml index 4ebd06b96..7562a6bbf 100644 --- a/stdiet-custom/src/main/resources/mapper/custom/SysWxUserLogMapper.xml +++ b/stdiet-custom/src/main/resources/mapper/custom/SysWxUserLogMapper.xml @@ -334,15 +334,15 @@ - + - + @@ -359,18 +359,31 @@ - + select id, cus_openid from sys_punch_thumbsup where punch_id = #{id} and del_flag = 0 + + +