Kaynağa Gözat

fix link

master
lin 1 yıl önce
ebeveyn
işleme
f6ae01540c
9 değiştirilmiş dosya ile 273 ekleme ve 4 silme
  1. +18
    -3
      gptCApi/src/main/java/com/iformall/controller/WxChatController.java
  2. +30
    -0
      gptService/src/main/java/com/iformall/domain/po/WxLink.java
  3. +16
    -0
      gptService/src/main/java/com/iformall/mapper/WxLinkMapper.java
  4. +25
    -0
      gptService/src/main/java/com/iformall/service/WxLinkService.java
  5. +53
    -0
      gptService/src/main/java/com/iformall/service/cache/WxLinkCache.java
  6. +67
    -0
      gptService/src/main/java/com/iformall/service/impl/WxLinkServiceImpl.java
  7. +2
    -0
      gptService/src/main/java/com/iformall/utils/Constant.java
  8. +4
    -1
      gptService/src/main/java/com/iformall/utils/SysConfigConstant.java
  9. +58
    -0
      gptService/src/main/resources/mapper/WxLinkMapper.xml

+ 18
- 3
gptCApi/src/main/java/com/iformall/controller/WxChatController.java Dosyayı Görüntüle

@@ -49,6 +49,9 @@ public class WxChatController extends BaseController {
@Autowired
WxAppinfoService wxAppinfoServie;
@Autowired
WxLinkService wxLinkService;
@GetMapping("/limit")
public ResultData chatLimit() {
Map retMap = new HashMap();
@@ -86,9 +89,21 @@ public class WxChatController extends BaseController {
@GetMapping("/link")
public ResultData link() {
Map retMap = new HashMap();
TenantEntity tenantEntity = getCUser();
SysConfig config = sysConfigService.getByKey(SysConfigConstant.linkQrCode, tenantEntity);
retMap.put("linkQrCode", config.getConfigItemValue());
WxCUser user = getCUser();
SysConfig linkFirstSlogan = sysConfigService.getByKey(SysConfigConstant.linkFirstSlogan, user);
retMap.put("linkFirstSlogan", linkFirstSlogan.getConfigItemValue());
SysConfig linkSecondSlogan = sysConfigService.getByKey(SysConfigConstant.linkSecondSlogan, user);
retMap.put("linkSecondSlogan", linkSecondSlogan.getConfigItemValue());
SysConfig linkCompany = sysConfigService.getByKey(SysConfigConstant.linkCompany, user);
retMap.put("linkCompany", linkCompany.getConfigItemValue());
SysConfig linkCompanyAddress = sysConfigService.getByKey(SysConfigConstant.linkCompanyAddress, user);
retMap.put("linkCompanyAddress", linkCompanyAddress.getConfigItemValue());
List<WxLink> linkList = wxLinkService.getCLinkList(user);
retMap.put("linkList", linkList);
return new ResultData(retMap);
}
}

+ 30
- 0
gptService/src/main/java/com/iformall/domain/po/WxLink.java Dosyayı Görüntüle

@@ -0,0 +1,30 @@
package com.iformall.domain.po;

import com.baomidou.mybatisplus.annotation.TableName;
import com.iformall.domain.po.base.TenantEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.util.*;

@TableName(value = "wx_link")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString
public class WxLink extends TenantEntity {

private static final long serialVersionUID = -5094915301794376964L;

protected Long id;
@io.swagger.annotations.ApiModelProperty(value="创建时间",name="createTime")
private Date createTime;
@io.swagger.annotations.ApiModelProperty(value="更新时间",name="updateTime")
private Date updateTime;
@io.swagger.annotations.ApiModelProperty(value="二维码",name="qrCode")
private String qrCode;
@io.swagger.annotations.ApiModelProperty(value="电话",name="phone")
private String phone;
@io.swagger.annotations.ApiModelProperty(value="邮箱",name="email")
private String email;
}

+ 16
- 0
gptService/src/main/java/com/iformall/mapper/WxLinkMapper.java Dosyayı Görüntüle

@@ -0,0 +1,16 @@
package com.iformall.mapper;

import java.util.*;

import org.apache.ibatis.annotations.Param;

import com.iformall.common.CommonMapper;
import com.iformall.domain.po.WxLink;

public interface WxLinkMapper extends CommonMapper<WxLink, Long> {

WxLink selectById(@Param("id")Long id,@Param("tenantId")String tenantId);
List<WxLink> findList(WxLink wxLink);
}

+ 25
- 0
gptService/src/main/java/com/iformall/service/WxLinkService.java Dosyayı Görüntüle

@@ -0,0 +1,25 @@
package com.iformall.service;

import com.iformall.domain.po.WxLink;
import com.iformall.domain.po.base.TenantEntity;

import java.util.List;

public interface WxLinkService {


/**
* 根据Id获得实体
*
* @param id
* @return
*/
WxLink getById(Long id,String tenantId);
List<WxLink> list(WxLink product);
List<WxLink> getCLinkList(TenantEntity tenantEntity);
WxLink getCLink(TenantEntity tenantEntity,Long id);
}

+ 53
- 0
gptService/src/main/java/com/iformall/service/cache/WxLinkCache.java Dosyayı Görüntüle

@@ -0,0 +1,53 @@
package com.iformall.service.cache;

import java.util.List;

import org.springframework.data.redis.core.RedisTemplate;

import com.iformall.domain.po.WxLink;
import com.iformall.utils.Constant;
import com.iformall.utils.RedisCacheUtils;

public class WxLinkCache {

private static String getKey(Long linkId) {
String key = Constant.linkPrev + linkId;
return key;
}
public static WxLink getCache(RedisTemplate<String, Object> redisTemplate,Long linkId) {
String key = getKey(linkId);
return RedisCacheUtils.getCacheObject(redisTemplate, key, WxLink.class);
}
public static void cache(RedisTemplate<String, Object> redisTemplate,WxLink link) {
String key = getKey(link.getId());
RedisCacheUtils.cache(redisTemplate, key, link, 3600*24*7);
}
public static void removeCache(RedisTemplate<String, Object> redisTemplate,Long linkId) {
String key = getKey(linkId);
RedisCacheUtils.removeCache(redisTemplate, key);
}
private static String getListKey(String tenantId) {
String key = Constant.linkListPrev + tenantId;
return key;
}
public static List<WxLink> getCacheList(RedisTemplate<String, Object> redisTemplate,String tenantId) {
String key = getListKey(tenantId);
return RedisCacheUtils.getCacheListObject(redisTemplate, key, WxLink.class);
}
public static void cacheList(RedisTemplate<String, Object> redisTemplate,List<WxLink> wxLinkList,String tenantId) {
String key = getListKey(tenantId);
RedisCacheUtils.cache(redisTemplate, key, wxLinkList, 3600*24*7);
}
public static void removeCacheList(RedisTemplate<String, Object> redisTemplate,String tenantId) {
String key = getListKey(tenantId);
RedisCacheUtils.removeCache(redisTemplate, key);
}
}

+ 67
- 0
gptService/src/main/java/com/iformall/service/impl/WxLinkServiceImpl.java Dosyayı Görüntüle

@@ -0,0 +1,67 @@
package com.iformall.service.impl;

import com.iformall.domain.po.WxLink;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.mapper.WxLinkMapper;
import com.iformall.service.WxLinkService;
import com.iformall.service.cache.WxLinkCache;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import java.util.List;

@Service
public class WxLinkServiceImpl implements WxLinkService {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
WxLinkMapper wxLinkMapper;
@Autowired
@Qualifier("objectCommonRedisTemplate")
RedisTemplate<String, Object> objectCommonRedisTemplate;

@Override
public WxLink getById(Long id, String tenantId) {
return wxLinkMapper.selectById(id, tenantId);
}

@Override
public List<WxLink> list(WxLink product) {
return wxLinkMapper.findList(product);
}

@Override
public List<WxLink> getCLinkList(TenantEntity tenantEntity) {
List<WxLink> productList = WxLinkCache.getCacheList(objectCommonRedisTemplate,tenantEntity.getTenantId());
if (null == productList || productList.size() <= 0 ) {
WxLink p = new WxLink();
p.updateTenantInfo(tenantEntity);
List<WxLink> plist = list(p);
if (null != plist && plist.size() > 0 ) {
WxLinkCache.cacheList(objectCommonRedisTemplate, plist,tenantEntity.getTenantId());
return plist;
}
}
return productList;
}


@Override
public WxLink getCLink(TenantEntity tenantEntity,Long id) {
WxLink _product = WxLinkCache.getCache(objectCommonRedisTemplate,id);
if (null == _product) {
_product = getById(id, tenantEntity.getTenantId());
if (null != _product) {
WxLinkCache.cache(objectCommonRedisTemplate, _product);
}
}
return _product;
}


}

+ 2
- 0
gptService/src/main/java/com/iformall/utils/Constant.java Dosyayı Görüntüle

@@ -11,6 +11,8 @@ public class Constant {
public static final String payaccountPrev = "gpt:payAccount:";
public static final String noticePrev = "gpt:notice:";
public static final String noticeListPrev = "gpt:noticeList:";
public static final String linkPrev = "gpt:link:";
public static final String linkListPrev = "gpt:linkList:";
public static final String currentUser = "currentUser";
public static final String TENANT_ID = "tenantId";
public static final String PARENT_TENANT_ID = "parentTenantId";


+ 4
- 1
gptService/src/main/java/com/iformall/utils/SysConfigConstant.java Dosyayı Görüntüle

@@ -6,6 +6,9 @@ public class SysConfigConstant {
public static final String freeDays="freeDays";
public static final String promotContentCount="promotContentCount";
public static final String completionContentCount="completionContentCount";
public static final String linkQrCode="linkQrCode";
public static final String linkFirstSlogan="linkFirstSlogan";
public static final String linkSecondSlogan="linkSecondSlogan";
public static final String linkCompany="linkCompany";
public static final String linkCompanyAddress="linkCompanyAddress";

}

+ 58
- 0
gptService/src/main/resources/mapper/WxLinkMapper.xml Dosyayı Görüntüle

@@ -0,0 +1,58 @@
<?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.iformall.mapper.WxLinkMapper">
<resultMap id="BaseResultMap" type="com.iformall.domain.po.WxLink">
<id column="id" jdbcType="BIGINT" property="id"/>
<result column="tenant_id" jdbcType="VARCHAR" property="tenantId"/>
<result column="parent_tenant_id" jdbcType="VARCHAR" property="parentTenantId" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
<result column="qr_code" jdbcType="VARCHAR" property="qrCode"/>
<result column="phone" jdbcType="VARCHAR" property="phone"/>
<result column="email" jdbcType="VARCHAR" property="email"/>
</resultMap>

<sql id="allColumns">
`id`,`tenant_id`,`parent_tenant_id`,`create_time`,`update_time`,`qr_code`,`phone`,`email`
</sql>

<sql id="dynamicWhereConditions">
where `tenant_id` = #{tenantId}

<if test=" null != id ">
and `id` = #{id}
</if>

<if test=" null != parentTenantId and '' != parentTenantId">
and `parent_tenant_id` = #{parentTenantId}
</if>

<if test=" null != createTime ">
and `create_time` = #{createTime}
</if>

<if test=" null != updateTime ">
and `update_time` = #{updateTime}
</if>

<if test=" null != ids ">
and id in
<foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")">
#{idItem}
</foreach>
</if>
<if test=" null != sortColumns">order by ${sortColumns}</if>
</sql>

<select id="selectById" parameterType="java.util.HashMap" resultMap="BaseResultMap">
select <include refid="allColumns"/> from wx_link where id = #{id} and tenant_id = #{tenantId}
</select>

<select id="findList" parameterType="com.iformall.domain.po.WxLink" resultMap="BaseResultMap">
select
<include refid="allColumns"/>
from wx_link
<include refid="dynamicWhereConditions"/>
</select>

</mapper>

Yükleniyor…
İptal
Kaydet