diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxAuthorizerInfo.java b/mallinkService/src/main/java/com/iformall/domain/po/WxAuthorizerInfo.java index 3d779dd12..44b9b472d 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxAuthorizerInfo.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxAuthorizerInfo.java @@ -21,30 +21,30 @@ public class WxAuthorizerInfo implements Serializable { @Transient protected String sortColumns; - /**微信公众账号基本信息表id,关联微信公众号基本信息表*/ @io.swagger.annotations.ApiModelProperty(value="微信公众账号基本信息表id,关联微信公众号基本信息表",name="officialAccountId") private Long officialAccountId; - /**授权方appid*/ @io.swagger.annotations.ApiModelProperty(value="授权方appid",name="authorizerAppid") private String authorizerAppid; - /**授权方头像*/ @io.swagger.annotations.ApiModelProperty(value="授权方头像",name="headImg") private String headImg; - /**授权方公众号所设置的微信号,可能为空*/ @io.swagger.annotations.ApiModelProperty(value="授权方公众号所设置的微信号,可能为空",name="alias") private String alias; - /**二维码图片的URL,开发者最好自行也进行保存*/ @io.swagger.annotations.ApiModelProperty(value="二维码图片的URL,开发者最好自行也进行保存",name="qrcodeUrl") private String qrcodeUrl; - /**创建时间*/ @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createTime") private Date createTime; - /**更新时间*/ @io.swagger.annotations.ApiModelProperty(value="更新时间",name="updateTime") private Date updateTime; - /**授权状态,0为已授权,1为已取消授权*/ @io.swagger.annotations.ApiModelProperty(value="授权状态,0为已授权,1为已取消授权",name="authorizationStatus") private Integer authorizationStatus; + @io.swagger.annotations.ApiModelProperty(value="授权时间",name="authTime") + private Date authTime; + @io.swagger.annotations.ApiModelProperty(value="当前版本",name="currentVersion") + private String currentVersion; + @io.swagger.annotations.ApiModelProperty(value="当前版本描述",name="currentDesc") + private String currentDesc; + @io.swagger.annotations.ApiModelProperty(value="当前版本发布时间",name="releaseTime") + private Date releaseTime; @@ -57,8 +57,12 @@ public class WxAuthorizerInfo implements Serializable { ,Alias_ASC("`alias` ASC"),Alias_DESC("`alias` DESC") ,QrcodeUrl_ASC("`qrcode_url` ASC"),QrcodeUrl_DESC("`qrcode_url` DESC") ,CreateTime_ASC("`create_time` ASC"),CreateTime_DESC("`create_time` DESC") - ,Updateime_ASC("`update_time` ASC"),UpdateTime_DESC("`update_time` DESC") + ,UpdateTime_ASC("`update_time` ASC"),UpdateTime_DESC("`update_time` DESC") ,AuthorizationStatus_ASC("`authorization_status` ASC"),AuthorizationStatus_DESC("`authorization_status` DESC") + ,AuthTime_ASC("`auth_time` ASC"),AuthTime_DESC("`auth_time` DESC") + ,CurrentVersion_ASC("`current_version` ASC"),CurrentVersion_DESC("`current_version` DESC") + ,CurrentDesc_ASC("`current_desc` ASC"),CurrentDesc_DESC("`current_desc` DESC") + ,ReleaseTime_ASC("`release_time` ASC"),ReleaseTime_DESC("`release_time` DESC") ; private String value; Field(String value){ diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxWeappCodeStatus.java b/mallinkService/src/main/java/com/iformall/domain/po/WxWeappCodeStatus.java index 2e1c85f74..60132e37a 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxWeappCodeStatus.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxWeappCodeStatus.java @@ -35,18 +35,27 @@ public class WxWeappCodeStatus implements Serializable { /**code提交状态*/ @io.swagger.annotations.ApiModelProperty(value="code提交状态(0:成功, ...error code)",name="codeStatus") private Integer codeStatus; + /**更新时间*/ + @io.swagger.annotations.ApiModelProperty(value="code提交时间",name="codeTime") + private Date codeTime; /**审核状态*/ @io.swagger.annotations.ApiModelProperty(value="审核状态((0为审核成功,1为审核失败,2为审核中,3已撤回))",name="auditStatus") private Integer auditStatus; + /**审核时间*/ + @io.swagger.annotations.ApiModelProperty(value="审核时间",name="auditTime") + private Date auditTime; /**发布状态*/ @io.swagger.annotations.ApiModelProperty(value="发布状态((0为发布成功,...error code))",name="releaseStatus") private Integer releaseStatus; + /**发布时间*/ + @io.swagger.annotations.ApiModelProperty(value="发布时间",name="releaseTime") + private Date releaseTime; /**创建时间*/ - @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate") - private Date createDate; + @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createTime") + private Date createTime; /**更新时间*/ - @io.swagger.annotations.ApiModelProperty(value="更新时间",name="updateDate") - private Date updateDate; + @io.swagger.annotations.ApiModelProperty(value="更新时间",name="updateTime") + private Date updateTime; @@ -56,8 +65,8 @@ public class WxWeappCodeStatus implements Serializable { ,AppId_ASC("`app_id` ASC"),AppId_DESC("`app_id` DESC") ,Type_ASC("`type` ASC"),Type_DESC("`type` DESC") ,UserVersion_ASC("`user_version` ASC"),UserVersion_DESC("`user_version` DESC") - ,CreateDate_ASC("`create_date` ASC"),CreateDate_DESC("`create_date` DESC") - ,UpdateDate_ASC("`update_date` ASC"),UpdateDate_DESC("`update_date` DESC") + ,CreateTime_ASC("`create_time` ASC"),CreateTime_DESC("`create_time` DESC") + ,UpdateTime_ASC("`update_time` ASC"),UpdateDate_DESC("`update_time` DESC") ; private String value; Field(String value){ diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxWeappInfo.java b/mallinkService/src/main/java/com/iformall/domain/po/WxWeappInfo.java deleted file mode 100644 index 48c62ae27..000000000 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxWeappInfo.java +++ /dev/null @@ -1,109 +0,0 @@ -package com.iformall.domain.po; - -import lombok.Data; -import javax.persistence.*; -import java.util.*; -import javax.persistence.Transient; -import java.util.List; -import javax.persistence.Id; -import java.io.Serializable; - -@Table(name = "wx_weapp_info") -@Data -public class WxWeappInfo implements Serializable { - private static final long serialVersionUID = 1L; - - @Id - protected Long id; - - @Transient - protected List ids; - @Transient - protected String sortColumns; - - /**小程序ID*/ - @io.swagger.annotations.ApiModelProperty(value="小程序ID",name="appId") - private String appId; - /**小程序类型(1-B端 2-C端)*/ - @io.swagger.annotations.ApiModelProperty(value="小程序类型(1-B端 2-C端)",name="type") - private Integer type; - /**小程序名称*/ - @io.swagger.annotations.ApiModelProperty(value="小程序名称",name="name") - private String name; - /**当前版本*/ - @io.swagger.annotations.ApiModelProperty(value="当前版本",name="currentVersion") - private String currentVersion; - /**描述*/ - @io.swagger.annotations.ApiModelProperty(value="描述",name="currentDesc") - private String currentDesc; - /**创建时间*/ - @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate") - private Date createDate; - /**更新时间*/ - @io.swagger.annotations.ApiModelProperty(value="更新时间",name="updateDate") - private Date updateDate; - - - - public static enum Field - { - Id_ASC("`id` ASC"),Id_DESC("`id` DESC") - ,AppId_ASC("`app_id` ASC"),AppId_DESC("`app_id` DESC") - ,Type_ASC("`type` ASC"),Type_DESC("`type` DESC") - ,ame_ASC("`name` ASC"),Name_DESC("`name` DESC") - ,CurrentVersion_ASC("`current_version` ASC"),CurrentVersion_DESC("`current_version` DESC") - ,CurrentDesc_ASC("`current_desc` ASC"),CurrentDesc_DESC("`current_desc` DESC") - ,CreateDate_ASC("`create_date` ASC"),CreateDate_DESC("`create_date` DESC") - ,UpdateDate_ASC("`update_date` ASC"),UpdateDate_DESC("`update_date` DESC") - ; - private String value; - Field(String value){ - this.value = value; - } - public String getValue() { - return value; - } - public void setCol(String value) { - this.value = value; - } - @Override - public String toString() { - return this.getValue(); - } - } - - public void setSortColumns(WxWeappInfo.Field... fields) - { - if (fields == null || fields.length == 0) { - return; - } - for (int k = 0; k < fields.length; k++) { - if (fields[k] == null) { - return; - } - } - StringBuilder sb = new StringBuilder(fields[0].toString()); - for (int k = 1; k < fields.length; k++) { - sb.append(","); - sb.append(fields[k].toString()); - } - this.sortColumns = sb.toString(); - } - - public void setSortColumns(String sortColumns) - { - if (sortColumns == null || "".equals(sortColumns.trim())) { - return; - } - if (sortColumns.contains(",")) { - String[] cols = sortColumns.split(","); - java.util.List fList = new java.util.ArrayList(); - for (int k = 0; k < cols.length; k++) { - fList.add(Field.valueOf(cols[k])); - } - this.setSortColumns(fList.toArray(new Field[fList.size()])); - } else { - this.setSortColumns(Field.valueOf(sortColumns)); - } - } -} diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxWeappInfo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxWeappInfo.java new file mode 100644 index 000000000..2404fb78b --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxWeappInfo.java @@ -0,0 +1,17 @@ +package com.iformall.domain.vo; + +import com.iformall.domain.po.WxAuthorizerInfo; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper = true) +public class WxWeappInfo extends WxAuthorizerInfo { + + /**小程序类型(1-B端 2-C端)*/ + @io.swagger.annotations.ApiModelProperty(value="小程序类型(1-B端 2-C端)",name="type") + private Integer type; + /**小程序名称*/ + @io.swagger.annotations.ApiModelProperty(value="小程序名称",name="name") + private String name; +} diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxAuthorizerInfoMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxAuthorizerInfoMapper.java index feaa7d407..f4f7c9582 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxAuthorizerInfoMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxAuthorizerInfoMapper.java @@ -3,10 +3,13 @@ package com.iformall.mapper; import java.util.*; import com.iformall.common.CommonMapper; import com.iformall.domain.po.WxAuthorizerInfo; +import com.iformall.domain.vo.WxWeappInfo; public interface WxAuthorizerInfoMapper extends CommonMapper { List findList(WxAuthorizerInfo wxAuthorizerInfo); + + List findVoList(WxWeappInfo wxWeappInfo); diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxWeappInfoMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxWeappInfoMapper.java deleted file mode 100644 index 726253ab3..000000000 --- a/mallinkService/src/main/java/com/iformall/mapper/WxWeappInfoMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.iformall.mapper; - -import java.util.*; -import com.iformall.common.CommonMapper; -import com.iformall.domain.po.WxWeappInfo; - -public interface WxWeappInfoMapper extends CommonMapper { - - List findList(WxWeappInfo wxWeappInfo); - - - - - - -} diff --git a/mallinkService/src/main/java/com/iformall/service/WxAuthorizerInfoService.java b/mallinkService/src/main/java/com/iformall/service/WxAuthorizerInfoService.java index 09368db72..b2d3c3652 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxAuthorizerInfoService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxAuthorizerInfoService.java @@ -1,8 +1,10 @@ package com.iformall.service; -import java.util.*; import com.github.pagehelper.PageInfo; import com.iformall.domain.po.WxAuthorizerInfo; +import com.iformall.domain.vo.WxWeappInfo; + +import java.util.List; public interface WxAuthorizerInfoService { @@ -15,6 +17,23 @@ public interface WxAuthorizerInfoService { * @return */ PageInfo listAsPage(WxAuthorizerInfo record, Integer pageIndex, Integer pageSize); + + /** + * 根据实体查询分页列表 + * + * @param record + * @param pageIndex + * @param pageSize + * @return + */ + PageInfo listVoAsPage(WxWeappInfo record, Integer pageIndex, Integer pageSize); + + /** + * 根据实体查询列表 + * @param record + * @return + */ + List getList(WxWeappInfo record); /** * 根据Id获得实体 diff --git a/mallinkService/src/main/java/com/iformall/service/WxWeappInfoService.java b/mallinkService/src/main/java/com/iformall/service/WxWeappInfoService.java deleted file mode 100644 index 51cdefa5a..000000000 --- a/mallinkService/src/main/java/com/iformall/service/WxWeappInfoService.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.iformall.service; - -import com.github.pagehelper.PageInfo; -import com.iformall.domain.po.WxWeappInfo; - -public interface WxWeappInfoService { - - /** - * 根据实体查询分页列表 - * - * @param record - * @param pageIndex - * @param pageSize - * @return - */ - PageInfo listAsPage(WxWeappInfo record, Integer pageIndex, Integer pageSize); - - /** - * 根据Id获得实体 - * - * @param id - * @return - */ - WxWeappInfo getById(Long id); - - /** - * 保存或更新实体 - * - * @param record - */ - void saveOrUpdate(WxWeappInfo record); - - /** - * 根据Id删除实体 - * - * @param id - */ - void deleteById(Long id); - - - - - - - - -} diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxAuthorizerInfoServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxAuthorizerInfoServiceImpl.java index bae359bd2..8ed696eb9 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxAuthorizerInfoServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxAuthorizerInfoServiceImpl.java @@ -3,6 +3,7 @@ package com.iformall.service.impl; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.iformall.domain.po.WxAuthorizerInfo; +import com.iformall.domain.vo.WxWeappInfo; import com.iformall.mapper.WxAuthorizerInfoMapper; import com.iformall.service.WxAuthorizerInfoService; import org.slf4j.Logger; @@ -12,6 +13,7 @@ import org.springframework.stereotype.Service; import com.iformall.common.IdWorker; import java.util.Date; +import java.util.List; @Service public class WxAuthorizerInfoServiceImpl implements WxAuthorizerInfoService { @@ -26,6 +28,16 @@ public class WxAuthorizerInfoServiceImpl implements WxAuthorizerInfoService { return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxAuthorizerInfoMapper.findList(record)); } + @Override + public PageInfo listVoAsPage(WxWeappInfo record, Integer pageIndex, Integer pageSize) { + return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxAuthorizerInfoMapper.findVoList(record)); + } + + @Override + public List getList(WxWeappInfo record) { + return wxAuthorizerInfoMapper.findVoList(record); + } + @Override public WxAuthorizerInfo getById(Long id) { return wxAuthorizerInfoMapper.selectByPrimaryKey(id); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxWeappCodeStatusServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxWeappCodeStatusServiceImpl.java index ba922ff47..22608bf60 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxWeappCodeStatusServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxWeappCodeStatusServiceImpl.java @@ -4,6 +4,7 @@ import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.iformall.common.IdWorker; import com.iformall.domain.po.WxWeappCodeStatus; +import com.iformall.enums.EnumAuditStatus; import com.iformall.mapper.WxWeappCodeStatusMapper; import com.iformall.service.WxWeappCodeStatusService; import org.springframework.beans.factory.annotation.Autowired; @@ -41,11 +42,11 @@ public class WxWeappCodeStatusServiceImpl implements WxWeappCodeStatusService { //record.setId(UUID.randomUUID().toString().replaceAll("-", "")); final IdWorker idWorker = IdWorker.get(); record.setId(idWorker.nextId()); - record.setCreateDate(new Date()); - record.setUpdateDate(new Date()); + record.setCreateTime(new Date()); + record.setUpdateTime(new Date()); wxWeappCodeStatusMapper.insertSelective(record); } else { - record.setUpdateDate(new Date()); + record.setUpdateTime(new Date()); wxWeappCodeStatusMapper.updateByPrimaryKeySelective(record); } } @@ -56,7 +57,9 @@ public class WxWeappCodeStatusServiceImpl implements WxWeappCodeStatusService { updateRecord.setId(record.getId()); updateRecord.setUserVersion(record.getUserVersion()); updateRecord.setCodeStatus(record.getCodeStatus()); - updateRecord.setUpdateDate(new Date()); + Date curDate = new Date(); + updateRecord.setUpdateTime(curDate); + updateRecord.setReleaseTime(curDate); wxWeappCodeStatusMapper.updateByPrimaryKeySelective(updateRecord); } @@ -65,7 +68,9 @@ public class WxWeappCodeStatusServiceImpl implements WxWeappCodeStatusService { WxWeappCodeStatus updateRecord = new WxWeappCodeStatus(); updateRecord.setId(record.getId()); updateRecord.setAuditStatus(record.getAuditStatus()); - updateRecord.setUpdateDate(new Date()); + Date curDate = new Date(); + updateRecord.setUpdateTime(curDate); + updateRecord.setAuditTime(curDate); wxWeappCodeStatusMapper.updateByPrimaryKeySelective(updateRecord); } @@ -74,7 +79,9 @@ public class WxWeappCodeStatusServiceImpl implements WxWeappCodeStatusService { WxWeappCodeStatus updateRecord = new WxWeappCodeStatus(); updateRecord.setId(record.getId()); updateRecord.setReleaseStatus(record.getReleaseStatus()); - updateRecord.setUpdateDate(new Date()); + Date curDate = new Date(); + updateRecord.setUpdateTime(curDate); + updateRecord.setReleaseTime(curDate); wxWeappCodeStatusMapper.updateByPrimaryKeySelective(updateRecord); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxWeappInfoServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxWeappInfoServiceImpl.java deleted file mode 100644 index 05052b684..000000000 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxWeappInfoServiceImpl.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.iformall.service.impl; - -import java.util.*; -import com.github.pagehelper.PageHelper; -import com.github.pagehelper.PageInfo; -import com.iformall.domain.po.WxWeappInfo; -import com.iformall.mapper.WxWeappInfoMapper; -import com.iformall.service.WxWeappInfoService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.iformall.common.IdWorker; - -@Service -public class WxWeappInfoServiceImpl implements WxWeappInfoService { - - @Autowired - WxWeappInfoMapper wxWeappInfoMapper; - - - @Override - public PageInfo listAsPage(WxWeappInfo record, Integer pageIndex, Integer pageSize) { - return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxWeappInfoMapper.findList(record)); - } - - @Override - public WxWeappInfo getById(Long id) { - return wxWeappInfoMapper.selectByPrimaryKey(id); - } - - @Override - public void saveOrUpdate(WxWeappInfo record) { - if (record.getId() == null) { - //record.setId(UUID.randomUUID().toString().replaceAll("-", "")); - final IdWorker idWorker = IdWorker.get(); - record.setId(idWorker.nextId()); - wxWeappInfoMapper.insertSelective(record); - } else { - wxWeappInfoMapper.updateByPrimaryKeySelective(record); - } - } - - @Override - public void deleteById(Long id) { - wxWeappInfoMapper.deleteByPrimaryKey(id); - } - - - - - - - - -} diff --git a/mallinkService/src/main/resources/mapper/WxAppinfoMapper.xml b/mallinkService/src/main/resources/mapper/WxAppinfoMapper.xml index ab0f42105..b852e2343 100644 --- a/mallinkService/src/main/resources/mapper/WxAppinfoMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxAppinfoMapper.xml @@ -36,7 +36,7 @@ - and `app_id` like concat('%', #{appId},'%') + and `app_id` = #{appId} and `parent_app_id` like concat('%', #{parentAppId},'%') diff --git a/mallinkService/src/main/resources/mapper/WxAuthorizerInfoMapper.xml b/mallinkService/src/main/resources/mapper/WxAuthorizerInfoMapper.xml index 83d76d678..36725c314 100644 --- a/mallinkService/src/main/resources/mapper/WxAuthorizerInfoMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxAuthorizerInfoMapper.xml @@ -8,11 +8,16 @@ + + + + + - `id`,`authorizer_appid`,`head_img`,`alias`,`qrcode_url`,`create_time`,`authorization_status` + `id`,`authorizer_appid`,`head_img`,`alias`,`qrcode_url`,`create_time`,`authorization_status`,`auth_time`,`current_version`,`current_desc`,`release_time` @@ -21,7 +26,7 @@ and `id` = #{id} - and `authorizer_appid` like concat('%', #{authorizerAppid},'%') + and `authorizer_appid` = #{authorizerAppid} and `head_img` like concat('%', #{headImg},'%') @@ -34,10 +39,25 @@ and `create_time` = #{createTime} - + + + and `update_time` = #{updateTime} + and `authorization_status` = #{authorizationStatus} - + + + and `auth_time` = #{authTime} + + + and `current_version` = #{currentVersion} + + + and `current_desc` like concat('%', #{currentDesc},'%') + + + and `release_time` = #{releaseTime} + and id in @@ -51,6 +71,61 @@ select from wx_authorizer_info + + + + + + + + + + + + + + + + + + + + + ai.`id`,ai.`authorizer_appid`,ai.`head_img`,ai.`alias`,ai.`qrcode_url`,ai.`create_time`,ai.`update_time`, + ai.`authorization_status`,ai.`auth_time`, + ai.`current_version`,ai.`current_desc`,ai.`release_time`, + a.`type`,a.`name` + + + + where 1 = 1 + + and ai.`id` = #{id} + + + and ai.`authorizer_appid` = #{authorizerAppid} + + + and a.`type` = #{type} + + + and ai.`current_version` = #{currentVersion} + + + and ai.id in + + #{idItem} + + + order by ${sortColumns} + + + diff --git a/mallinkService/src/main/resources/mapper/WxWeappInfoMapper.xml b/mallinkService/src/main/resources/mapper/WxWeappInfoMapper.xml deleted file mode 100644 index 5df9dd015..000000000 --- a/mallinkService/src/main/resources/mapper/WxWeappInfoMapper.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - - - - `id`,`app_id`,`type`,`current_version`,`current_desc`,`create_date`,`update_date` - - - - where 1 = 1 - - and `id` = #{id} - - - and `app_id` = #{appId} - - - and `type` = #{type} - - - and `name` = #{name} - - - and `current_version` like concat('%', #{currentVersion},'%') - - - and `current_desc` like concat('%', #{currentDesc},'%') - - - and `create_date` = #{createDate} - - - and `update_date` = #{updateDate} - - - and id in - - #{idItem} - - - order by ${sortColumns} - - - - - - - - - - diff --git a/mallinkWechatOpen/src/main/java/com/iformall/controller/WechatCalllbackController.java b/mallinkWechatOpen/src/main/java/com/iformall/controller/WechatCalllbackController.java index a5ac72f71..dff955b0f 100644 --- a/mallinkWechatOpen/src/main/java/com/iformall/controller/WechatCalllbackController.java +++ b/mallinkWechatOpen/src/main/java/com/iformall/controller/WechatCalllbackController.java @@ -2,10 +2,13 @@ package com.iformall.controller; import com.iformall.domain.po.WxAuthorizerInfo; import com.iformall.domain.po.WxComponentVerifyTicket; +import com.iformall.domain.po.WxWeappCodeStatus; +import com.iformall.enums.EnumAuditStatus; import com.iformall.enums.EnumWxAuthorizationInfoType; import com.iformall.enums.EnumWxAuthorizationStatus; import com.iformall.service.WxAuthorizerInfoService; import com.iformall.service.WxComponentVerifyTicketService; +import com.iformall.service.WxWeappCodeStatusService; import com.iformall.service.wechat.WxOpenService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -13,8 +16,10 @@ import me.chanjar.weixin.common.error.WxErrorException; import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage; import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; +import me.chanjar.weixin.open.api.WxOpenMaService; import me.chanjar.weixin.open.bean.message.WxOpenXmlMessage; import me.chanjar.weixin.open.bean.result.WxOpenAuthorizerInfoResult; +import me.chanjar.weixin.open.bean.result.WxOpenMaQueryAuditResult; import me.chanjar.weixin.open.bean.result.WxOpenQueryAuthResult; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; @@ -37,7 +42,7 @@ public class WechatCalllbackController extends BaseController { private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired - protected WxOpenService wxOpenService; + protected WxOpenService openService; @Autowired private WxComponentVerifyTicketService componentVerifyTicketService; @@ -45,6 +50,9 @@ public class WechatCalllbackController extends BaseController { @Autowired private WxAuthorizerInfoService authorizerInfoService; + @Autowired + private WxWeappCodeStatusService weappCodeStatusService; + @RequestMapping(value = "/notify", method = RequestMethod.POST) @ApiOperation("接收ticket回调") public Object receiveTicket(HttpServletRequest request) throws IOException { @@ -86,13 +94,13 @@ public class WechatCalllbackController extends BaseController { signature, encType, msgSignature, timestamp, nonce, resultxml); if (!StringUtils.equalsIgnoreCase("aes", encType) - || !wxOpenService.getWxOpenComponentService().checkSignature(timestamp, nonce, signature)) { + || !openService.getWxOpenComponentService().checkSignature(timestamp, nonce, signature)) { throw new IllegalArgumentException("非法请求,可能属于伪造的请求!"); } // aes加密的消息 WxOpenXmlMessage inMessage = WxOpenXmlMessage.fromEncryptedXml(resultxml, - wxOpenService.getWxOpenConfigStorage(), timestamp, nonce, msgSignature); + openService.getWxOpenConfigStorage(), timestamp, nonce, msgSignature); this.logger.debug("\n消息解密后内容为:\n{} ", inMessage.toString()); if(inMessage.getInfoType().equals(EnumWxAuthorizationInfoType.COMPONENT_VERIFY_TICKET.getMessage())) { // 保存component_verify_ticket @@ -108,10 +116,10 @@ public class WechatCalllbackController extends BaseController { inMessage.getInfoType().equals(EnumWxAuthorizationInfoType.UPDATEAUTHORIZED.getMessage()) ) { try { - WxOpenQueryAuthResult queryAuthResult = wxOpenService.getWxOpenComponentService().getQueryAuth(inMessage.getAuthorizationCode()); + WxOpenQueryAuthResult queryAuthResult = openService.getWxOpenComponentService().getQueryAuth(inMessage.getAuthorizationCode()); logger.info("getQueryAuth", queryAuthResult); - WxOpenAuthorizerInfoResult openAuthorizerInfoResult = wxOpenService.getWxOpenComponentService().getAuthorizerInfo( + WxOpenAuthorizerInfoResult openAuthorizerInfoResult = openService.getWxOpenComponentService().getAuthorizerInfo( queryAuthResult.getAuthorizationInfo().getAuthorizerAppid()); // save auth info authorizerInfoService.saveOrUpdate(new WxAuthorizerInfo(){ @@ -135,7 +143,7 @@ public class WechatCalllbackController extends BaseController { }); } try { - String out = wxOpenService.getWxOpenComponentService().route(inMessage); + String out = openService.getWxOpenComponentService().route(inMessage); this.logger.debug("\n组装回复信息:{}", out); } catch (WxErrorException e) { this.logger.error("notify", e); @@ -173,14 +181,14 @@ public class WechatCalllbackController extends BaseController { + " timestamp=[{}], nonce=[{}], requestBody=[\n{}\n] ", appId, openid, signature, encType, msgSignature, timestamp, nonce, resultxml); if (!StringUtils.equalsIgnoreCase("aes", encType) - || !wxOpenService.getWxOpenComponentService().checkSignature(timestamp, nonce, signature)) { + || !openService.getWxOpenComponentService().checkSignature(timestamp, nonce, signature)) { throw new IllegalArgumentException("非法请求,可能属于伪造的请求!"); } String out = ""; // aes加密的消息 WxMpXmlMessage inMessage = WxOpenXmlMessage.fromEncryptedMpXml(resultxml, - wxOpenService.getWxOpenConfigStorage(), timestamp, nonce, msgSignature); + openService.getWxOpenConfigStorage(), timestamp, nonce, msgSignature); logger.debug("\n消息解密后内容为:\n{} ", inMessage.toString()); // 全网发布测试用例 if (StringUtils.equalsAnyIgnoreCase(appId, "wx570bc396a51b8ff8", "wxd101a85aa106f53e")) { @@ -192,16 +200,16 @@ public class WechatCalllbackController extends BaseController { .fromUser(inMessage.getToUser()) .toUser(inMessage.getFromUser()) .build(), - wxOpenService.getWxOpenConfigStorage() + openService.getWxOpenConfigStorage() ); } else if (StringUtils.startsWith(inMessage.getContent(), "QUERY_AUTH_CODE:")) { String msg = inMessage.getContent().replace("QUERY_AUTH_CODE:", "") + "_from_api"; WxMpKefuMessage kefuMessage = WxMpKefuMessage.TEXT().content(msg).toUser(inMessage.getFromUser()).build(); - wxOpenService.getWxOpenComponentService().getWxMpServiceByAppid(appId).getKefuService().sendKefuMessage(kefuMessage); + openService.getWxOpenComponentService().getWxMpServiceByAppid(appId).getKefuService().sendKefuMessage(kefuMessage); } } else if (StringUtils.equals(inMessage.getMsgType(), "event")) { WxMpKefuMessage kefuMessage = WxMpKefuMessage.TEXT().content(inMessage.getEvent() + "from_callback").toUser(inMessage.getFromUser()).build(); - wxOpenService.getWxOpenComponentService().getWxMpServiceByAppid(appId).getKefuService().sendKefuMessage(kefuMessage); + openService.getWxOpenComponentService().getWxMpServiceByAppid(appId).getKefuService().sendKefuMessage(kefuMessage); } } catch (WxErrorException e) { logger.error("callback", e); @@ -209,11 +217,26 @@ public class WechatCalllbackController extends BaseController { } else { /**判断消息类型,调用对应的方法*/ switch (inMessage.getMsgType()){ - case "event": + case "event": { + switch (inMessage.getEvent()) { + case "weapp_audit_success": { // 审核成功 + updateAuditStatus(appId, true); + break; + } + case "weapp_audit_fail": { // 审核失败 + updateAuditStatus(appId, false); + break; + } + default: + break; + } + return "success"; + } case "text": - WxMpXmlOutMessage outMessage = wxOpenService.getWxOpenMessageRouter().route(inMessage, appId); + WxMpXmlOutMessage outMessage = openService.getWxOpenMessageRouter().route(inMessage, appId); if (outMessage != null) { - out = WxOpenXmlMessage.wxMpOutXmlMessageToEncryptedXml(outMessage, wxOpenService.getWxOpenConfigStorage()); + out = WxOpenXmlMessage.wxMpOutXmlMessageToEncryptedXml(outMessage, openService.getWxOpenConfigStorage()); + logger.info(out); } /* else { @@ -236,7 +259,19 @@ public class WechatCalllbackController extends BaseController { } } - logger.info(out); + return out; } + + private void updateAuditStatus(String appId, boolean success) { + WxWeappCodeStatus codeStatus = weappCodeStatusService.getByAppId(appId); + if(codeStatus != null) { + if(success) { + codeStatus.setAuditStatus(EnumAuditStatus.SUCCESS.getCode()); + } else { + codeStatus.setAuditStatus(EnumAuditStatus.FAIL.getCode()); + } + weappCodeStatusService.updateAuditStatus(codeStatus); + } + } } diff --git a/mallinkWechatOpen/src/main/java/com/iformall/controller/WxWeappInfoController.java b/mallinkWechatOpen/src/main/java/com/iformall/controller/WxWeappInfoController.java index 5a1a19fba..047eed213 100644 --- a/mallinkWechatOpen/src/main/java/com/iformall/controller/WxWeappInfoController.java +++ b/mallinkWechatOpen/src/main/java/com/iformall/controller/WxWeappInfoController.java @@ -13,6 +13,7 @@ import com.iformall.common.ErrorCode; import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.domain.po.*; +import com.iformall.domain.vo.WxWeappInfo; import com.iformall.enums.EnumAppType; import com.iformall.enums.EnumAuditStatus; import com.iformall.enums.EnumTemplateType; @@ -27,6 +28,7 @@ import me.chanjar.weixin.open.api.WxOpenMaService; import me.chanjar.weixin.open.bean.ma.WxMaOpenCommitExtInfo; import me.chanjar.weixin.open.bean.message.WxOpenMaSubmitAuditMessage; import me.chanjar.weixin.open.bean.result.WxOpenMaDomainResult; +import me.chanjar.weixin.open.bean.result.WxOpenMaQueryAuditResult; import me.chanjar.weixin.open.bean.result.WxOpenMaSubmitAuditResult; import me.chanjar.weixin.open.bean.result.WxOpenResult; import org.slf4j.Logger; @@ -49,7 +51,7 @@ public class WxWeappInfoController extends BaseController { private final Logger logger = LoggerFactory.getLogger(getClass()); @Autowired - private WxWeappInfoService weappInfoService; + private WxAuthorizerInfoService authorizerInfoService; @Autowired private WxWeappBasicSetService weappBasicSetService; @@ -78,10 +80,21 @@ public class WxWeappInfoController extends BaseController { public ResultData list(@ModelAttribute WxWeappInfo weappInfo, Integer pageNum, Integer pageSize) { logger.debug("[" + getIpAddr() + "] WxWeappController::list"); if (null == weappInfo) weappInfo = new WxWeappInfo(); - final PageInfo page = weappInfoService.listAsPage(weappInfo, pageNum, pageSize); + weappInfo.setSortColumns(WxAuthorizerInfo.Field.CurrentVersion_DESC); + final PageInfo page = authorizerInfoService.listVoAsPage(weappInfo, pageNum, pageSize); return new ResultData(page); } + @ApiOperation("列表接口") + @GetMapping("allist") + public ResultData getList(@ModelAttribute WxWeappInfo weappInfo) { + logger.debug("[" + getIpAddr() + "] WxWeappController::list"); + if (null == weappInfo) weappInfo = new WxWeappInfo(); + weappInfo.setSortColumns(WxAuthorizerInfo.Field.CurrentVersion_DESC); + final List list = authorizerInfoService.getList(weappInfo); + return new ResultData(list); + } + @ApiOperation(value = "APPs基础设置(服务器域名、业务域名、基础版本、微信模板)", notes = "{\"apps\":\"appid,appid\",\"type\":\"String\",\"deploy\":\"String\"}") @PostMapping("batchBasicSet") public ResultData batchSet(@RequestBody Map params) { @@ -298,6 +311,48 @@ public class WxWeappInfoController extends BaseController { } } + @ApiOperation(value = "批量审核查询", notes = "{\"apps\":\"appid,appid\"}") + @PostMapping("batchAuditQuery") + public ResultData batchAuditQuery(@RequestBody Map params) { + String appsStr = params.get("apps"); + // 逐一设置app配置 + String [] apps = appsStr.split(","); + for(String appId: apps) { + try { + WxOpenMaService openMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appId); + WxOpenMaQueryAuditResult openResult = openMaService.getLatestAuditStatus(); + logger.info(openResult.toString()); + if(openResult.isSuccess()) { + WxWeappCodeStatus codeStatus = weappCodeStatusService.getByAppId(appId); + if(codeStatus != null) { + // 审核状态,其中0为审核成功,1为审核失败,2为审核中,3已撤回 + switch (openResult.getStatus().intValue()) { + case 0: + codeStatus.setAuditStatus(EnumAuditStatus.SUCCESS.getCode()); + break; + case 1: + codeStatus.setAuditStatus(EnumAuditStatus.FAIL.getCode()); + break; + case 2: + codeStatus.setAuditStatus(EnumAuditStatus.AUDITING.getCode()); + break; + case 3: + codeStatus.setAuditStatus(EnumAuditStatus.UNDO.getCode()); + break; + default: + codeStatus.setAuditStatus(EnumAuditStatus.AUDITING.getCode()); + break; + } + weappCodeStatusService.updateAuditStatus(codeStatus); + } + } + } catch (WxErrorException e) { + logger.error(e.getMessage()); + } + } + return new ResultData(); + } + @ApiOperation(value = "批量审核撤回", notes = "{\"apps\":\"appid,appid\"}") @PostMapping("batchAuditCancel") public ResultData batchAuditCancel(@RequestBody Map params) {